रिसॉर्स, सेगमेंट, और मेट्रिक फ़ील्ड के लिए क्वेरी, GoogleAdsService
Search या SearchStream तरीकों में भेजी जा सकती हैं. Google Ads क्वेरी लैंग्वेज में क्वेरी बनाने के लिए, आपको उसे भाषा के व्याकरण का इस्तेमाल करके बनाना होगा. क्वेरी में कई
खंड होते हैं:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
सही डेटा चुनने में आपकी मदद के लिए सेक्शन में फ़ील्ड के नाम, संसाधन के नाम, ऑपरेटर, शर्तों, और ऑर्डर का इस्तेमाल किया जाता है. एक बार क्वेरी में जोड़े जाने के बाद, Google Ads API का इस्तेमाल करके अनुरोध किया जा सकता है.
उपनियम
वीडियो: GAQL फ़ील्ड के साथ काम करने की सुविधा
SELECT
SELECT
क्लॉज़, अनुरोध में फ़ेच करने के लिए फ़ील्ड के सेट के बारे में बताता है.
SELECT
, रिसॉर्स फ़ील्ड, सेगमेंट फ़ील्ड, और मेट्रिक की कॉमा-सेपरेटेड लिस्ट लेता है. इससे रिस्पॉन्स में वैल्यू दिखाई जाती हैं. किसी क्वेरी में SELECT
क्लॉज़ ज़रूरी है.
नीचे दी गई उदाहरण क्वेरी में, दिए गए संसाधन के लिए एट्रिब्यूट चुनने का एक उदाहरण दिया गया है:
SELECT
campaign.id,
campaign.name
FROM campaign
एक ही अनुरोध में अलग-अलग फ़ील्ड टाइप के लिए अनुरोध किया जा सकता है, उदाहरण के लिए:
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
संसाधन फ़ील्ड
campaign.id
campaign.name
संसाधन फ़ील्ड
bidding_strategy.id
bidding_strategy.name
सेगमेंट फ़ील्ड
segments.device
segments.date
मेट्रिक
metrics.impressions
metrics.clicks
इन पाबंदियों की वजह से, हो सकता है कि SELECT
क्लॉज़ में कुछ फ़ील्ड की अनुमति न हो:
- ऐसे फ़ील्ड की क्वेरी की जा रही है जिन्हें चुना नहीं जा सकता. इन फ़ील्ड की
Selectable
मेटाडेटा एट्रिब्यूट कोfalse
के तौर पर मार्क किया जाएगा. - दोहराए गए फ़ील्ड के एट्रिब्यूट चुनना. इन फ़ील्ड की
isRepeated
मेटाडेटा एट्रिब्यूट कोtrue
के तौर पर मार्क किया जाएगा. - ऐसे फ़ील्ड चुनना जो
FROM
क्लॉज़ में, दिए गए संसाधन के लिए उपलब्ध नहीं हैं. कुछ संसाधनों के एट्रिब्यूट एक साथ नहीं चुने जा सकते. साथ ही,FROM
क्लॉज़ में संसाधन के लिए सभी मेट्रिक और सेगमेंट का सिर्फ़ एक सबसेट उपलब्ध होगा. - ऐसे सेगमेंट या मेट्रिक चुनना जो एक-दूसरे के साथ काम नहीं करते. इस बारे में ज़्यादा जानकारी के लिए, सेगमेंट को बांटने वाला सेक्शन देखें.
ऊपर दी गई स्थितियों से जुड़ी जानकारी हमारे रेफ़रंस दस्तावेज़ों में या GoogleAdsFieldService
से पाई जा सकती है.
FROM
FROM
क्लॉज़ उस मुख्य रिसॉर्स के बारे में बताता है जिसे दिखाया जाएगा. FROM
क्लॉज़ में मौजूद रिसॉर्स से पता चलता है कि किसी क्वेरी के लिए, दूसरे सभी क्लॉज़ के किन फ़ील्ड का इस्तेमाल किया जा सकता है. FROM
क्लॉज़ में सिर्फ़ एक रिसॉर्स के बारे में बताया जा सकता है. GoogleAdsService
Search या SearchStream तरीकों की क्वेरी में, FROM
क्लॉज़ की जानकारी ज़रूरी है. हालांकि, GoogleAdsFieldService
का इस्तेमाल करते समय, इसके बारे में जानकारी नहीं देनी चाहिए.
किसी क्वेरी के लिए FROM
क्लॉज़ में सिर्फ़ एक रिसॉर्स मौजूद हो सकता है. हालांकि, एट्रिब्यूट वाले रिसॉर्स के फ़ील्ड भी उपलब्ध हो सकते हैं. ये रिसॉर्स,
FROM
क्लॉज़ में मौजूद रिसॉर्स के साथ बिना किसी रुकावट के जोड़े जाते हैं. इसलिए, आपको उनकी वैल्यू देने के लिए सिर्फ़ उनके एट्रिब्यूट को SELECT
क्लॉज़ में जोड़ना होगा. सभी संसाधनों में एट्रिब्यूट किए गए रिसॉर्स नहीं होते. यहां दिए गए उदाहरण में, विज्ञापन ग्रुप से विज्ञापन ग्रुप आईडी और कैंपेन आईडी, दोनों का अनुरोध किया जा सकता है:
SELECT
campaign.id,
ad_group.id
FROM ad_group
मुख्य संसाधन का resource_name
फ़ील्ड हमेशा दिखाया जाता है.
इस उदाहरण में, क्वेरी में साफ़ तौर पर न चुने जाने के बावजूद, ad_group.resource_name
को जवाब में शामिल किया जाएगा:
SELECT ad_group.id
FROM ad_group
जब कम से कम एक फ़ील्ड चुना जाता है, तब अन्य संसाधनों पर भी यही बात लागू होती है.
उदाहरण के लिए: यहां दी गई क्वेरी के जवाब में campaign.resource_name
को शामिल किया जाएगा:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE
WHERE
क्लॉज़ में, अनुरोध के लिए डेटा फ़िल्टर करते समय लागू होने वाली शर्तों के बारे में बताया गया है. WHERE
क्लॉज़ का इस्तेमाल करते समय, उन्हें अलग करने के लिए AND
का इस्तेमाल करके एक या उससे ज़्यादा शर्तों के बारे में बताया जा सकता है. हर शर्त, field_name Operator value
पैटर्न के हिसाब से होनी चाहिए. क्वेरी में WHERE
क्लॉज़ ज़रूरी नहीं है.
यहां दी गई समयावधि से मेट्रिक दिखाने के लिए, WHERE
का इस्तेमाल करने का एक उदाहरण दिया गया है:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
डेटा को फ़िल्टर करने के लिए, कई शर्तों को जोड़ा जा सकता है. इस उदाहरण में, पिछले 30 दिनों में मोबाइल पर इंप्रेशन वाले सभी कैंपेन के लिए क्लिक की संख्या का अनुरोध किया जाएगा.
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
WHERE
क्लॉज़ के सेगमेंट, SELECT
क्लॉज़ में होने चाहिए. साथ ही, यहां तारीख के सेगमेंट भी होने चाहिए. इन सेगमेंट को मुख्य तारीख वाले सेगमेंट कहा जाता है. हालांकि, इसे अपवाद माना जा सकता है:
segments.date
segments.week
segments.month
segments.quarter
segments.year
यहां दी गई क्वेरी में, ध्यान दें कि segments.date
को चुना गया है.
यह सेगमेंट, तारीख का मुख्य सेगमेंट है. इसलिए, इसके लिए WHERE
क्लॉज़ में तारीख के मुख्य सेगमेंट से जुड़ी, तारीख की एक सीमित सीमा की ज़रूरत होती है.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ऊपर दी गई शर्त को पूरा करने वाले सभी सेगमेंट हैं: segments.date, segments.week,
segments.month, segments.quarter, और segments.year. अगर इनमें से किसी भी सेगमेंट को चुना गया है, तो WHERE
क्लॉज़ में कम से कम एक सेगमेंट का इस्तेमाल किया जाना चाहिए.
फ़िल्टर करते समय, आपके ऑपरेटर की केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) का ध्यान रखना ज़रूरी होता है. ज़्यादा जानकारी के लिए, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) लेख पढ़ें.
ऑपरेटर की पूरी सूची देखने के लिए, भाषा व्याकरण देखें.
ORDER BY
ORDER BY
क्लॉज़ उस क्रम के बारे में बताता है जिसमें नतीजे दिखाए जाते हैं. इसकी मदद से, फ़ील्ड के नाम के आधार पर, डेटा को बढ़ते या घटते क्रम में रखा जा सकता है. हर ऑर्डर को field_name
के तौर पर दिखाया जाता है. इसके बाद, ASC
या DESC
आता है. अगर ASC
या DESC
, दोनों के बारे में नहीं बताया गया है, तो ऑर्डर डिफ़ॉल्ट रूप से ASC
पर सेट होगा. क्वेरी में ORDER BY
क्लॉज़ ज़रूरी नहीं है.
नीचे दी गई क्वेरी, लौटाए गए कैंपेन को सबसे ज़्यादा से सबसे कम क्लिक के हिसाब से क्रम में लगाती है:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
ORDER BY
क्लॉज़ में एक से ज़्यादा फ़ील्ड के बारे में बताने के लिए, कॉमा लगाकर अलग की गई सूची का इस्तेमाल किया जा सकता है. ये क्रम उसी क्रम में लागू होंगे जो क्वेरी में बताया गया है.
उदाहरण के लिए, विज्ञापन ग्रुप का डेटा चुनते समय इस क्वेरी के नतीजों को
कैंपेन के नाम के मुताबिक बढ़ते क्रम में, फिर इंप्रेशन की संख्या के हिसाब से
घटते क्रम में, फिर
क्लिक की संख्या के हिसाब से घटते क्रम में रखा जाएगा:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
सीमा
LIMIT
क्लॉज़ की मदद से, यह तय किया जा सकता है कि कितने नतीजे दिखाए जाएंगे.
यह तब काम आता है, जब आपको सिर्फ़ जवाब में दिलचस्पी हो.
उदाहरण के लिए, LIMIT
का इस्तेमाल नीचे दी गई क्वेरी के लिए नतीजों की कुल संख्या को सीमित करने के लिए किया जा सकता है:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
पैरामीटर
PARAMETERS
क्लॉज़ की मदद से, अनुरोध के लिए मेटा पैरामीटर तय किए जा सकते हैं.
इन पैरामीटर से, इस बात पर असर पड़ सकता है कि किस तरह की लाइनें दिखती हैं.
फ़िलहाल, नीचे दिए गए मेटा पैरामीटर इस्तेमाल किए जा सकते हैं:
include_drafts
ड्राफ़्ट इकाइयों को लौटाने की अनुमति देने के लिए, include_drafts
को true
पर सेट करें.
डिफ़ॉल्ट वैल्यू false
होती है.
उदाहरण के लिए, यह क्वेरी, सामान्य कैंपेन के साथ-साथ ड्राफ़्ट कैंपेन को फ़ेच करती है:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
omit_unselected_resource_names
को true
पर सेट करें, ताकि रिस्पॉन्स में हर तरह के संसाधन का नाम तब तक न दिखे, जब तक SELECT
क्लॉज़ में साफ़ तौर पर अनुरोध न किया गया हो. डिफ़ॉल्ट वैल्यू false
होती है.
छोड़ें_unselected_resource_names के उदाहरण | |
---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources:campaign.resource_name
omit_unselected_resource_names , false को डिफ़ॉल्ट रूप से सेट करता है, इसलिए
सभी रिसॉर्स_name फ़ील्ड दिखाए जाते हैं.
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resources: कोई नहीं. omit_unselected_resource_names को true
के तौर पर बताया गया है और campaign.resource_name और customer.resource_name
SELECT क्लॉज़ का हिस्सा नहीं हैं.
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resource:campaign.resource_name
omit_unselected_resource_names को true
के तौर पर बताया गया है
और campaign.resource_name को
SELECT क्लॉज़ के हिस्से के तौर पर अनुरोध किया गया है.
|
भाषा के अन्य नियम
हर क्लॉज़ के उदाहरणों के अलावा, Google Ads क्वेरी लैंग्वेज में नीचे दिए गए व्यवहार हैं, जिनका इस्तेमाल किया जा सकता है:
क्वेरी के
SELECT
क्लॉज़ में, मुख्य संसाधन फ़ील्ड का होना ज़रूरी नहीं है. उदाहरण के लिए, हो सकता है कि आप डेटा फ़िल्टर करने के लिए सिर्फ़ एक या एक से ज़्यादा मुख्य संसाधन फ़ील्ड का इस्तेमाल करना चाहें:SELECT campaign.id FROM ad_group WHERE ad_group.status = PAUSED
किसी संसाधन के लिए मेट्रिक को खास तौर पर चुना जा सकता है; क्वेरी में संसाधन के किसी दूसरे फ़ील्ड की ज़रूरत नहीं होती:
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaign
सेगमेंटेशन फ़ील्ड को किसी भी संसाधन फ़ील्ड या मेट्रिक के बिना चुना जा सकता है:
SELECT segments.device FROM campaign
resource_name
फ़ील्ड (उदाहरण के लिए,campaign.resource_name
) का इस्तेमाल, डेटा को फ़िल्टर करने या उसे क्रम से लगाने के लिए किया जा सकता है:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'