रिसॉर्स, सेगमेंट, और मेट्रिक फ़ील्ड के लिए क्वेरी, GoogleAdsService
Search या SearchStream तरीकों पर भेजी जा सकती हैं. Google Ads क्वेरी लैंग्वेज में क्वेरी बनाने के लिए, आपको भाषा के व्याकरण का इस्तेमाल करके इसे बनाना होगा. क्वेरी कई क्लॉज़ से बनी होती है:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
क्लॉज़ में फ़ील्ड के नाम, संसाधन के नाम, ऑपरेटर, शर्तें, और क्रम का इस्तेमाल किया जाता है, ताकि आपको सही डेटा चुनने में मदद मिल सके. सभी क्वेरी को एक साथ जोड़ने के बाद, Google Ads API का इस्तेमाल करके अनुरोध किया जा सकता है.
क्लॉज़
वीडियो: GAQL फ़ील्ड के साथ काम करने की सुविधा
चुनें
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
क्लॉज़ की मदद से, यह तय किया जा सकता है कि कितने नतीजे दिखाने हैं.
यह तब काम आता है, जब आपको सिर्फ़ खास जानकारी चाहिए.
उदाहरण के लिए, 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
पर सेट होती है.
omit_unselected_resource_names के उदाहरण | |
---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources:campaign.resource_name
omit_unselected_resource_names डिफ़ॉल्ट रूप से false पर सेट होता है, इसलिए
सभी resource_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'