संसाधन, सेगमेंट, और मेट्रिक फ़ील्ड के लिए क्वेरी, 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
क्लॉज़ में सिर्फ़ एक रिसॉर्स मौजूद हो सकता है. हालांकि, एट्रिब्यूट किए गए रिसॉर्स के फ़ील्ड भी उपलब्ध हो सकते हैं. ये संसाधन, 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 Query Language में ये व्यवहार होते हैं जिनका इस्तेमाल किया जा सकता है:
क्वेरी के लिए, मुख्य संसाधन फ़ील्ड का
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'