אפשר לשלוח שאילתות על שדות של משאבים, פלחים ומדדים לשיטות GoogleAdsService
חיפוש או SearchStream. כדי ליצור שאילתה בשפת השאילתות של Google Ads, צריך ליצור אותה באמצעות הדקדוק של השפה. השאילתה מורכבת מכמה סעיפים:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
הסעיפים משתמשים בשמות שדות, שמות משאבים, אופרטורים, תנאים וסידורים כדי לעזור לכם לבחור את הנתונים הנכונים. לאחר השילוב לשאילתה יחידה, ניתן לשלוח בקשה באמצעות Google Ads API.
סעיפים
SELECT
הסעיף SELECT
מציין קבוצה של שדות לבקשה בבקשה.
הפונקציה SELECT
מחזירה רשימה מופרדת בפסיקים של שדות משאבים, שדות פלחים ומדדים, ומחזירה את הערכים בתגובה. הסעיף SELECT
הוא חובה בשאילתה.
השאילתה לדוגמה הבאה מציגה דוגמה לבחירת מאפיינים למשאב נתון:
SELECT
campaign.id,
campaign.name
FROM campaign
בבקשה אחת אפשר לבקש סוגי שדות שונים, לדוגמה:
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
שדות משאבים
campaign.id
campaign.name
שדות משאבים
bidding_strategy.id
bidding_strategy.name
שדות פילוח
segments.device
segments.date
מדדים
metrics.impressions
metrics.clicks
יכול להיות שחלק מהשדות לא מותרים לשימוש בסעיף SELECT
בגלל המגבלות הבאות:
- שדות שאילתה שלא ניתן לבחור בהם. שדות המטא-נתונים
Selectable
שלהם יסומנו בתורfalse
. - בחירת מאפיינים של שדות חוזרים. שדות המטא-נתונים
isRepeated
שלהם יסומנו בתורtrue
. - בחירת שדות שלא זמינים למשאב הנתון במשפט
FROM
. אי אפשר לבחור מאפיינים של חלק מהמשאבים ביחד, אבל רק קבוצת משנה של כל המדדים והפלחים תהיה זמינה למשאב בסעיףFROM
. - בחירה בפלחים או במדדים שלא תואמים זה לזה. למידע נוסף בנושא, קראו את קטע הפילוח.
מידע שקשור לתנאים שלמעלה זמין במסמכי העזר שלנו או ב-GoogleAdsFieldService
.
FROM
הסעיף FROM
מציין את המשאב הראשי שיוחזר. המשאב בסעיף FROM
מגדיר באילו שדות אפשר להשתמש בכל הסעיפים האחרים בשאילתה הנתונה. ניתן לציין רק משאב אחד בסעיף FROM
. התנאי FROM
הוא חובה בשאילתה בשיטות GoogleAdsService
חיפוש או SearchStream, אבל לא צריך לציין אותו כשמשתמשים בשיטה GoogleAdsFieldService
.
למרות שרק משאב אחד יכול להתקיים בסעיף FROM
לשאילתה נתונה, ייתכן שגם שדות ממשאבים מיוחסים יהיו זמינים. המשאבים האלה מצורפים באופן מפורש למשאב בסעיף FROM
, כך שצריך רק להוסיף את המאפיינים שלהם לסעיף SELECT
על מנת להחזיר את הערכים שלהם. לא לכל המשאבים יש משאבים עם שיוך בדוגמה הבאה תוכלו לבקש גם את מזהה קבוצת המודעות וגם את מזהה הקמפיין מקבוצות המודעות:
SELECT
campaign.id,
ad_group.id
FROM ad_group
השדה resource_name
של המשאב הראשי תמיד מוחזר.
בדוגמה הבאה, ad_group.resource_name
ייכלל בתשובה למרות שלא נבחר במפורש בשאילתה:
SELECT ad_group.id
FROM ad_group
הדבר נכון גם לגבי משאבים אחרים כשבוחרים לפחות שדה אחד.
לדוגמה: הערך campaign.resource_name
ייכלל בתשובה של השאילתה הבאה:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE
בסעיף WHERE
מצוינים תנאים שיחולו כשמסננים נתונים עבור הבקשה. כשמשתמשים בסעיף WHERE
, אפשר לציין תנאי אחד או יותר באמצעות AND
כדי להפריד ביניהם. כל תנאי צריך להיות תואם לדפוס field_name Operator value
. הסעיף WHERE
הוא אופציונלי בשאילתה.
הדוגמה הבאה היא לשימוש ב-WHERE
כדי להחזיר מדדים מתקופת זמן נתונה:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
אפשר לשלב כמה תנאים כדי לסנן את הנתונים. בדוגמה הזו תוצג בקשה למספר הקליקים בכל הקמפיינים שהיו להם חשיפות בנייד ב-30 הימים האחרונים.
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
פלחים בסעיף WHERE
חייבים להיות בסעיף SELECT
, למעט פלחי התאריכים הבאים, שנקראים קטעי תאריך ליבה, למעט חריגים:
segments.date
segments.week
segments.month
segments.quarter
segments.year
בשאילתה הבאה, שימו לב שהשדה segments.date
נבחר.
הפלח הזה הוא פלח תאריכים מרכזי, ולכן יש לספק טווח תאריכים סופי שמורכב מפלחי תאריך ליבה בסעיף WHERE
.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
כל הפלחים שעומדים בתנאי שלמעלה הם: segments.date , segments.week, segments.month, segments.quarter ו-segment.year. אם אחד מהפלחים האלה נבחר, יש להשתמש לפחות באחד מהם בסעיף WHERE
.
כשאתם מסננים, חשוב להביא בחשבון את התלות באותיות רישיות (case-sensitive) של האופרטור. מידע נוסף זמין במאמר תלות באותיות רישיות.
לרשימה מלאה של האופרטורים, אפשר לעיין בדקדוק השפה.
ORDER BY
הסעיף ORDER BY
מציין את הסדר שבו התוצאות יוחזרו. כך תוכלו לסדר את הנתונים בסדר עולה או יורד לפי שם של שדה. כל סידור מצוין כך: field_name
ואחריו ASC
או DESC
. אם לא מציינים ASC
וגם לא DESC
, ברירת המחדל של ההזמנה היא ASC
. הסעיף ORDER BY
הוא אופציונלי בשאילתה.
השאילתה הבאה מסדרת את הקמפיינים המוחזרים לפי מספר הקליקים מהגבוה לנמוך:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
אפשר לציין כמה שדות בסעיף ORDER BY
באמצעות רשימה שמופרדת בפסיקים. הסדר יתבצע באותו רצף שצוין בשאילתה.
לדוגמה, בשאילתה הזו כשבוחרים נתוני קבוצת מודעות, התוצאות ממוינות בסדר עולה לפי שם הקמפיין, אחר כך בסדר יורד לפי מספר החשיפות, ובסדר יורד לפי מספר הקליקים:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
הגבלה
הסעיף LIMIT
מאפשר לציין את מספר התוצאות שיש להחזיר.
האפשרות הזו שימושית אם רוצים רק סיכום.
לדוגמה, אפשר להשתמש ב-LIMIT
כדי להגביל את המספר הכולל של התוצאות לשאילתה הבאה:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
פרמטרים
הסעיף PARAMETERS
מאפשר לציין מטא-פרמטרים של הבקשה.
הפרמטרים האלה עשויים להשפיע על סוגי השורות שיוחזרו.
בשלב זה, יש תמיכה במטא-פרמטרים הבאים:
include_drafts
יש להגדיר את include_drafts
לערך true
כדי לאפשר החזרה של ישויות של טיוטה.
ברירת המחדל היא false
.
לדוגמה, השאילתה הבאה מאחזרת טיוטות של קמפיינים יחד עם קמפיינים רגילים:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
מגדירים את omit_unselected_resource_names
לערך true
כדי למנוע החזרה של שם המשאב של כל סוג משאב בתגובה, אלא אם צוין אחרת במפורש בסעיף SELECT
. ברירת המחדל היא false
.
omit_unselected_resource_names דוגמאות | |
---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources:campaign.resource_name
הערך של omit_unselected_resource_names מוגדר כברירת מחדל בתור false , ולכן
מוחזרים כל השדות של resource_name.
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resources: אין. omit_unselected_resource_names צוין כ-true
ו-campaign.resource_name וגם customer.resource_name
אינם חלק מהסעיף SELECT .
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resource:campaign.resource_name
omit_unselected_resource_names צוין כ-true
והבקשה campaign.resource_name נשלחה כחלק
מהסעיף SELECT .
|
כללי שפה נוספים
בנוסף לדוגמאות לכל סעיף, שפת השאילתות של Google Ads כוללת את ההתנהגויות הבאות:
לא חובה ששדה המשאב הראשי יופיע בסעיף
SELECT
של שאילתה. לדוגמה, יכול להיות שתרצו להשתמש רק בשדה משאב ראשי אחד או יותר כדי לסנן נתונים:SELECT campaign.id FROM ad_group WHERE ad_group.status = PAUSED
ניתן לבחור מדדים אך ורק למשאב נתון. לא נדרשים שדות אחרים מהמשאב בשאילתה:
SELECT metrics.impressions, metrics.clicks, metrics.costMicros FROM campaign
אפשר לבחור שדות פילוח ללא שדות או מדדים נלווים של משאבים:
SELECT segments.device FROM campaign
אפשר להשתמש בשדה
resource_name
(campaign.resource_name
, למשל) כדי לסנן או לסדר את הנתונים:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'