Google Ads क्वेरी लैंग्वेज

मुख्य शब्दावली

संसाधन
Google Ads में मौजूद कोई इकाई, जैसे कि campaign या ad_group.
सेगमेंट
डेटा को ग्रुप करने के लिए इस्तेमाल किया जाने वाला डाइमेंशन. जैसे, segments.date या segments.device. जब सेगमेंट को मेट्रिक के साथ SELECT क्लॉज़ में शामिल किया जाता है, तो मेट्रिक को सेगमेंट के हिसाब से बांटा जाता है.
मेट्रिक
परफ़ॉर्मेंस का मेज़रमेंट, जैसे कि metrics.impressions या metrics.clicks.
एट्रिब्यूट किया गया संसाधन
यह एक ऐसा संसाधन होता है जो FROM क्लॉज़ में मुख्य संसाधन से अपने-आप जुड़ जाता है. इससे आपको मुख्य संसाधन के एट्रिब्यूट के साथ-साथ इसके एट्रिब्यूट भी चुनने की सुविधा मिलती है.

संसाधन या मेटाडेटा की जानकारी के लिए क्वेरी करना

Google Ads क्वेरी लैंग्वेज, Google Ads API से इस तरह की जानकारी के लिए क्वेरी कर सकती है:

  • GoogleAdsService Search या 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 का इस्तेमाल करें.
  • ध्यान रखें कि कुछ फ़ील्ड, क्वेरी की लागत बढ़ा सकते हैं. खास तौर पर, ऐसे फ़ील्ड जिनमें बड़ी मात्रा में डेटा शामिल होता है या जटिल कैलकुलेशन की जाती हैं.

क्वेरी के नतीजों के आधार पर बदलाव करना

किसी संसाधन के लिए क्वेरी करते समय, मिले हुए नतीजों को तुरंत ऑब्जेक्ट के तौर पर इस्तेमाल किया जा सकता है. साथ ही, उनमें बदलाव करके, उस संसाधन की सेवा में मौजूद म्यूटेट तरीके को वापस भेजा जा सकता है. यहां वर्कफ़्लो का एक सैंपल दिया गया है:

  1. उन सभी PAUSED कैंपेन के लिए क्वेरी चलाएं जिनके इंप्रेशन 1,000 से ज़्यादा हैं.
  2. जवाब में मौजूद हर GoogleAdsRow के campaign फ़ील्ड से Campaign ऑब्जेक्ट पाएं.
  3. हर कैंपेन की स्थिति को PAUSED से बदलकर ENABLED करें.
  4. बदले गए कैंपेन और उनसे जुड़े 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 में चुना जा सकता है.
  • विस्तृत डेटा लुकबैक गड़बड़ी कोड: 37 महीने की लुकबैक विंडो से बाहर की क्वेरी, segments.date, segments.week या segments.hour के हिसाब से सेगमेंट करती हैं. इसके अलावा, महीने के हिसाब से तारीख की सीमा पर फ़िल्टर करती हैं. ये क्वेरी, v24 और उसके बाद के वर्शन में DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED या v23 में DateRangeError.UNKNOWN दिखाती हैं. ज़्यादा जानकारी के लिए, तारीख की सीमाएं देखें.

कोड के उदाहरण

क्लाइंट लाइब्रेरी में, GoogleAdsService में Google Ads क्वेरी लैंग्वेज का इस्तेमाल करने के उदाहरण दिए गए हैं. बेसिक ऑपरेशन फ़ोल्डर में GetCampaigns, GetKeywords, और SearchForGoogleAdsFields जैसे उदाहरण दिए गए हैं.