ל-Google Ads API יש שיטה מאוחדת לאחזור מאפיינים ולדיווח על מדדים, שמאפשרת ליצור שאילתות באמצעות שפת השאילתות של Google Ads. כך מתאפשרת שאילתות מורכבות שיכולות להחזיר כמויות גדולות של נתונים לגבי חשבונות Google Ads נפרדים.
ניתן ליצור שאילתות באמצעות השיטה Search
או השיטה SearchStream
.
שתי השיטות תומכות באותן שאילתות ומחזירות תוצאות מקבילות. השיטה Search
מחזירה נתונים בגודלי דפים שניתן להתאים אישית, וכך מאפשרת לבצע איטרציה על קבוצת תוצאות באמצעות עימוד. זה יכול להועיל ברוחב פס נמוך או בתנאי רשת לא אמינים, למשל, פילוח של תוצאה גדולה לתגובות קטנות יותר שאפשר לאחזר מחדש במקרה שהחיבור מתנתק. לעומת זאת, השיטה SearchStream
מעבירה את כל התוצאות בחזרה בתגובה אחת, וכך אפשר לאחזר נתונים בכמות גדולה בצורה יעילה יותר.
גם Search
וגם SearchStream
משתמשים באותה כתובת URL בסיסית:
https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/googleAds
שיטת החיפוש מבוססת-הדף מקבלת פרמטר pageSize
אופציונלי שמגביל את מספר התוצאות שמוחזרות בתגובת API אחת.
POST /v16/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "pageSize": 10000, "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
אם יש יותר שורות בתוצאות מאשר pageSize
, יוחזר nextPageToken
בתגובה:
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
חזרה על אותה שאילתה עם pageToken
נוסף עם הערך שלמעלה מאחזרת את דף התוצאות הבא:
POST /v16/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "pageSize": 10000, "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'", "pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B" }
כדי להשתמש בשיטה SearchStream
, שמחזירה את כל התוצאות בתגובה אחת בסטרימינג, פשוט משנים את שיטת השירות בכתובת ה-URL ל-searchStream
(pageSize
ו-pageToken
לא נדרשים על ידי SearchStream
):
POST /v16/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }