כשמשתמשים בממשק ה-REST של Google Ads API, עובדים עם ייצוגי JSON של אותם משאבים וסוגים שמוגדרים בקובצי .proto descriptor של Google Ads API. סכמת קידוד ה-JSON מבוססת על סכמת הקידוד הקנונית שמתוארת בקטע מיפוי JSON של מדריך השפה בנושא מאגרי פרוטוקולים.
באופן כללי, כל ההודעות ברמה העליונה אל שירותים ומהם הן אובייקטים יחידים של JSON.
רוב הבקשות לשינוי נתונים מכילות מערך operations, שבעצמו מכיל הרבה פעולות create, update או delete. באופן דומה, search תגובות הן
אובייקטים של JSON שמכילים מערך results עם קבוצת התוצאות של השאילתה.
המזהים מומרים מקו תחתון בין המילים (במאגרי אחסון לפרוטוקולים) לאותיות קטנות בקאמל קייס ב-JSON. יוצא דופן בולט לכלל הזה הוא כשמשתמשים ב-search או ב-searchStream כדי לשלוח שאילתות של Google Ads Query Language. שפת השאילתה עצמה משתמשת בקו תחתון בין המילים, ללא קשר לממשק שבו משתמשים. עם זאת, התוצאות של שאילתה ב-REST מוחזרות כאובייקטים רגילים של JSON, והמזהים שלהם הם ב-lowerCamelCase.
לדוגמה, בשאילתה לאחזור רשימה של מילות מפתח פעילות בחשבון, משתמשים בקו תחתון בין המילים בשאילתה עצמה (ad_group_criterion, ולא adGroupCriterion):
POST /v26/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN { "query": "SELECT ad_group_criterion.keyword.text FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
עם זאת, התגובה היא ייצוג JSON של האובייקטים (עטוף במערך JSON כי הבקשה הזו משתמשת ב-searchStream) ומשתמשת במזהה camelCase adGroupCriterion במקום:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]