सेगमेंटेशन

सेगमेंटेशन, 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 > '2020-01-01'
  AND segments.date < '2020-02-01'
मान्य: यह क्वेरी, तारीख की सीमा के सभी दिनों के लिए, कैंपेन के नाम और तारीख के हिसाब से सेगमेंट किए गए क्लिक दिखाती है.
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
WHERE segments.date > '2020-01-01'
  AND segments.date < '2020-02-01'
मान्य: यह क्वेरी, तारीख की सीमा के सभी दिनों के लिए, कैंपेन के नाम और क्लिक को महीने के हिसाब से सेगमेंट में बांटकर दिखाती है.
SELECT
  campaign.name,
  metrics.clicks,
  segments.month
FROM campaign
WHERE segments.date > '2020-01-01'
  AND segments.date < '2020-02-01'
मान्य: यह क्वेरी, कैंपेन के नाम और क्लिक की जानकारी दिखाती है. यह जानकारी, साल की तय सीमा के सभी महीनों के लिए, तिमाही और फिर महीने के हिसाब से सेगमेंट में बांटी जाती है.
SELECT
  campaign.name,
  metrics.clicks,
  segments.quarter,
  segments.month
FROM campaign
WHERE segments.year > 2015
  AND segments.year < 2020

search_term_view

ध्यान दें कि search_term_view संसाधन के लिए, इसे सिर्फ़ खोज के लिए इस्तेमाल हुए शब्द के हिसाब से ही नहीं, बल्कि विज्ञापन ग्रुप के हिसाब से भी सेगमेंट में बांटा जाता है. इस बात की जानकारी, संसाधन के नाम के स्ट्रक्चर से मिलती है. इसमें विज्ञापन ग्रुप भी शामिल होता है. इसलिए, आपको खोज के लिए इस्तेमाल हुए शब्दों के हिसाब से, डुप्लीकेट जैसी दिखने वाली कुछ पंक्तियां दिखेंगी. हालांकि, असल में ये पंक्तियां किसी दूसरे विज्ञापन ग्रुप से जुड़ी होंगी:

{
  "results":[
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"3"
      },
      "segments":{
        "date":"2015-06-15"
      }
    },
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"2"
      },
      "segments":{
        "date":"2015-06-15"
      }
    }
  ]
}

इस उदाहरण में दिखाए गए दो ऑब्जेक्ट डुप्लीकेट लगते हैं. हालांकि, उनके रिसॉर्स के नाम अलग-अलग हैं. खास तौर पर, "विज्ञापन ग्रुप" वाले हिस्से में. इसका मतलब है कि खोज के लिए इस्तेमाल हुए शब्द "google photos" को एक ही तारीख (15-06-2015) को, दो विज्ञापन ग्रुप (आईडी 2222222222 और 33333333333) को एट्रिब्यूट किया गया है. इसलिए, हम यह निष्कर्ष निकाल सकते हैं कि एपीआई सही तरीके से काम कर रहा था और इस मामले में डुप्लीकेट ऑब्जेक्ट नहीं दिखाया.