Google Ads API में, एट्रिब्यूट वापस पाने और मेट्रिक रिपोर्ट करने का एक जैसा तरीका है. इससे Google Ads क्वेरी लैंग्वेज का इस्तेमाल करके क्वेरी बनाई जा सकती हैं. इससे ऐसी जटिल क्वेरी की जा सकती हैं जो अलग-अलग Google Ads खातों के बारे में बड़ी मात्रा में डेटा दिखा सकती हैं.
क्वेरी बनाने के लिए, Search या SearchStream में से किसी भी तरीके का इस्तेमाल किया जा सकता है.
दोनों तरीकों से एक जैसी क्वेरी की जा सकती हैं और इनके नतीजे भी एक जैसे होते हैं. Search तरीके से, डेटा को 10,000 लाइनों वाले तय साइज़ के पेजों में दिखाया जाता है. इससे, पेज नंबर के हिसाब से नतीजों के सेट को दोहराया जा सकता है. यह कम बैंडविड्थ या नेटवर्क की समस्या होने पर फ़ायदेमंद हो सकता है. उदाहरण के लिए, बड़े नतीजे के सेट को छोटे जवाबों में बांटने के लिए. अगर कनेक्शन टूट जाता है, तो इन जवाबों को फिर से फ़ेच किया जा सकता है. वहीं दूसरी ओर, SearchStream तरीके से पूरे नतीजे को एक ही रिस्पॉन्स में स्ट्रीम किया जाता है. यह एक साथ कई डेटा को वापस पाने के लिए ज़्यादा बेहतर हो सकता है.
Search और SearchStream, दोनों के लिए एक ही बेस यूआरएल का इस्तेमाल किया जाता है:
https://googleads.googleapis.com/v22/customers/CUSTOMER_ID/googleAds
POST /v22/customers/CUSTOMER_ID/googleAds:search 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'" }
अगर नतीजों में 10,000 से ज़्यादा लाइनें हैं, तो जवाब में nextPageToken दिखता है:
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
pageToken को पिछली क्वेरी में जोड़कर, उसी क्वेरी को दोहराने पर नतीजों का अगला पेज मिलता है:
POST /v22/customers/CUSTOMER_ID/googleAds:search 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'", "pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B" }
SearchStream तरीके का इस्तेमाल करने के लिए, यूआरएल में सेवा के तरीके को searchStream में बदलें. यह तरीका, सभी नतीजों को एक ही स्ट्रीम किए गए जवाब में दिखाता है. SearchStream के लिए pageToken की ज़रूरत नहीं होती:
POST /v22/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'" }