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