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

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

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

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

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

  • GoogleAdsService Search या SearchStream का इस्तेमाल करके, संसाधन और उनसे जुड़े एट्रिब्यूट, सेगमेंट, और मेट्रिक: GoogleAdsService क्वेरी का नतीजा, GoogleAdsRow इंस्टेंस की सूची होती है. इसमें हर GoogleAdsRow एक संसाधन को दिखाता है.

    अगर किसी एट्रिब्यूट या मेट्रिक के लिए अनुरोध किया जाता है, तो पंक्ति में वे फ़ील्ड भी शामिल होते हैं. अगर किसी सेगमेंट के लिए अनुरोध किया जाता है, तो जवाब में हर सेगमेंट-संसाधन टपल के लिए एक अतिरिक्त पंक्ति भी दिखती है.

  • GoogleAdsFieldService में उपलब्ध फ़ील्ड और संसाधनों के बारे में मेटाडेटा: यह सेवा, क्वेरी किए जा सकने वाले फ़ील्ड का कैटलॉग उपलब्ध कराती है. इसमें उनकी कंपैटबिलटी और टाइप के बारे में खास जानकारी होती है.

    GoogleAdsFieldService क्वेरी का नतीजा, GoogleAdsField इंस्टेंस की सूची होती है. इसमें हर GoogleAdsField में अनुरोध किए गए फ़ील्ड के बारे में जानकारी होती है.

क्वेरी के स्ट्रक्चर के बारे में ज़्यादा जानकारी के लिए, क्वेरी का स्ट्रक्चर और Google Ads Query Language का व्याकरण देखें.

संसाधन के एट्रिब्यूट के लिए क्वेरी करना

यहां कैंपेन संसाधन के एट्रिब्यूट के लिए एक बुनियादी क्वेरी का उदाहरण दिया गया है. इससे पता चलता है कि कैंपेन आईडी, नाम, और स्थिति कैसे दिखाई जाती है:

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, कैंपेन और तारीख Segment के टपल को दिखाता है. सेगमेंट करने से, चुने गए मेट्रिक को बांटा जाता है. साथ ही, 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 से ज़्यादा इंप्रेशन पाने वाले सभी कैंपेन के लिए क्वेरी करें. 1. जवाब में मौजूद हर GoogleAdsRow के campaign फ़ील्ड से, Campaign ऑब्जेक्ट पाएं. 1. हर कैंपेन की स्थिति को PAUSED से बदलकर ENABLED करें. 1. कैंपेन को अपडेट करने के लिए, उनमें किए गए बदलावों के साथ 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 दस्तावेज़ देखें.

कोड के उदाहरण

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