כדי להטמיע פילוח, שזמין בממשק המשתמש של Google Ads כתפריט נפרד, צריך רק להוסיף את השדה המתאים לשאילתה ב-Google Ads API. לדוגמה, כשמוסיפים את segments.device
לשאילתה, נוצר דוח עם שורה לכל שילוב של מכשיר למשאב שצוין בסעיף FROM
, והערכים הסטטיסטיים (חשיפות, קליקים, המרות וכו') מתפצלים ביניהם.
בממשק המשתמש של Google Ads ניתן להשתמש רק בפלח אחד בכל פעם, אבל עם ה-API ניתן לציין מספר פלחים באותה שאילתה.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
התוצאות משליחת השאילתה הזו אל GoogleAdsService.SearchStream
ייראו בערך כך: מחרוזת ה-JSON הבאה:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
שימו לב שבתוצאה לדוגמה שלמעלה, המאפיינים של האובייקט הראשון והשני, כולל שם המשאב, זהים. החשיפות מפולחות לפי מכשיר, ולכן ניתן להחזיר שני אובייקטים או יותר עבור אותו קמפיין.
פילוח מרומז
כל דוח מפולח בהתחלה לפי המשאב שצוין בסעיף FROM
. השדה resource_name של המשאב בסעיף FROM
מוחזר והמדדים מפולחים לפיו, גם אם השדה resource_name לא נכלל באופן מפורש בשאילתה. לדוגמה, כשמציינים את הערך ad_group
כמשאב בסעיף FROM
, הערך של ad_group.resource_name
יוחזר באופן אוטומטי והמדדים יפולחו אליו באופן מפורש ברמת קבוצת המודעות.
לשאילתה הזו,
SELECT metrics.impressions
FROM ad_group
תתקבל מחרוזת JSON כמו זו:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
שימו לב שהשדה resource_name
של adGroup
תמיד מוחזר כי ad_group
צוין כמשאב בסעיף FROM
.
שדות פלחים שניתן לבחור
לא ניתן לבחור את כל שדות הפלח למשאב נתון בסעיף FROM
.
לדוגמה, נמשיך להריץ שאילתות מהמשאב ad_group
. כדי שאפשר יהיה לבחור שדה פלח מהמשאב ad_group, הוא צריך להיות קיים ברשימה Segments
של ad_group. הרשימה Segments
היא החלק הצהוב של טבלת השדות הזמינים בדף המטא-נתונים של המשאב ad_group
.
פילוח משאבים
כשבוחרים מתוך משאבים מסוימים, יכול להיות שתהיה אפשרות לאחד
ממשאבים קשורים באופן מרומז על ידי בחירת השדות שלהם לצד השדות של
המשאב בסעיף FROM
. המשאבים הקשורים האלה נמצאים ברשימה Attributed Resources
של המשאב בדף המטא-נתונים של הסעיף FROM
. במקרה של המשאב ad_group
, תראו
שאפשר גם לבחור שדות מהמשאב campaign
. השדה resource_name בכל Attributed Resources
שמכיל לפחות שדה אחד בסעיף SELECT
יוחזר באופן אוטומטי, גם אם השדה resource_name לא נכלל באופן מפורש בשאילתה.
בדומה לבחירת שדות Attributed Resource
, ניתן לך גם לבחור Segmenting Resource
שדות. אם למשאב נתון יש רשימת Segmenting Resources
בדף המטא-נתונים שלו, בחירת שדות מאחד מהמשאבים המפורטים בהמשך תגרום לפילוח נוסף של השאילתה לפי ערך resource_name שמוחזר ב-Segmenting Resource
. לדוגמה, יכול להיות שהמשאב campaign
רשום בתור Segmenting Resource
במשאב campaign_budget
. בחירה של שדה קמפיין כלשהו, למשל campaign.name
, מהמשאב campaign_budget לא רק תגרום להחזרה של השדה campaign.name, אלא גם תוביל להחזרת השדה campaign.resource_name
ולפילוח שלו.
אפשרות בחירה בין פלחים ומדדים
יכול להיות ששדה נתון של פלח לא תואם לחלק מהשדות האחרים של הפלח, או לחלק משדות המדדים. כדי לזהות אילו שדות פלחים תואמים זה לזה, אפשר לעיין ברשימת selectable_with
של הפלחים בסעיף SELECT
.
במשאב ad_group
יש יותר מ-50 פלחים זמינים שאפשר לבחור. עם זאת, הרשימה selectable_with
של segments.hotel_check_in_date
היא קבוצה קטנה בהרבה של פלחים תואמים. המשמעות היא שאם תוסיפו את השדה segments.hotel_check_in_date
לסעיף SELECT
, תגבילו את הפלחים הזמינים שנותרו לבחירתכם להצטלבות של שתי הרשימות האלה.
- כשמוסיפים פלחים מסוימים, המדדים בשורת הסיכום עשויים לרדת
- כשמוסיפים את
segments.keyword.info.match_type
לשאילתה עםFROM ad_group_ad
, הפלח הזה מורה לשאילתה רק לקבל את שורות הנתונים שיש בהן מילות מפתח, ולהסיר שורה שאינה משויכת למילת מפתח. במקרה זה, הערכים יהיו נמוכים יותר מפני שהוא לא יכלול ערכים שאינם מילות מפתח.
כללים לפלחים בסעיף WHERE
כשקטע נמצא בסעיף WHERE
, הוא חייב להופיע גם בסעיף SELECT
. היוצאים מן הכלל לכלל הזה הם פלחי התאריכים הבאים, שנקראים פלחי תאריך ליבה:
segments.date
segments.week
segments.month
segments.quarter
segments.year
כללים לשדות של פלחי תאריך ליבה
הפלחים segments.date
, segments.week
, segments.month
, segments.quarter
, ו-segments.year
פונקציות באופן הבא:
אפשר לסנן את הפלחים האלה בסעיף
WHERE
בלי שהם יופיעו בסעיףSELECT
.אם אחד מהפלחים האלה מופיע בסעיף
SELECT
, יש לציין טווח תאריכים סופי שמורכב מפלחי תאריך ליבה בסעיףWHERE
(פלחי התאריכים לא צריכים להיות זהים לאלה שצוינו ב-SELECT
).
דוגמאות
לא חוקי: מכיוון ש-segments.date כלול בסעיף SELECT , עליך לציין טווח תאריכים סופי בסעיף WHERE עבור segments.date , segments.week , segments.month , segments.quarter או segments.year .
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
חוקי: השאילתה הזו מחזירה שמות של קמפיינים וקליקים שנצברו בטווח התאריכים. שימו לב ש-segments.date לא צריך להופיע בסעיף SELECT .
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
חוקי: השאילתה מחזירה שמות של קמפיינים וקליקים בפילוח לפי תאריך לכל הימים בטווח התאריכים. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
חוקי: השאילתה הזו מחזירה שמות של קמפיינים וקליקים בפילוח לפי חודש לכל הימים בטווח התאריכים. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
חוקי: השאילתה הזו מחזירה שמות של קמפיינים וקליקים בפילוח לפי רבעון, ולאחר מכן לפי חודש לכל החודשים בטווח השנים. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2015 AND segments.year < 2020 |
search_term_view
שימו לב שלמשאב search_term_view
הוא מפולח גם באופן מרומז לפי קבוצת מודעות, ולא רק לפי מונח חיפוש, בהתאם למבנה של שם המשאב, שכולל גם קבוצת מודעות. לכן, בפועל יופיעו שורות כפולות עם מונחי חיפוש זהים לאלה שמופיעים בתוצאות, כשהשורות היו שייכות לקבוצת מודעות אחרת:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2015-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2015-06-15"
}
}
]
}
למרות ששני האובייקטים המוחזרים בדוגמה זו נראים זהים, שמות המשאבים שלהם שונים בפועל, במיוחד בחלק של 'קבוצת מודעות'. פירוש הדבר הוא שמונח החיפוש 'Google Photos' מיוחס לשתי קבוצות המודעות (מזהה 2222222222
ו-33333333333
) באותו התאריך (15.6.2015).
כך אפשר להסיק שה-API פעל כמצופה ולא החזיר אובייקטים כפולים במקרה הזה.