मुख्य शब्दावली
- संसाधन
- Google Ads में मौजूद कोई इकाई, जैसे कि
campaignयाad_group. - सेगमेंट
- डेटा को ग्रुप करने के लिए इस्तेमाल किया जाने वाला डाइमेंशन, जैसे कि
segments.dateयाsegments.device. जब सेगमेंट को मेट्रिक के साथSELECTक्लॉज़ में शामिल किया जाता है, तो मेट्रिक को सेगमेंट के हिसाब से बांटा जाता है. - मेट्रिक
- परफ़ॉर्मेंस का आकलन, जैसे कि
metrics.impressionsयाmetrics.clicks. - एट्रिब्यूट किया गया संसाधन
- ऐसा संसाधन जो
FROMक्लॉज़ में मुख्य संसाधन से सीधे तौर पर जुड़ा होता है. इससे आपको मुख्य संसाधन के एट्रिब्यूट के साथ-साथ, उसके एट्रिब्यूट चुनने की सुविधा मिलती है.
संसाधन या मेटाडेटा की जानकारी के लिए क्वेरी
Google Ads Query Language, Google Ads API से इस तरह की जानकारी के लिए क्वेरी कर सकती है:
GoogleAdsServiceSearch या SearchStream का इस्तेमाल करके, संसाधन और उनसे जुड़े एट्रिब्यूट, सेगमेंट, और मेट्रिक:GoogleAdsServiceक्वेरी का नतीजा,GoogleAdsRowइंस्टेंस की सूची होती है. इसमें हरGoogleAdsRowएक संसाधन को दिखाता है.अगर किसी एट्रिब्यूट या मेट्रिक का अनुरोध किया जाता है, तो पंक्ति में वे फ़ील्ड भी शामिल होते हैं. अगर किसी सेगमेंट के लिए अनुरोध किया जाता है, तो जवाब में हर सेगमेंट-रिसॉर्स ट्यूपल के लिए एक अतिरिक्त लाइन भी दिखती है.
GoogleAdsFieldServiceमें उपलब्ध फ़ील्ड और संसाधनों का मेटाडेटा: यह सेवा, क्वेरी किए जा सकने वाले फ़ील्ड का कैटलॉग उपलब्ध कराती है. इसमें, फ़ील्ड के टाइप और उनके साथ काम करने वाले फ़ील्ड की जानकारी होती है.GoogleAdsFieldServiceक्वेरी का नतीजा,GoogleAdsFieldइंस्टेंस की सूची होती है. इसमें हरGoogleAdsFieldमें, अनुरोध किए गए फ़ील्ड की जानकारी होती है.
क्वेरी के स्ट्रक्चर के बारे में ज़्यादा जानने के लिए, क्वेरी का स्ट्रक्चर और Google Ads क्वेरी लैंग्वेज का व्याकरण देखें.
संसाधन के एट्रिब्यूट के लिए क्वेरी करना
यहां कैंपेन रिसॉर्स के एट्रिब्यूट के लिए, एक बुनियादी क्वेरी का उदाहरण दिया गया है. इससे पता चलता है कि कैंपेन आईडी, नाम, और स्टेटस कैसे दिखाया जाता है:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
यह क्वेरी, कैंपेन आईडी के हिसाब से क्रम में लगाई जाती है. हर नतीजे के तौर पर मिलने वाला GoogleAdsRow, चुने गए फ़ील्ड से भरा हुआ campaign ऑब्जेक्ट दिखाता है. इसमें कैंपेन का resource_name भी शामिल है.
कैंपेन क्वेरी के लिए कौनसे अन्य फ़ील्ड उपलब्ध हैं, यह जानने के लिए Campaign रेफ़रंस दस्तावेज़ देखें.
मेट्रिक के लिए क्वेरी
किसी संसाधन के लिए चुने गए एट्रिब्यूट के साथ-साथ, उससे जुड़ी मेट्रिक के लिए भी क्वेरी की जा सकती है:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
यह क्वेरी सिर्फ़ उन कैंपेन को फ़िल्टर करती है जिनका स्टेटस PAUSED है और जिन्हें 1,000 से ज़्यादा इंप्रेशन मिले हैं. साथ ही, यह कैंपेन आईडी के हिसाब से क्रम में लगाए गए हैं. नतीजे के तौर पर मिलने वाले हर GoogleAdsRow में, चुनी गई मेट्रिक के साथ metrics फ़ील्ड भरा होगा.
क्वेरी की जा सकने वाली मेट्रिक की सूची के लिए, Metrics दस्तावेज़ देखें.
सेगमेंट के लिए क्वेरी
किसी संसाधन के लिए चुने गए एट्रिब्यूट के साथ-साथ, उससे जुड़े सेगमेंट के लिए भी क्वेरी की जा सकती है:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
मेट्रिक के लिए क्वेरी करने की तरह ही, यह क्वेरी सिर्फ़ उन कैंपेन को फ़िल्टर करती है जिनका स्टेटस PAUSED है और जिन्हें 1,000 से ज़्यादा इंप्रेशन मिले हैं. हालांकि, यह क्वेरी डेटा को तारीख के हिसाब से सेगमेंट करती है. इससे हर नतीजे में, GoogleAdsRow कैंपेन और तारीख के सेगमेंट का एक ट्यूपल दिखाता है.
सेगमेंट करने से, चुनी गई मेट्रिक को अलग-अलग सेगमेंट में बांटा जाता है. इसके लिए, SELECT क्लॉज़ में हर सेगमेंट के हिसाब से ग्रुप बनाया जाता है.
क्वेरी किए जा सकने वाले सेगमेंट की सूची के लिए, Segments दस्तावेज़ देखें.
किसी मिलते-जुलते संसाधन के एट्रिब्यूट के लिए क्वेरी
किसी संसाधन के लिए क्वेरी में, आपके पास अन्य मिलते-जुलते संसाधनों को शामिल करने का विकल्प होता है. हालांकि, इसके लिए ज़रूरी है कि वे संसाधन उपलब्ध हों. इनसे जुड़े संसाधनों को "एट्रिब्यूट किए गए संसाधन" कहा जाता है. अपनी क्वेरी में एट्रिब्यूट चुनकर, एट्रिब्यूट किए गए संसाधनों के साथ इंप्लिसिट तरीके से शामिल हुआ जा सकता है.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
यह क्वेरी, कैंपेन के एट्रिब्यूट चुनने के साथ-साथ, चुने गए हर कैंपेन से जुड़े एट्रिब्यूट भी फ़ेच करती है. नतीजे के तौर पर मिलने वाला हर GoogleAdsRow, चुने गए कैंपेन एट्रिब्यूट के साथ-साथ बिडिंग की रणनीति के चुने गए एट्रिब्यूट bidding_strategy.name से भरे हुए campaign ऑब्जेक्ट को दिखाता है.
कैंपेन क्वेरी के लिए कौनसे एट्रिब्यूट किए गए संसाधन उपलब्ध हैं, यह जानने के लिए Campaign रेफ़रंस दस्तावेज़ देखें.
सबसे सही तरीके
- सिर्फ़ वे फ़ील्ड चुनें जिनकी आपको ज़रूरत है. इससे, जवाब मिलने में ज़्यादा समय लगने और टाइम आउट होने की समस्या से बचा जा सकता है.
- डेवलपमेंट और टेस्टिंग के दौरान
LIMITका इस्तेमाल करें, ताकि बड़े रिज़ल्ट सेट को प्रोसेस करने से बचा जा सके. - डेटा ट्रांसफ़र और रिस्पॉन्स के साइज़ को कम करने के लिए,
WHEREक्लॉज़ में फ़िल्टर लागू करें. - जटिल क्वेरी बनाने से पहले, फ़ील्ड के साथ काम करने की सुविधा और डेटा टाइप की जांच करने के लिए,
GoogleAdsFieldServiceका इस्तेमाल करें. - ध्यान रखें कि कुछ फ़ील्ड, खास तौर पर ज़्यादा डेटा या मुश्किल कैलकुलेशन वाले फ़ील्ड, क्वेरी की लागत बढ़ा सकते हैं.
क्वेरी के नतीजों के आधार पर म्यूटेट करना
किसी संसाधन के लिए क्वेरी करते समय, आपको मिले नतीजों को ऑब्जेक्ट के तौर पर तुरंत इस्तेमाल किया जा सकता है. साथ ही, उनमें बदलाव करके, उन्हें उस संसाधन की सेवा में मौजूद, म्यूटेट तरीके पर वापस भेजा जा सकता है. यहां एक सैंपल वर्कफ़्लो दिया गया है:
- उन सभी
PAUSEDकैंपेन के लिए क्वेरी चलाएं जिनमें 1,000 से ज़्यादा इंप्रेशन हैं. - जवाब में मौजूद हर
GoogleAdsRowकेcampaignफ़ील्ड सेCampaignऑब्जेक्ट पाएं. - हर कैंपेन का स्टेटस
PAUSEDसे बदलकरENABLEDकरें. - बदले गए कैंपेन और उन्हें अपडेट करने के लिए, उनसे जुड़े
FieldMaskके साथCampaignService.MutateCampaignsको कॉल करें.
फ़ील्ड मेटाडेटा
GoogleAdsFieldService को भेजी गई क्वेरी, फ़ील्ड मेटाडेटा को वापस पाने के लिए होती हैं.
इस जानकारी का इस्तेमाल करके यह समझा जा सकता है कि किसी क्वेरी में फ़ील्ड को एक साथ कैसे इस्तेमाल किया जा सकता है. एपीआई से डेटा उपलब्ध होता है और यह क्वेरी की पुष्टि करने या उसे बनाने के लिए ज़रूरी मेटाडेटा उपलब्ध कराता है. इससे डेवलपर, प्रोग्राम के हिसाब से ऐसा कर सकते हैं. मेटाडेटा के लिए एक सामान्य क्वेरी यहां दी गई है:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
इस क्वेरी में <INSERT_RESOURCE_OR_FIELD> को किसी संसाधन (जैसे, customer या campaign) या फ़ील्ड (जैसे, campaign.id, metrics.impressions या ad_group.id) से बदला जा सकता है.
क्वेरी किए जा सकने वाले फ़ील्ड की सूची के लिए, GoogleAdsField दस्तावेज़ देखें.
वर्शन के हिसाब से अंतर
Google Ads Query Language के सिंटैक्स, क्लॉज़, और ऑपरेटर, Google Ads API के सभी वर्शन (v23, v24, v25, और v26) में एक जैसे होते हैं. हालांकि, क्वेरी किए जा सकने वाले संसाधनों, सेगमेंट, मेट्रिक, और रिपोर्टिंग के व्यवहार का कैटलॉग, मेजर वर्शन के हिसाब से अलग-अलग होता है. टारगेट एपीआई वर्शन एंडपॉइंट पर GoogleAdsFieldService को क्वेरी करें, ताकि उस वर्शन के फ़ील्ड और साथ काम करने के नियमों की जांच की जा सके:
- फ़ाइनल यूआरएल एक्सपैंशन की ऐसेट का व्यू:
- शॉपिंग कैंपेन के लिए सहायता (v26 और इसके बाद के वर्शन):
final_url_expansion_asset_viewपरफ़ॉर्मेंस मैक्स और सर्च कैंपेन के अलावा, शॉपिंग कैंपेन (campaign.advertising_channel_type = 'SHOPPING') के लिए भी सहायता उपलब्ध है. शॉपिंग कैंपेन के लिए,ad_groupफ़ील्ड को चुना और फ़िल्टर किया जा सकता है. हालांकि,asset_groupफ़ील्ड को नहीं चुना जा सकता. - चुनी जा सकने वाली मेट्रिक (v25 और इसके बाद के वर्शन):
final_url_expansion_asset_viewको क्वेरी करने पर, व्यू के लिए चुनी जा सकने वाली सभी मेट्रिक दिखती हैं. v24 और इससे पहले के वर्शन में, जवाबों में परफ़ॉर्मेंस मैक्स कैंपेन के लिए सिर्फ़metrics.conversionsऔरmetrics.conversions_valueशामिल होते हैं. साथ ही, सर्च कैंपेन के लिएmetrics.impressionsशामिल होता है.
- शॉपिंग कैंपेन के लिए सहायता (v26 और इसके बाद के वर्शन):
- लाइफ़साइकल के लक्ष्य से जुड़े संसाधन: v25 और इसके बाद के वर्शन में, लाइफ़साइकल के सभी लक्ष्यों (नए
ग्राहक हासिल करना, ग्राहक को जोड़े रखना, और लॉयल्टी प्रोग्राम के तहत ग्राहक को जोड़े रखना) के लिए, यूनिफ़ाइड
goalऔरcampaign_goal_configसंसाधनों से क्वेरी की जाती है. ये संसाधन,customer_lifecycle_goalऔरcampaign_lifecycle_goalकी जगह इस्तेमाल किए जाते हैं. v24 और इससे पहले के वर्शन में, नए ग्राहक हासिल करने के लक्ष्यों के लिए और का इस्तेमाल किया जाता था. साथ ही, ग्राहक को जोड़े रखने के लक्ष्यों के लिए,goalऔरcampaign_goal_configका इस्तेमाल किया जाता था. - ऐप्लिकेशन कैंपेन के लिए शॉपिंग प्रॉडक्ट रिपोर्टिंग: v24 और इसके बाद के वर्शन में,
shopping_productरिसॉर्स, शॉपिंग, परफ़ॉर्मेंस मैक्स, मांग बढ़ाने में मदद करने वाले कैंपेन, और वीडियो कैंपेन के साथ-साथ ऐप्लिकेशन कैंपेन के लिए भी प्रॉडक्ट की लाइनें दिखाता है. v23 में, ऐप्लिकेशन कैंपेन कोshopping_productके नतीजों से बाहर रखा गया है. - वर्शन के हिसाब से संसाधन, सेगमेंट, और मेट्रिक:
- v26 और इसके बाद के वर्शन: इसमें
search_lift_keyword_bundleसंसाधन,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_property, और खोज में बढ़त की मेट्रिक (जैसे,metrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_micros, औरmetrics.search_lift_impressions) शामिल हैं. - v25 और इसके बाद के वर्शन: इसमें लिफ़्ट मेज़रमेंट के संसाधन (जैसे,
lift_measurement_config),segments.ad_sub_format_typeऔरsegments.loyalty_membershipजैसे सेगमेंट, और YouTube यूज़र ऐक्टिविटी मेट्रिक (metrics.youtube_likes,metrics.youtube_comments, औरmetrics.youtube_shares) शामिल हैं.local_services_lead.contact_details.emailको हटाता है (इसे v24 और इससे पहले के वर्शन में चुना जा सकता है). - v24 और इसके बाद के वर्शन: इसमें
cart_data_sales_viewरिसॉर्स शामिल है. इसेshopping_performance_viewकोsegments.conversion_attribution_event_typeऔरperformance_max_placement_viewकोsegments.mobile_device_platformऔरsegments.ad_network_typeपर रिलीज़ किया गया.campaign.video_brand_safety_suitabilityको हटाता है (इसकी जगहcustomer.video_brand_safety_suitabilityका इस्तेमाल किया जाता है),segments.ad_sub_network_typeकोcampaign_budgetपर, औरsegments.click_typeकोad_group_asset,campaign_asset, औरcustomer_assetपर (इन्हें सिर्फ़ v23 में चुना जा सकता है).
- v26 और इसके बाद के वर्शन: इसमें
- तारीख के हिसाब से ज़्यादा जानकारी वाले डेटा के लिए लुकबैक विंडो से जुड़ी गड़बड़ी का कोड:
segments.date,segments.weekयाsegments.hourके हिसाब से सेगमेंट की गई क्वेरी (या महीने से कम की तारीख की सीमा पर फ़िल्टर की गई क्वेरी) के लिए, 37 महीने की लुकबैक विंडो से ज़्यादा का डेटा नहीं मिलता. इसके बाद, v24 और उसके बाद के वर्शन मेंDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED(या v23 मेंDateRangeError.UNKNOWN) गड़बड़ी का कोड दिखता है. ज़्यादा जानकारी के लिए, तारीख की सीमाएं देखें.
कोड के उदाहरण
क्लाइंट लाइब्रेरी में, GoogleAdsService में Google Ads क्वेरी लैंग्वेज का इस्तेमाल करने के उदाहरण दिए गए हैं. बेसिक ऑपरेशन फ़ोल्डर में, GetCampaigns, GetKeywords, और SearchForGoogleAdsFields जैसे उदाहरण मौजूद हैं.