אפשר לשלוח שאילתות לשדות של משאבים, פלחים ומדדים לשיטות Search או SearchStream של GoogleAdsService
. כדי ליצור שאילתות בשפת השאילתות של 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
Search או 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 ו-segments.year. אם אחד מהפלחים האלה נבחר, צריך להשתמש לפחות באחד מהם בפסקה WHERE
.
כשמסננים, חשוב לזכור שהאופרטור תלוי אותיות רישיות. פרטים נוספים זמינים במאמר רגישות לאותיות רישיות.
הרשימה המלאה של האופרטורים מופיעה בדקדוק של השפה.
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
מאפשר לציין את מספר התוצאות שיוחזרו.
האפשרות הזו שימושית אם אתם מתעניינים רק בסיכום.
לדוגמה, אפשר להשתמש ב-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.cost_micros 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'