Search Ads 360 Reporting API में खोज रिपोर्ट बनाने का तरीका जानने के लिए, यहां दिए गए सेक्शन पढ़ें.
खोज सेवा
Search Ads 360 Reporting API, खोज और रिपोर्टिंग के लिए खास सेवा उपलब्ध कराता है.
SearchAds360Service
एक ऐसी सेवा है जो ऑब्जेक्ट को फिर से पाने और रिपोर्ट करने की सुविधा देती है. यह खोज करने के दो तरीके उपलब्ध कराती है: SearchStream और Search. खोजों को Search Ads 360 क्वेरी लैंग्वेज में लिखी गई क्वेरी स्ट्रिंग में पास किया जाता है. क्वेरी को इन कामों के लिए तय किया जा सकता है:
- ऑब्जेक्ट के कुछ एट्रिब्यूट वापस पाना.
- तारीख की सीमा के आधार पर, ऑब्जेक्ट के लिए परफ़ॉर्मेंस मेट्रिक वापस पाएं.
- ऑब्जेक्ट को उनकी विशेषताओं के आधार पर क्रम से लगाएं.
- उन शर्तों का इस्तेमाल करके नतीजों को फ़िल्टर करें जिनसे यह पता चलता है कि किन ऑब्जेक्ट को वापस भेजना है
- लौटाए गए ऑब्जेक्ट की संख्या सीमित करें.
खोज के दोनों तरीकों से, आपकी क्वेरी से मेल खाने वाली सभी पंक्तियां दिखती हैं. उदाहरण के लिए, जब campaign.id, campaign.name, और metrics.clicks को वापस पाया जाता है, तो एपीआई SearchAds360Row दिखाता है. इसमें कैंपेन ऑब्जेक्ट होता है. इसके id और name फ़ील्ड सेट होते हैं. साथ ही, इसमें metrics ऑब्जेक्ट होता है. इसके clicks फ़ील्ड सेट होते हैं.
खोज के तरीके
SearchStreamयह एक अनुरोध भेजता है और Search Ads 360 Reporting API के साथ एक स्थायी कनेक्शन शुरू करता है. इससे रिपोर्ट के साइज़ पर कोई असर नहीं पड़ता.
- डेटा पैकेट तुरंत डाउनलोड होने लगते हैं. साथ ही, पूरा नतीजा डेटा बफ़र में कैश मेमोरी में सेव हो जाता है.
- आपका कोड, पूरे स्ट्रीम के खत्म होने का इंतज़ार किए बिना, बफ़र किए गए डेटा को पढ़ना शुरू कर सकता है.
Searchयह कुकी, पूरी रिपोर्ट डाउनलोड करने के लिए पेज के हिसाब से कई अनुरोध भेजती है.
SearchStream आम तौर पर बेहतर परफ़ॉर्मेंस देता है, क्योंकि यह अलग-अलग पेजों का अनुरोध करने के लिए ज़रूरी राउंड-ट्रिप नेटवर्क टाइम को कम करता है. हमारा सुझाव है कि 10,000 से ज़्यादा लाइनों वाली सभी रिपोर्ट के लिए, SearchStream का इस्तेमाल करें. छोटी रिपोर्ट (<10,000 लाइनें) के लिए, दोनों तरीकों की परफ़ॉर्मेंस में कोई खास अंतर नहीं है.
इस्तेमाल किए गए तरीके से, आपके एपीआई के कोटे और सीमाओं पर कोई असर नहीं पड़ता: एक क्वेरी या रिपोर्ट को एक ऑपरेशन के तौर पर गिना जाता है. भले ही, नतीजे पेज के हिसाब से दिखाए गए हों या स्ट्रीम किए गए हों.
खोज क्वेरी का उदाहरण
इस उदाहरण क्वेरी से, किसी खाते के लिए पिछले 30 दिनों की परफ़ॉर्मेंस का डेटा मिलता है. यह डेटा, कैंपेन के हिसाब से और डिवाइस के हिसाब से सेगमेंट किया गया होता है:
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.average_cpc,
metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
अनुरोध करें
अनुरोध करने के लिए, आपको SearchAds360Service.SearchStream या SearchAds360Service.Search इंटरफ़ेस को customer_id और query स्ट्रिंग पास करनी होगी.
अनुरोध में, Search Ads 360 Reporting API सर्वर को भेजा गया एचटीटीपी POST शामिल होता है. इसे इनमें से किसी एक यूआरएल पर भेजा जाता है:
https://searchads360.googleapis.com/VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:searchStream
https://searchads360.googleapis.com/VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:search
यहां एचटीटीपी POST अनुरोध में शामिल searchStream के रिपोर्ट डेफ़िनिशन का पूरा उदाहरण दिया गया है:
POST /VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:searchStream HTTP/1.1 Host: searchads360.googleapis.com User-Agent: curl Content-Type: application/json Accept: application/json Authorization: Bearer [OAUTH_2.0_ACCESS_TOKEN] Parameters: { "query" : "SELECT campaign.name, campaign.status, segments.device, metrics.impressions, metrics.clicks, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_30_DAYS" }
जवाब को प्रोसेस करना
SearchAds360Service, SearchAds360Row ऑब्जेक्ट की सूची दिखाता है.
हर SearchAds360Row, क्वेरी से मिला एक ऑब्जेक्ट दिखाता है. हर ऑब्जेक्ट में एट्रिब्यूट का एक सेट होता है. ये एट्रिब्यूट, क्वेरी के SELECT क्लॉज़ में अनुरोध किए गए फ़ील्ड के आधार पर भरे जाते हैं. SELECT
क्लॉज़ में शामिल नहीं किए गए एट्रिब्यूट, जवाब में मौजूद ऑब्जेक्ट में नहीं भरे जाते.
उदाहरण के लिए, यहां दी गई क्वेरी, हर SearchAds360Row ऑब्जेक्ट में सिर्फ़ campaign.id, campaign.name, और campaign.status को पॉप्युलेट करती है. campaign.engine_id या campaign.bidding_strategy_type जैसे अन्य एट्रिब्यूट शामिल नहीं किए गए हैं.
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
रेफ़रंस दस्तावेज़
रेफ़रंस सेक्शन में, हर आर्टफ़ैक्ट को सही तरीके से इस्तेमाल करने से जुड़ी सभी ज़रूरी जानकारी शामिल होती है. हर संसाधन के लिए एक पेज होता है. उदाहरण के लिए, ad_group और campaign.
segments और metrics पेजों पर, सभी उपलब्ध सेगमेंट और मेट्रिक फ़ील्ड की सूची दी गई है.
कुछ संसाधन, सेगमेंट, और मेट्रिक एक-दूसरे के साथ काम नहीं करते. इसलिए, इनका इस्तेमाल एक साथ नहीं किया जा सकता. वहीं, कुछ संसाधन, सेगमेंट, और मेट्रिक एक-दूसरे के साथ काम करते हैं. हर संसाधन पेज में यह जानकारी शामिल होती है. साथ ही, इसमें और भी जानकारी शामिल होती है. हालांकि, यह जानकारी तब ही शामिल होती है, जब वह उपलब्ध हो और सही हो:
- एट्रिब्यूट किए गए संसाधन
कुछ संसाधनों के लिए, आपके पास उनसे जुड़े संसाधनों को अपने-आप शामिल करने का विकल्प होता है. इसके लिए, आपको अपने
FROMक्लॉज़ में, संसाधन के फ़ील्ड के साथ-साथ उनसे जुड़े संसाधनों के फ़ील्ड भी चुनने होंगे. उदाहरण के लिए,campaignरिसॉर्स,ad_groupरिसॉर्स का एट्रिब्यूट किया गया रिसॉर्स है. इसका मतलब है किFROMक्लॉज़ मेंad_groupका इस्तेमाल करते समय, अपनी क्वेरी मेंcampaign.idऔरcampaign.bidding_strategy_typeजैसे फ़ील्ड शामिल किए जा सकते हैं.एट्रिब्यूट किए गए संसाधन सेक्शन में, एट्रिब्यूट किए गए उपलब्ध संसाधनों की सूची दी गई है. ऐसा हो सकता है कि कुछ संसाधनों के लिए एट्रिब्यूट किए गए संसाधन उपलब्ध न हों.
- संसाधन के फ़ील्ड कॉलम
संसाधन के सभी फ़ील्ड, संसाधन के फ़ील्ड कॉलम में शामिल होते हैं. हर संसाधन फ़ील्ड, फ़ील्ड के बारे में ज़्यादा जानकारी से लिंक होता है. इसमें फ़ील्ड का ब्यौरा, कैटगरी, डेटा टाइप, टाइप यूआरएल, और फ़िल्टर किया जा सकता है, चुना जा सकता है, क्रम से लगाया जा सकता है, और दोहराया जा सकता है.
- सेगमेंट कॉलम
किसी संसाधन के साथ सभी सेगमेंट फ़ील्ड नहीं चुने जा सकते.
सेगमेंट कॉलम में,
segmentsफ़ील्ड की सूची दी गई है. इनका इस्तेमाल, रिसॉर्स के फ़ील्ड के साथ एक हीSELECTक्लॉज़ में किया जा सकता है. हर फ़ील्ड, फ़ील्ड के बारे में पूरी जानकारी से लिंक होता है. इसमें फ़ील्ड का ब्यौरा, कैटगरी, डेटा टाइप, टाइप यूआरएल, और फ़िल्टर करने, चुनने, क्रम से लगाने, और दोहराने की सेटिंग शामिल होती है. अगर आपनेFROMक्लॉज़ में संसाधन का इस्तेमाल किया है, तो हां/नहीं ड्रॉपडाउन का इस्तेमाल करके, उन सेगमेंट को फ़िल्टर किया जा सकता है जो उपलब्ध नहीं हैं.- मेट्रिक कॉलम
किसी दिए गए संसाधन के साथ, सभी मेट्रिक फ़ील्ड नहीं चुने जा सकते.
मेट्रिक कॉलम में,
metricsफ़ील्ड की सूची दी गई है. इनका इस्तेमाल, संसाधन के फ़ील्ड के साथ-साथ एक हीSELECTक्लॉज़ में किया जा सकता है. हर फ़ील्ड, फ़ील्ड के बारे में पूरी जानकारी से लिंक होता है. इसमें फ़ील्ड का ब्यौरा, कैटगरी, डेटा टाइप, टाइप यूआरएल, और फ़िल्टर करने, चुनने, क्रम से लगाने, और दोहराने की सेटिंग शामिल होती है. अगर आपनेFROMक्लॉज़ में संसाधन का इस्तेमाल किया है, तो हां/नहीं ड्रॉपडाउन का इस्तेमाल करके, उन मेट्रिक को फ़िल्टर करें जो उपलब्ध नहीं हैं.
- संसाधनों को सेगमेंट करना
कुछ संसाधनों में सेगमेंट करने वाले संसाधन फ़ील्ड होते हैं. इन्हें तब चुना जा सकता है, जब संसाधन आपके
FROMक्लॉज़ में हो. उदाहरण के लिए, अगर आपनेFROMक्लॉज़ मेंcampaign_budgetका इस्तेमाल करते समय,campaignजैसे संसाधन फ़ील्ड को चुना है, तोcampaign.resource_nameअपने-आप वापस आ जाएगा औरcampaignके आधार पर सेगमेंट किया जाएगा. ऐसा इसलिए, क्योंकिcampaign,campaign_budgetका सेगमेंट करने वाला संसाधन है.campaign.nameसंसाधनों को सेगमेंट में बांटना सेक्शन में, संसाधनों को सेगमेंट में बांटने के लिए उपलब्ध संसाधन दिखाए जाते हैं. सभी संसाधनों में सेगमेंट करने की सुविधा उपलब्ध नहीं होती.
- इनके साथ चुना जा सकता है
कुछ
segmentsफ़ील्ड, अन्य संसाधनों, सेगमेंट, और मेट्रिक के साथ काम नहीं करते.segmentsपेज में, हरsegmentsफ़ील्ड के लिए इसके साथ चुना जा सकता है विकल्प मौजूद होता है. इसे बड़ा करके देखा जा सकता है. इसमें, सभी के साथ काम करने वाले संसाधन फ़ील्ड,metricsफ़ील्ड, और अन्यsegmentsफ़ील्ड की सूची होती है. इन फ़ील्ड को अपनेSELECTक्लॉज़ में शामिल किया जा सकता है.
सेगमेंटेशन
अपनी क्वेरी के SELECT क्लॉज़ में segments.FIELD_NAME फ़ील्ड जोड़कर, खोज के नतीजों को सेगमेंट किया जा सकता है.
उदाहरण के लिए, नीचे दी गई क्वेरी में segments.device का इस्तेमाल करने पर, एक रिपोर्ट मिलती है. इसमें FROM क्लॉज़ में बताए गए संसाधन के लिए, हर डिवाइस के impressions की एक लाइन होती है.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
SearchAds360Service.SearchStream से मिले नतीजे, इस JSON स्ट्रिंग की तरह दिखते हैं:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
इस्तेमाल किए जा सकने वाले उपलब्ध सेगमेंट फ़ील्ड की सूची के लिए, segments देखें.
एक से ज़्यादा सेगमेंट
क्वेरी के SELECT क्लॉज़ में कई सेगमेंट तय किए जा सकते हैं. जवाब में, SearchAds360Row ऑब्जेक्ट शामिल होता है. यह ऑब्जेक्ट, FROM क्लॉज़ में बताए गए मुख्य संसाधन के हर instance और चुने गए हर segment फ़ील्ड की value के हर combination के लिए होता है.
उदाहरण के लिए, इस क्वेरी से campaign, segments.ad_network_type, और segments.date के हर कॉम्बिनेशन के लिए एक लाइन दिखेगी.
SELECT
segments.ad_network_type
segments.date
FROM campaign
ध्यान दें कि नतीजे, मुख्य संसाधन के हर इंस्टेंस के हिसाब से अपने-आप सेगमेंट हो जाते हैं. हालांकि, चुने गए हर फ़ील्ड की वैल्यू के हिसाब से सेगमेंट नहीं होते.
यहां दी गई उदाहरण क्वेरी से, हर कैंपेन के लिए एक लाइन मिलती है. campaign.status फ़ील्ड की हर अलग वैल्यू के लिए एक लाइन नहीं मिलती.
SELECT
campaign.status,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
इंप्लिसिट सेगमेंटेशन
शुरुआत में, हर रिपोर्ट को FROM
क्लॉज़ में बताए गए संसाधन के हिसाब से सेगमेंट किया जाता है. मेट्रिक को इस संसाधन के resource_name फ़ील्ड के हिसाब से सेगमेंट किया जाता है
इस उदाहरण क्वेरी से, ad_group.resource_name अपने-आप जनरेट होता है. साथ ही, इसका इस्तेमाल ad_group लेवल पर मेट्रिक को सेगमेंट करने के लिए किया जाता है.
SELECT metrics.impressions
FROM ad_group
मिली हुई JSON स्ट्रिंग कुछ ऐसी दिखती है:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
कोर डेटा सेगमेंट
तारीख या समय अवधि तय करने के लिए, अपने WHERE क्लॉज़ में तारीख के मुख्य सेगमेंट का इस्तेमाल किया जा सकता है.
इन सेगमेंट फ़ील्ड को तारीख के मुख्य सेगमेंट कहा जाता है:
segments.date, segments.week, segments.month, segments.quarter, और
segments.year.
क्वेरी के इस उदाहरण से, पिछले 30 दिनों के लिए कैंपेन clicks की मेट्रिक मिलती हैं.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
तारीख के मुख्य सेगमेंट फ़ील्ड, इस सामान्य नियम का अपवाद हैं कि WHERE क्लॉज़ में सेगमेंट फ़ील्ड का इस्तेमाल नहीं किया जा सकता. हालांकि, अगर आपने SELECT क्लॉज़ में भी फ़ील्ड शामिल किया है, तो ऐसा किया जा सकता है. ज़्यादा जानकारी के लिए, फ़िल्टर करने पर पाबंदी देखें.
तारीख के हिसाब से सेगमेंट बनाने के मुख्य नियम:
WHEREक्लॉज़ में, मुख्य तारीख वाले फ़ील्ड का इस्तेमाल किया जा सकता है. इसके लिए, इसेSELECTक्लॉज़ में शामिल करना ज़रूरी नहीं है. अगर आपको पसंद है, तो इस फ़ील्ड को दोनों क्लॉज़ में भी शामिल किया जा सकता है.इस उदाहरण क्वेरी में, तारीख की सीमा के दौरान कैंपेन के नाम के हिसाब से
clicksमेट्रिक दिखाई गई हैं. ध्यान दें किsegments.dateकोSELECTक्लॉज़ में शामिल नहीं किया गया है.SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2022-02-01' AND segments.date < '2022-03-01'अगर आपने
SELECTक्लॉज़ में तारीख का मुख्य फ़ील्ड शामिल किया है, तो आपकोWHEREक्लॉज़ में तारीख या तारीख की सीमा तय करनी होगी.SELECTऔरWHEREक्लॉज़ में दिए गए फ़ील्ड का मेल खाना ज़रूरी नहीं है.इस उदाहरण क्वेरी में, तारीख की सीमा में मौजूद सभी दिनों के लिए, महीने के हिसाब से सेगमेंट किए गए कैंपेन के नाम के हिसाब से
clicksमेट्रिक दिखाई गई हैं.SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2022-02-01' AND segments.date < '2022-03-01'
ISO 8601 फ़ॉर्मैट में तारीखें
तारीखें और तारीख की सीमाएं तय करने के लिए, YYYY-MM-DD (ISO 8601) फ़ॉर्मैट का इस्तेमाल किया जा सकता है. उदाहरण के लिए:
WHERE segments.date BETWEEN '2022-06-01' AND '2022-06-30'
WHERE segments.date >= '2022-06-01' AND segments.date <= '2022-06-30'
तारीख के उन मुख्य सेगमेंट के लिए जिनमें समयावधि (segments.week, segments.month, segments.quarter) की ज़रूरत होती है, = ऑपरेटर का इस्तेमाल किया जा सकता है. इसके लिए, समयावधि का पहला दिन इस्तेमाल करें. उदाहरण के लिए:
WHERE segments.month = '2022-06-01'
पहले से तय तारीखें
पहले से तय की गई इन तारीखों और तारीख की सीमाओं का भी इस्तेमाल किया जा सकता है:
| पहले से तय तारीखें | |
|---|---|
TODAY |
सिर्फ़ आज के लिए. |
YESTERDAY |
सिर्फ़ कल के लिए. |
LAST_7_DAYS |
आज को छोड़कर पिछले सात दिन. |
LAST_BUSINESS_WEEK |
पिछले पांच दिनों का कारोबारी हफ़्ता (सोमवार से शुक्रवार). |
THIS_MONTH |
मौजूदा महीने के सभी दिन. |
LAST_MONTH |
पिछले महीने के सभी दिन. |
LAST_14_DAYS |
आज से पहले के 14 दिन. |
LAST_30_DAYS |
आज को छोड़कर पिछले 30 दिन. |
THIS_WEEK_SUN_TODAY |
पिछले रविवार से लेकर आज तक की अवधि. |
THIS_WEEK_MON_TODAY |
पिछले सोमवार से लेकर आज तक की अवधि. |
LAST_WEEK_SUN_SAT |
पिछले रविवार से शुरू होने वाला सात दिनों का समय. |
LAST_WEEK_MON_SUN |
पिछले सोमवार से शुरू होने वाली सात दिनों की अवधि. |
उदाहरण:
WHERE segments.date DURING LAST_30_DAYS
शून्य मेट्रिक
क्वेरी चलाने पर, आपको कुछ इकाइयों के लिए ऐसी मेट्रिक दिख सकती हैं जिनकी वैल्यू शून्य है. अपनी क्वेरी में शून्य मेट्रिक को मैनेज करने के तरीके के बारे में जानें.
UNKNOWN टाइप की सूची
अगर किसी संसाधन को UNKNOWN enum डेटा टाइप के साथ दिखाया जाता है, तो इसका मतलब है कि एपीआई के इस वर्शन में टाइप पूरी तरह से काम नहीं करता. ऐसा हो सकता है कि इन संसाधनों को किसी दूसरे इंटरफ़ेस से बनाया गया हो. उदाहरण के लिए, Search Ads 360 के यूज़र इंटरफ़ेस (यूआई) में कोई नया कैंपेन या विज्ञापन लॉन्च किया गया है, लेकिन यह एपीआई के उस वर्शन के साथ काम नहीं करता है जिसका इस्तेमाल किया जा रहा है.
अगर किसी संसाधन का टाइप UNKNOWN है, तो भी मेट्रिक चुनी जा सकती हैं. हालांकि, आपको इन बातों का ध्यान रखना होगा:
UNKNOWNटाइप वाले संसाधन के लिए, बाद में सहायता उपलब्ध कराई जा सकती है. हालांकि, यह हमेशा के लिएUNKNOWNस्थिति में भी रह सकता है.UNKNOWNटाइप वाले नए ऑब्जेक्ट कभी भी दिख सकते हैं. ये ऑब्जेक्ट, पुराने सिस्टम के साथ काम करते हैं, क्योंकि इनम वैल्यू पहले से उपलब्ध है. हम इस बदलाव के साथ संसाधन उपलब्ध कराते हैं, ताकि आपको अपने खाते की सटीक जानकारी मिल सके.UNKNOWNसंसाधन, इन वजहों से दिख सकता है: आपके खाते में अन्य इंटरफ़ेस के ज़रिए नई गतिविधि हुई हो या किसी संसाधन का इस्तेमाल अब आधिकारिक तौर पर नहीं किया जा सकता हो.UNKNOWNसंसाधनों से जुड़ी ज़्यादा जानकारी वाली मेट्रिक हो सकती हैं. इन्हें क्वेरी किया जा सकता है.UNKNOWNसंसाधन आम तौर पर, Search Ads 360 के यूज़र इंटरफ़ेस (यूआई) में पूरी तरह से दिखते हैं.