הפילוח זמין בממשק המשתמש של 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 והמדדים מפולחים באופן משתמע לפי המשאב הזה ברמת ad_group.
לכן, בשאילתה הזו:
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.
search_term_view
המשאב search_term_view מפולח באופן מובלע גם לפי קבוצת מודעות, ולא רק לפי מונח חיפוש, כפי שמשתקף במבנה של שם המשאב, שכולל גם את קבוצת המודעות.
לכן, יכול להיות שיופיעו בתוצאות שורות כפולות לכאורה עם אותם מונחי חיפוש, כשהשורות האלה שייכות לקבוצות שונות של מודעות:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2024-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2024-06-15"
}
}
]
}
למרות ששני האובייקטים שמוחזרים בדוגמה הזו נראים זהים, שמות המשאבים שלהם שונים, במיוחד בחלק של מזהה קבוצת המודעות.
כלומר, מונח החיפוש "google photos" משויך לשתי קבוצות של מודעות (מזהה 2222222222 ו-33333333333) באותו תאריך (2024-06-15). לכן, ה-API פעל כמצופה ולא החזיר אובייקטים כפולים במקרה הזה.
שדות פילוח שאפשר לבחור
אי אפשר לבחור את כל שדות הפלחים של משאב מסוים בסעיף 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, מגבילים את הפלחים הזמינים שנותרו לבחירה לחיתוך של שתי הרשימות האלה.
אילוצים משותפים של פלחים
בחלק מהשדות של הפלחים יש אילוצי בחירה מפורשים, שמחייבים לבקש אותם לצד פלח הורה בסעיף SELECT:
- אם בוחרים באפשרות
segments.ad_sub_network_type(שמפרטת את רשתות המשנה של מודעות YouTube, כמו מודעות וידאו In-stream, מודעות בגוף הפיד ו-Shorts), צריך לבחור גם באפשרותsegments.ad_network_type. - בגרסה 25 ואילך, אם בוחרים באפשרות
segments.ad_sub_format_type(שמפרטת את מודעות הווידאו In-stream שלא ניתן לדלג עליהן ב-YouTube לפי משך הזמן), צריך לבחור גם באפשרותsegments.ad_format_type.
סינון מובלע לפי בחירת פלחים
כשבוחרים שדות מסוימים של פלחים בשאילתה, יכול להיות ש-Google Ads API יסנן את התוצאות באופן משתמע, כך שהן יכללו רק שורות שבהן הפלח הזה רלוונטי ויש לו ערך.
ההשפעה של segments.keyword.*
דוגמה נפוצה וחשובה להתנהגות הזו מתרחשת כשבוחרים שדה כלשהו בקטע segments.keyword (כמו segments.keyword.info.text ו-segments.keyword.ad_group_criterion):
- החרגה של תנועה שלא קשורה למילות מפתח: אם כוללים שדה
segments.keyword.*בסעיףSELECT, התוצאות מוגבלות רק לשורות שמשויכות ישירות לקריטריון של קבוצת מודעות עם מילות מפתח לרשת החיפוש. - סוגי הקמפיינים המושפעים: כתוצאה מכך, נתונים מסוגי קמפיינים או מקבוצות של מודעות שלא מסתמכים על מילות מפתח לרשת החיפוש מוחרגים מהתוצאות.
זה כולל, בין היתר:
- מודעות דינמיות לרשת החיפוש (DSA): כי היעדים של מודעות דינמיות לרשת החיפוש מבוססים על תוכן האתר ולא על מילות מפתח.
- קמפיינים של שופינג: קמפיינים שבהם משתמשים בקבוצות מוצרים במקום במילות מפתח.
- קמפיינים למיקסום הביצועים: יכול להיות שהמודעות בקמפיינים למיקסום הביצועים יוצגו ברשת החיפוש, אבל בדרך כלל הדוחות שלהם לא מפולחים לפי אותם קריטריונים של מילות מפתח.
- רשת המדיה: השדות
segments.keyword.*מתייחסים למילות מפתח המשמשות ברשת החיפוש. הם לא מחולקים לפלחים לפי מילות מפתח ברשת המדיה או שיטות טירגוט אחרות לרשת המדיה.
כללים לפלחים בסעיף WHERE
כשפלח נמצא בסעיף WHERE, הוא חייב להיות גם בסעיף SELECT.
היוצאים מן הכלל הם הפלחים הבאים, שנקראים פלחים יסודיים מבוססי-זמן:
segments.datesegments.weeksegments.monthsegments.quartersegments.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 >= '2024-01-01' AND segments.date <= '2024-01-31' |
| תקין: השאילתה הזו מחזירה שמות של קמפיינים וקליקים מפולחים לפי תאריך לכל הימים בטווח התאריכים הכולל. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| תקינה: השאילתה הזו מחזירה שמות של קמפיינים וקליקים מפולחים לפי חודש לכל הימים בטווח התאריכים הכולל. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| תקינה: השאילתה הזו מחזירה שמות של קמפיינים וקליקים מפולחים לפי רבעון ואז לפי חודש, לכל החודשים בטווח השנים שצוין. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year >= 2020 AND segments.year <= 2024 |