שפת השאילתות של Google Ads

מונחים חשובים

משאב
ישות ב-Google Ads, כמו campaign או ad_group.
Segment
מאפיין שמשמש לקיבוץ נתונים, כמו segments.date או segments.device. כשפלחים נכללים בסעיף SELECT עם מדדים, המדדים מפוצלים לפי פלח.
מדד
מדד ביצועים, כמו metrics.impressions או metrics.clicks.
משאב עם ייחוס
משאב שמצורף באופן מרומז לסעיף FROM של המשאב הראשי, ומאפשר לכם לבחור את המאפיינים שלו יחד עם המאפיינים של המשאב הראשי.

שליחת שאילתה למידע על משאב או מטא-נתונים

אפשר להשתמש בשפת השאילתות של Google Ads כדי לשלוח שאילתות ל-Google Ads API לגבי סוגי המידע הבאים:

  • משאבים והמאפיינים, הפלחים והמדדים שקשורים אליהם באמצעות GoogleAdsServiceSearch או SearchStream: התוצאה של שאילתה ב-GoogleAdsService היא רשימה של מופעי GoogleAdsRow, כאשר כל מופע GoogleAdsRow מייצג משאב.

    אם מבקשים מאפיינים או מדדים, השורה כוללת גם את השדות האלה. אם מתבקשים פלחים כלשהם, התגובה מציגה גם שורה נוספת לכל טופל של משאב-פלח.

  • מטא-נתונים על השדות והמשאבים שזמינים ב-GoogleAdsFieldService: השירות הזה מספק קטלוג של שדות שאפשר להריץ עליהם שאילתות, עם פרטים ספציפיים לגבי התאימות והסוג שלהם.

    התוצאה של שאילתת GoogleAdsFieldService היא רשימה של מופעי GoogleAdsField, כאשר כל GoogleAdsField מכיל פרטים על השדה המבוקש.

פרטים נוספים על מבנה השאילתה זמינים במאמרים בנושא מבנה השאילתה ודקדוק שפת השאילתות של Google Ads.

שאילתה לגבי מאפייני משאבים

הנה דוגמה לשאילתה בסיסית למאפיינים של משאב הקמפיין שממחישה איך להחזיר את המזהה, השם והסטטוס של הקמפיין:

SELECT
  campaign.id,
  campaign.name,
  campaign.status
FROM campaign
ORDER BY campaign.id

השאילתה הזו מסודרת לפי מזהה הקמפיין. כל GoogleAdsRow שמתקבל מייצג אובייקט campaign שמלא בשדות שנבחרו, כולל resource_name הקמפיין.

כדי לברר אילו שדות אחרים זמינים לשאילתות לגבי קמפיינים, אפשר לעיין במסמכי העזרה של Campaign.

שאילתה למדדים

בנוסף לתכונות שנבחרו למשאב מסוים, אפשר גם לשלוח שאילתה לגבי מדדים קשורים:

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
ORDER BY campaign.id

השאילתה הזו מסננת רק את הקמפיינים שהסטטוס שלהם הוא PAUSED ושקיבלו יותר מ-1,000 חשיפות, וממיינת אותם לפי מזהה הקמפיין. בכל GoogleAdsRow שמתקבל יאוכלס השדה metrics עם המדדים שנבחרו.

רשימה של מדדים שאפשר להריץ עליהם שאילתות מופיעה Metricsבמאמרי העזרה.

שאילתה לפלחים

בנוסף למאפיינים שנבחרו למשאב מסוים, אפשר גם לשלוח שאילתה לגבי פלחים קשורים:

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions,
  segments.date,
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
  AND segments.date during LAST_30_DAYS
ORDER BY campaign.id

בדומה לשאילתות של מדדים, השאילתה הזו מסננת רק את הקמפיינים שהסטטוס שלהם הוא PAUSED ושקיבלו יותר מ-1,000 חשיפות. עם זאת, השאילתה הזו מפלח את הנתונים לפי תאריך. כתוצאה מכך, כל ערך GoogleAdsRow שמתקבל מייצג טאפל של קמפיין והתאריך Segment. פילוח מפצל את המדדים שנבחרו ומקבץ אותם לפי כל פלח במשפט SELECT.

רשימה של פלחים שאפשר להריץ עליהם שאילתות זמינה במאמרי העזרה בנושא Segments.

בשילוב עם שאילתה למשאב נתון, יכול להיות שתוכלו להצטרף למשאבים קשורים אחרים אם הם זמינים. מקורות המידע האלה נקראים "מקורות מידע משויכים". אתם יכולים להצטרף למשאבים שמשויכים באופן מרומז על ידי בחירת מאפיין בשאילתה.

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  bidding_strategy.name
FROM campaign
ORDER BY campaign.id

השאילתה הזו לא רק בוחרת מאפייני קמפיין, אלא גם שולפת מאפיינים קשורים מכל קמפיין שנבחר. כל GoogleAdsRow שמתקבל מייצג אובייקט campaign שמכיל את מאפייני הקמפיין שנבחרו, וגם את מאפיין שיטת הבידינג שנבחר bidding_strategy.name.

כדי לדעת אילו משאבים משויכים זמינים לשאילתות של קמפיינים, אפשר לעיין במסמכי העזרה של Campaign.

שיטות מומלצות

  • כדי למנוע זמני תגובה ארוכים ופסק זמן, בוחרים רק את השדות שצריך.
  • כדי להימנע מעיבוד של מערכי תוצאות גדולים, כדאי להשתמש ב-LIMIT במהלך הפיתוח והבדיקה.
  • כדי לצמצם את העברת הנתונים ואת גודל התגובה, כדאי להחיל מסננים בסעיף WHERE.
  • כדאי להשתמש ב-GoogleAdsFieldService כדי לבדוק את התאימות של השדות ואת סוגי הנתונים לפני שיוצרים שאילתות מורכבות.
  • חשוב לזכור שחלק מהשדות, במיוחד אלה שכוללים כמויות גדולות של נתונים או חישובים מורכבים, עלולים להגדיל את עלות השאילתה.

שינוי על סמך תוצאות השאילתה

כשמבצעים שאילתה לגבי משאב מסוים, אפשר לקחת את התוצאות שמוחזרות כאובייקטים, לשנות אותן ולשלוח אותן בחזרה לשיטת השינוי בשירות של אותו משאב. דוגמה לתהליך עבודה: ‫1. מריצים שאילתה לכל הקמפיינים שמוגדרים כרגע במצב PAUSED ושמספר החשיפות שלהם גדול מ-1,000. 1. מקבלים את האובייקט Campaign מהשדה campaign של כל GoogleAdsRow בתשובה. 1. משנים את הסטטוס של כל קמפיין מPAUSED לENABLED. 1. מתקשרים אל CampaignService.MutateCampaigns עם הקמפיינים שרוצים לעדכן.

מטא-נתונים של שדות

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

SELECT
  name,
  category,
  selectable,
  filterable,
  sortable,
  selectable_with,
  data_type,
  is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"

אפשר להחליף את <INSERT_RESOURCE_OR_FIELD> בשאילתה הזו במשאב (כמו customer או campaign) או בשדה (כמו campaign.id,‏ metrics.impressions או ad_group.id).

רשימה של השדות שאפשר להריץ עליהם שאילתות מופיעה במסמכי התיעוד של GoogleAdsField.

דוגמאות לקוד

ספריות הלקוח כוללות דוגמאות לשימוש בשפת השאילתות של Google Ads ב-GoogleAdsService. בתיקייה basic operations יש דוגמאות כמו GetCampaigns, GetKeywords ו-SearchForGoogleAdsFields.