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 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 जैसे उदाहरण दिए गए हैं.