פילוח

הפילוח זמין בממשק המשתמש של 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, תגבילו את הפלחים שנותרו לבחירה לחיתוך של שתי הרשימות האלה.

סינון משתמע לפי בחירת פלח

כשבוחרים שדות פלח מסוימים בשאילתה, יכול להיות ש-Google Ads API יסנן את התוצאות באופן מרומז כך שיכללו רק שורות שבהן הפלח רלוונטי ויש לו ערך.

ההשפעה של segments.keyword.*

דוגמה נפוצה וחשובה להתנהגות הזו מתרחשת כשבוחרים שדה כלשהו בקטע segments.keyword (למשל segments.keyword.info.text ו-segments.keyword.ad_group_criterion).

  • החרגה של תנועה שלא קשורה למילות מפתח: אם כוללים segments.keyword.*שדה כלשהוSELECT בסעיף, התוצאות יוגבלו לשורות שקשורות ישירות לקריטריון של קבוצת מודעות של מילת מפתח ברשת החיפוש.
  • סוגי הקמפיינים שמושפעים: כתוצאה מכך, נתונים מסוגי קמפיינים או מקבוצות של מודעות שלא מסתמכים על מילות מפתח לרשת החיפוש מוחרגים מהתוצאות. האיסור הזה כולל, בין היתר:

    • מודעות דינמיות לרשת החיפוש (DSA): הסיבה לכך היא שיעדי DSA מבוססים על תוכן האתר ולא על מילות מפתח.
    • קמפיינים של שופינג: בקמפיינים האלה נעשה שימוש בקבוצות מוצרים במקום במילות מפתח.
    • קמפיינים למיקסום הביצועים: למרות שהקמפיינים למיקסום הביצועים יכולים להציג מודעות ברשת החיפוש, בדרך כלל הדוחות שלהם לא מפולחים לפי אותם קריטריונים של מילות מפתח.
  • רשת המדיה: השדות segments.keyword.* מתייחסים למילות מפתח שמשמשות ברשת החיפוש. הם לא מחולקים לפלחים לפי מילות מפתח לרשת המדיה או לפי שיטות טירגוט אחרות לרשת המדיה.

שיטה מומלצת: אם הניתוח צריך לכלול נתוני ביצועים מקמפיינים של מודעות לרשת החיפוש הדינמי, קמפיינים של שופינג או מקורות אחרים שלא מבוססים על מילות מפתח לחיפוש, אל תכללו בשאילתה שדות מ-segments.keyword.*. מומלץ לנתח את הנתונים בכל סוגי הקמפיינים, ורק לאחר מכן להחיל פילוח של מילות מפתח כשמתמקדים בביצועים של מילות מפתח לרשת החיפוש.

כללים לפלחים במשפט 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 > '2024-01-01'
  AND segments.date < '2024-02-01'
תקינה: השאילתה הזו מחזירה את שמות הקמפיינים ואת הקליקים, מפולחים לפי תאריך לכל הימים בטווח התאריכים.
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
WHERE segments.date > '2024-01-01'
  AND segments.date < '2024-02-01'
תקפה: השאילתה הזו מחזירה את שמות הקמפיינים ואת נתוני הקליקים, מפולחים לפי חודש לכל הימים בטווח התאריכים.
SELECT
  campaign.name,
  metrics.clicks,
  segments.month
FROM campaign
WHERE segments.date > '2024-01-01'
  AND segments.date < '2024-02-01'
תקין: השאילתה הזו מחזירה את שמות הקמפיינים ואת הקליקים, מפולחים לפי רבעון ואז לפי חודש, לכל החודשים בטווח השנים.
SELECT
  campaign.name,
  metrics.clicks,
  segments.quarter,
  segments.month
FROM campaign
WHERE segments.year > 2019
  AND segments.year < 2024

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 פעל כמצופה ולא החזיר אובייקטים כפולים במקרה הזה.