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