मुख्य शब्दावली
- संसाधन
- Google Ads में मौजूद कोई इकाई, जैसे कि
campaignयाad_group. - सेगमेंट
- डेटा को ग्रुप करने के लिए इस्तेमाल किया जाने वाला डाइमेंशन. जैसे,
segments.dateयाsegments.device. जब सेगमेंट को मेट्रिक के साथSELECTक्लॉज़ में शामिल किया जाता है, तो मेट्रिक को सेगमेंट के हिसाब से बांटा जाता है. - मेट्रिक
- परफ़ॉर्मेंस का मेज़रमेंट, जैसे कि
metrics.impressionsयाmetrics.clicks. - एट्रिब्यूट किया गया संसाधन
- यह एक ऐसा संसाधन होता है जो
FROMक्लॉज़ में मुख्य संसाधन से अपने-आप जुड़ जाता है. इससे आपको मुख्य संसाधन के एट्रिब्यूट के साथ-साथ इसके एट्रिब्यूट भी चुनने की सुविधा मिलती है.
संसाधन या मेटाडेटा की जानकारी के लिए क्वेरी करना
Google Ads क्वेरी लैंग्वेज, 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) में एक जैसे होते हैं. हालांकि, क्वेरी किए जा सकने वाले संसाधनों, सेगमेंट, मेट्रिक, और रिपोर्टिंग के व्यवहार का कैटलॉग, मुख्य वर्शन के हिसाब से अलग-अलग होता है. टारगेट एपीआई वर्शन के एंडपॉइंट पर GoogleAdsFieldService क्वेरी करें, ताकि उस वर्शन के फ़ील्ड और उसके साथ काम करने से जुड़े नियमों की जांच की जा सके:
- लाइफ़साइकल के लक्ष्य से जुड़े संसाधन: v25 और इसके बाद के वर्शन में, लाइफ़साइकल के सभी लक्ष्यों (नए ग्राहक हासिल करना, ग्राहकों को जोड़े रखना, और लॉयल्टी बनाए रखना) के लिए,
goalऔरcampaign_goal_configसंसाधनों से क्वेरी की जाती है. ये संसाधन,customer_lifecycle_goalऔरcampaign_lifecycle_goalकी जगह इस्तेमाल किए जाते हैं.customer_lifecycle_goalऔरcampaign_lifecycle_goalका इस्तेमाल, v24 और इससे पहले के वर्शन में नए ग्राहक हासिल करने के लक्ष्यों के लिए किया जाता था. साथ ही,goalऔरcampaign_goal_configका इस्तेमाल, ग्राहकों को जोड़े रखने के लक्ष्यों के लिए किया जाता था. - फ़ाइनल यूआरएल एक्सपैंशन की ऐसेट व्यू मेट्रिक: v25 और इसके बाद के वर्शन में,
final_url_expansion_asset_viewको क्वेरी करने पर, व्यू के लिए चुनी जा सकने वाली सभी मेट्रिक दिखती हैं. v24 और इससे पहले के वर्शन में, परफ़ॉर्मेंस मैक्स कैंपेन के लिए सिर्फ़metrics.conversionsऔरmetrics.conversions_valueशामिल होते हैं. साथ ही, सर्च कैंपेन के लिए सिर्फ़metrics.impressionsशामिल होते हैं. - ऐप्लिकेशन कैंपेन के लिए शॉपिंग प्रॉडक्ट रिपोर्टिंग: v24 और इसके बाद के वर्शन में,
shopping_productसंसाधन, ऐप्लिकेशन कैंपेन के लिए प्रॉडक्ट लाइनें दिखाता है. इसके अलावा, यह शॉपिंग, परफ़ॉर्मेंस मैक्स, मांग बढ़ाने में मदद करने वाले कैंपेन, और वीडियो कैंपेन के लिए भी प्रॉडक्ट लाइनें दिखाता है. v23 में, ऐप्लिकेशन कैंपेन कोshopping_productके नतीजों से बाहर रखा गया है. - वर्शन के हिसाब से संसाधन, सेगमेंट, और मेट्रिक:
- 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,segments.mobile_device_platform, औरperformance_max_placement_viewपर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. इनमें से सिर्फ़ad_group_asset,campaign_asset, औरcustomer_assetको v23 में चुना जा सकता है.
- v25 और इसके बाद के वर्शन: इनमें विज्ञापन के असर का मेज़रमेंट के संसाधन (जैसे कि
- विस्तृत डेटा लुकबैक गड़बड़ी कोड: 37 महीने की लुकबैक विंडो से बाहर की क्वेरी,
segments.date,segments.weekयाsegments.hourके हिसाब से सेगमेंट करती हैं. इसके अलावा, महीने के हिसाब से तारीख की सीमा पर फ़िल्टर करती हैं. ये क्वेरी, v24 और उसके बाद के वर्शन मेंDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDया v23 मेंDateRangeError.UNKNOWNदिखाती हैं. ज़्यादा जानकारी के लिए, तारीख की सीमाएं देखें.
कोड के उदाहरण
क्लाइंट लाइब्रेरी में, GoogleAdsService में Google Ads क्वेरी लैंग्वेज का इस्तेमाल करने के उदाहरण दिए गए हैं. बेसिक ऑपरेशन फ़ोल्डर में GetCampaigns, GetKeywords, और SearchForGoogleAdsFields जैसे उदाहरण दिए गए हैं.