אפשר לשלוח שאילתות לגבי שדות של משאבים, פלחים ומדדים אל ה-method GoogleAdsService Search או SearchStream. כדי ליצור שאילתה בשפת השאילתות של Google Ads, צריך להשתמש בדקדוק של השפה. לסקירה כללית על שפת השאילתות של Google Ads, אפשר לעיין בסקירה הכללית על שפת השאילתות של Google Ads. שאילתה מורכבת מכמה פסוקיות:
SELECTFROMWHEREORDER BYLIMITPARAMETERS
הפסוקיות כוללות שמות של שדות, שמות של משאבים, אופרטורים, תנאים וסדרים, כדי לעזור לכם לבחור את הנתונים הנכונים. אחרי שמשלבים אותם לשאילתה אחת, אפשר לשלוח את הבקשה ל-Google Ads API.
סעיפים
בקטעים הבאים מתוארים המטרה והתחביר של כל פסוקית בשפת השאילתות של Google Ads.
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.idcampaign.name
- שדות של משאבים משויכים
bidding_strategy.idbidding_strategy.name
- שדות פילוח
segments.devicesegments.date
- מדדים
metrics.impressionsmetrics.clicks
- שליחת שאילתות לגבי שדות שלא ניתן לבחור. מאפיין המטא-נתונים
selectableשל השדות האלה מסומן כ-false. - בחירת מאפיינים של שדות חוזרים. מאפיין המטא-נתונים
is_repeatedשל השדות האלה מסומן כ-true. - בחירת שדות שלא זמינים למשאב הנתון בסעיף
FROM. אי אפשר לבחור יחד מאפיינים של חלק מהמשאבים, ורק קבוצת משנה של כל המדדים והפלחים זמינה למשאב בסעיףFROM. - בחירה בפלחים או במדדים שלא תואמים זה לזה. מידע נוסף זמין במאמר פילוח.
מידע שקשור לתנאים הקודמים זמין במסמכי העיון שלנו או בכתובת GoogleAdsFieldService.
FROM
הסעיף FROM מציין את המשאב הראשי שיוחזר. המשאב בסעיף FROM מגדיר אילו שדות אפשר להשתמש בכל שאר הסעיפים בשאילתה הנתונה. אפשר לציין רק משאב אחד בסעיף FROM. הסעיף FROM הוא חובה בשאילתה ל-method GoogleAdsService, Search או SearchStream. עם זאת, כשמשתמשים ב-GoogleAdsFieldService, אסור לציין את הסעיף FROM.
אפשר להשתמש רק במשאב אחד בסעיף 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 (או משתמשים ב-BETWEEN value AND value, ב-IS NULL או ב-IS NOT NULL). הסעיף 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.datesegments.weeksegments.monthsegments.quartersegments.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.
פרטים נוספים על סינון לפי תאריך זמינים במאמר בנושא טווח תאריכים.
כשמסננים, חשוב לזכור אם האופרטור תלוי אותיות רישיות (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.
| שאילתה | המשאבים שהוחזרו |
|---|---|
SELECT campaign.name, customer.id FROM campaign |
ערך ברירת המחדל של |
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
ללא |
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
הערך של |
כללי שפה נוספים
בנוסף לדוגמאות לכל פסוקית, שפת השאילתות של 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'