Search & SearchStream

वीडियो: रिपोर्टिंग

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'"
}