सेगमेंटेशन, Google Ads के यूज़र इंटरफ़ेस (यूआई) में अलग मेन्यू के तौर पर उपलब्ध है. इसे Google Ads API में लागू करने के लिए, क्वेरी में सही फ़ील्ड जोड़ना ज़रूरी है. उदाहरण के लिए, किसी क्वेरी में segments.device
जोड़ने पर, FROM
क्लॉज़ में डिवाइस और तय किए गए संसाधन के हर कॉम्बिनेशन के लिए एक लाइन वाली रिपोर्ट बनती है. साथ ही, आंकड़ों से जुड़ी वैल्यू (इंप्रेशन, क्लिक, कन्वर्ज़न वगैरह) को उनके बीच बांटा जाता है.
Google Ads यूज़र इंटरफ़ेस (यूआई) में एक बार में सिर्फ़ एक सेगमेंट का इस्तेमाल किया जा सकता है. हालांकि, एपीआई की मदद से एक ही क्वेरी में कई सेगमेंट तय किए जा सकते हैं.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
इस क्वेरी को GoogleAdsService.SearchStream
पर भेजने से मिलने वाले नतीजे, इस JSON स्ट्रिंग की तरह दिखेंगे:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
ध्यान दें कि ऊपर दिए गए सैंपल के नतीजे में, पहले और दूसरे ऑब्जेक्ट के एट्रिब्यूट एक जैसे हैं. इनमें संसाधन का नाम भी शामिल है. इंप्रेशन को डिवाइस के हिसाब से सेगमेंट में बांटा जाता है. इसलिए, एक ही कैंपेन के लिए दो या उससे ज़्यादा ऑब्जेक्ट दिखाए जा सकते हैं.
इंप्लिसिट सेगमेंटेशन
हर रिपोर्ट को शुरुआत में, FROM
क्लॉज़ में बताए गए संसाधन के हिसाब से सेगमेंट में बांटा जाता है. FROM
क्लॉज़ में मौजूद रिसॉर्स का resource_name फ़ील्ड दिखाया जाता है और मेट्रिक को उसके हिसाब से सेगमेंट में बांटा जाता है. भले ही, resource_name फ़ील्ड को क्वेरी में साफ़ तौर पर शामिल न किया गया हो. उदाहरण के लिए, जब FROM
क्लॉज़ में ad_group
को रिसॉर्स के तौर पर बताया जाता है, तो ad_group.resource_name
अपने-आप दिखेगा और मेट्रिक, ad_group लेवल पर इसके हिसाब से सेगमेंट कर देंगी.
इसलिए, इस क्वेरी के लिए,
SELECT metrics.impressions
FROM ad_group
आपको इस तरह की JSON स्ट्रिंग मिलेगी:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
ध्यान दें कि adGroup
का resource_name
फ़ील्ड हमेशा दिखाया जाता है, क्योंकि FROM
क्लॉज़ में ad_group
को संसाधन के तौर पर बताया गया था.
चुने जा सकने वाले सेगमेंट फ़ील्ड
FROM
क्लॉज़ में किसी दिए गए संसाधन के लिए, सभी सेगमेंट फ़ील्ड नहीं चुने जा सकते.
उदाहरण के लिए, हम ad_group
रिसोर्स से क्वेरी करना जारी रखेंगे. किसी सेगमेंट फ़ील्ड को ad_group रिसॉर्स से चुना जा सकता है. इसके लिए, ज़रूरी है कि वह फ़ील्ड, ad_group के लिए Segments
सूची में मौजूद हो. Segments
सूची, ad_group
संसाधन के मेटाडेटा पेज पर, उपलब्ध फ़ील्ड टेबल का पीला हिस्सा है.
सेगमेंट के संसाधन
कुछ संसाधनों में से चुनते समय, आपके पास FROM
क्लॉज़ में संसाधन के फ़ील्ड के साथ-साथ, उनसे जुड़े संसाधनों के फ़ील्ड चुनकर, उनसे जुड़े संसाधनों में शामिल होने का विकल्प हो सकता है. इनसे जुड़े संसाधन, FROM
क्लॉज़ के मेटाडेटा पेज पर मौजूद संसाधन की Attributed Resources
सूची में देखे जा सकते हैं. ad_group
रिसॉर्स के मामले में, आपको दिखेगा कि campaign
रिसॉर्स से भी फ़ील्ड चुने जा सकते हैं. SELECT
क्लॉज़ में कम से कम एक फ़ील्ड वाले किसी भी Attributed Resources
का resource_name फ़ील्ड अपने-आप दिखेगा. भले ही, क्वेरी में resource_name फ़ील्ड साफ़ तौर पर शामिल न किया गया हो.
Attributed Resource
फ़ील्ड चुनने की तरह ही, Segmenting Resource
फ़ील्ड भी चुने जा सकते हैं. अगर किसी संसाधन के मेटाडेटा पेज पर Segmenting Resources
सूची है, तो सूची में शामिल किसी संसाधन से फ़ील्ड चुनने पर, क्वेरी को उस Segmenting Resource
के दिखाए गए resource_name के हिसाब से अलग-अलग सेगमेंट में बांटा जाएगा. उदाहरण के लिए, आपको पता चलेगा कि campaign
रिसॉर्स, campaign_budget
रिसॉर्स के लिए Segmenting Resource
के तौर पर सूची में शामिल है. campaign_budget रिसॉर्स से campaign.name
जैसे किसी भी कैंपेन फ़ील्ड को चुनने पर, न सिर्फ़ campaign.name फ़ील्ड दिखेगा, बल्कि campaign.resource_name
फ़ील्ड भी दिखेगा और उस पर सेगमेंट किए जाएंगे.
सेगमेंट और मेट्रिक में से किसी एक को चुनना
ऐसा हो सकता है कि कोई सेगमेंट फ़ील्ड, कुछ अन्य सेगमेंट फ़ील्ड या कुछ मेट्रिक फ़ील्ड के साथ काम न करे. यह पता लगाने के लिए कि कौनसे सेगमेंट फ़ील्ड एक-दूसरे के साथ काम करते हैं, SELECT
क्लॉज़ में सेगमेंट की selectable_with
सूची देखी जा सकती है.
ad_group
संसाधन के मामले में, 50 से ज़्यादा सेगमेंट उपलब्ध हैं, जिन्हें चुना जा सकता है. हालांकि, segments.hotel_check_in_date
के लिए selectable_with
सूची, काम करने वाले सेगमेंट का एक बहुत छोटा सेट है. इसका मतलब है कि अगर SELECT
क्लॉज़ में segments.hotel_check_in_date
फ़ील्ड जोड़ा जाता है, तो आपके पास चुनने के लिए बचे उपलब्ध सेगमेंट, इन दोनों सूचियों के इंटरसेक्शन तक सीमित हो जाएंगे.
- कुछ सेगमेंट जोड़ने पर, खास जानकारी वाली लाइन में मेट्रिक की संख्या कम हो सकती है
- जब
segments.keyword.info.match_type
कोFROM ad_group_ad
वाली क्वेरी में जोड़ा जाता है, तो वह सेगमेंट क्वेरी को बताता है कि सिर्फ़ उस डेटा की पंक्तियां पाएं जिनमें कीवर्ड हैं. साथ ही, ऐसी किसी भी पंक्ति को हटा दें जो किसी कीवर्ड से जुड़ी नहीं है. इस मामले में, मेट्रिक कम होंगी, क्योंकि इसमें बिना कीवर्ड वाली कोई भी मेट्रिक शामिल नहीं होगी.
WHERE क्लॉज़ में सेगमेंट के लिए नियम
जब कोई सेगमेंट WHERE
क्लॉज़ में होता है, तो उसे SELECT
क्लॉज़ में भी होना चाहिए. इस नियम के अपवाद, तारीख के ये सेगमेंट हैं, जिन्हें मुख्य तारीख के सेगमेंट कहा जाता है:
segments.date
segments.week
segments.month
segments.quarter
segments.year
कोर डेट सेगमेंट फ़ील्ड के लिए नियम
segments.date
, segments.week
, segments.month
,
segments.quarter
, और segments.year
सेगमेंट इस तरह काम करते हैं:
इन सेगमेंट को
WHERE
क्लॉज़ में फ़िल्टर किया जा सकता है, ताकि वेSELECT
क्लॉज़ में न दिखें.अगर इनमें से कोई सेगमेंट
SELECT
क्लॉज़ में है, तोWHERE
क्लॉज़ में कोर डेटा सेगमेंट से बनी तारीख की सीमित सीमा तय की जानी चाहिए. हालांकि, यह ज़रूरी नहीं है कि तारीख के ये सेगमेंट,SELECT
में बताए गए सेगमेंट ही हों.
उदाहरण
अमान्य: segments.date , SELECT क्लॉज़ में है. इसलिए, आपको segments.date , segments.week , segments.month , segments.quarter या segments.year के लिए, WHERE क्लॉज़ में तारीख की कोई सीमा तय करनी होगी.
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
मान्य: यह क्वेरी, तारीख की सीमा के दौरान मिले कैंपेन के नाम और क्लिक दिखाती है. ध्यान दें कि segments.date को SELECT क्लॉज़ में शामिल करने की ज़रूरत नहीं है.
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
मान्य: यह क्वेरी, तारीख की सीमा के सभी दिनों के लिए, कैंपेन के नाम और तारीख के हिसाब से सेगमेंट किए गए क्लिक दिखाती है. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
मान्य: यह क्वेरी, तारीख की सीमा के सभी दिनों के लिए, कैंपेन के नाम और क्लिक को महीने के हिसाब से सेगमेंट में बांटकर दिखाती है. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
मान्य: यह क्वेरी, कैंपेन के नाम और क्लिक की जानकारी दिखाती है. यह जानकारी, साल की तय सीमा के सभी महीनों के लिए, तिमाही और फिर महीने के हिसाब से सेगमेंट में बांटी जाती है. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2019 AND segments.year < 2024 |
search_term_view
ध्यान दें कि search_term_view
संसाधन के लिए, इसे सिर्फ़ खोज के लिए इस्तेमाल हुए शब्द के हिसाब से ही नहीं, बल्कि विज्ञापन ग्रुप के हिसाब से भी सेगमेंट में बांटा जाता है. इस बात की जानकारी, संसाधन के नाम के स्ट्रक्चर से मिलती है. इसमें विज्ञापन ग्रुप भी शामिल होता है. इसलिए, आपको खोज के लिए इस्तेमाल हुए शब्दों के हिसाब से, डुप्लीकेट पंक्तियां दिखेंगी. हालांकि, असल में ये पंक्तियां किसी दूसरे विज्ञापन ग्रुप से जुड़ी होंगी:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2024-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2024-06-15"
}
}
]
}
इस उदाहरण में दिखाए गए दो ऑब्जेक्ट डुप्लीकेट लगते हैं, लेकिन उनके रिसॉर्स के नाम अलग-अलग हैं. खास तौर पर, "विज्ञापन ग्रुप" वाले हिस्से में. इसका मतलब है कि खोज के लिए इस्तेमाल हुए शब्द "google photos" को एक ही तारीख (15-06-2024) को, दो विज्ञापन ग्रुप (आईडी 2222222222
और 33333333333
) को एट्रिब्यूट किया गया है.
इसलिए, हम यह निष्कर्ष निकाल सकते हैं कि एपीआई सही तरीके से काम कर रहा था और इस मामले में डुप्लीकेट ऑब्जेक्ट नहीं दिखाया.