संसाधन, सेगमेंट, और मेट्रिक फ़ील्ड के लिए क्वेरी, GoogleAdsService Search या SearchStream तरीके से भेजी जा सकती हैं. Google Ads Query Language में क्वेरी बनाने के लिए, भाषा के व्याकरण का इस्तेमाल करें. Google Ads Query Language के बारे में सामान्य जानकारी के लिए, Google Ads Query Language की खास जानकारी देखें. क्वेरी में कई क्लॉज़ होते हैं:
SELECTFROMWHEREORDER BYLIMITPARAMETERS
क्लॉज़ में फ़ील्ड के नाम, संसाधन के नाम, ऑपरेटर, शर्तें, और क्रम का इस्तेमाल किया जाता है, ताकि आपको सही डेटा चुनने में मदद मिल सके. एक क्वेरी में जोड़ने के बाद, अनुरोध को Google Ads API में भेजा जा सकता है.
क्लॉज़
यहां दिए गए सेक्शन में, Google Ads क्वेरी लैंग्वेज के हर क्लॉज़ के मकसद और सिंटैक्स के बारे में बताया गया है.
चुनें
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.idcampaign.name
- एट्रिब्यूट किए गए रिसॉर्स फ़ील्ड
bidding_strategy.idbidding_strategy.name
- सेगमेंट फ़ील्ड
segments.devicesegments.date
- मेट्रिक
metrics.impressionsmetrics.clicks
- ऐसे फ़ील्ड के लिए क्वेरी की जा रही है जिन्हें चुना नहीं जा सकता. इन फ़ील्ड के
selectableमेटाडेटा एट्रिब्यूट कोfalseके तौर पर मार्क किया गया है. - दोहराए गए फ़ील्ड के एट्रिब्यूट चुनना. इन फ़ील्ड के
is_repeatedमेटाडेटा एट्रिब्यूट को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 पैटर्न का पालन करती हैं (या BETWEEN value AND value, IS NULL या IS NOT NULL का इस्तेमाल करती हैं). क्वेरी में 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.datesegments.weeksegments.monthsegments.quartersegments.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 पर सेट होता है.
| क्वेरी | लौटाए गए संसाधन |
|---|---|
SELECT campaign.name, customer.id FROM campaign |
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
कोई नहीं
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
|
भाषा से जुड़े अन्य नियम
हर क्लॉज़ के उदाहरणों के अलावा, 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 campaignresource_nameफ़ील्ड (उदाहरण के लिए,campaign.resource_name) का इस्तेमाल, डेटा को फ़िल्टर या क्रम से लगाने के लिए किया जा सकता है:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'