सेगमेंटेशन

सेगमेंटेशन, 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 अपने-आप वापस आ जाएगा. साथ ही, मेट्रिक को विज्ञापन ग्रुप लेवल पर इसके हिसाब से सेगमेंट किया जाएगा.

इसलिए, इस क्वेरी के लिए

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 फ़ील्ड भी दिखता है और सेगमेंट किया जाता है.

सेगमेंट और मेट्रिक के बीच चुनने की सुविधा

ऐसा हो सकता है कि कोई सेगमेंट फ़ील्ड, कुछ अन्य सेगमेंट फ़ील्ड या कुछ मेट्रिक फ़ील्ड के साथ काम न करे. यह पता लगाने के लिए कि कौनसे सेगमेंट फ़ील्ड एक-दूसरे के साथ काम करते हैं, selectable_with क्लॉज़ में मौजूद सेगमेंट की SELECT सूची देखें.

ad_group संसाधन के लिए, 50 से ज़्यादा सेगमेंट उपलब्ध हैं. इनमें से किसी को भी चुना जा सकता है. हालांकि, segments.hotel_check_in_date के लिए selectable_with सूची में, काम करने वाले सेगमेंट का एक छोटा सेट होता है. इसका मतलब है कि अगर आपने segments.hotel_check_in_date फ़ील्ड को SELECT क्लॉज़ में जोड़ा है, तो आपके पास चुनने के लिए उपलब्ध सेगमेंट की संख्या कम हो जाएगी. ये सेगमेंट, इन दोनों सूचियों के इंटरसेक्शन के बराबर होंगे.

कुछ सेगमेंट जोड़ने पर, ऐसा हो सकता है कि खास जानकारी वाली लाइन में मौजूद मेट्रिक कम हो जाएं. जब FROM ad_group_ad वाली क्वेरी में segments.keyword.info.match_type जोड़ा जाता है, तो यह सेगमेंट क्वेरी को सिर्फ़ उन डेटा लाइनों को पाने के लिए कहता है जिनमें कीवर्ड हैं. साथ ही, यह सेगमेंट क्वेरी को ऐसी किसी भी लाइन को हटाने के लिए कहता है जो किसी कीवर्ड से जुड़ी नहीं है. इस मामले में, मेट्रिक कम होंगी, क्योंकि इनमें कीवर्ड के अलावा अन्य मेट्रिक शामिल नहीं होती हैं.

WHERE क्लॉज़ में सेगमेंट के लिए नियम

अगर कोई सेगमेंट WHERE क्लॉज़ में है, तो वह SELECT क्लॉज़ में भी होना चाहिए. इस नियम के अपवाद के तौर पर, तारीख के ये सेगमेंट इस्तेमाल किए जा सकते हैं. इन्हें तारीख के मुख्य सेगमेंट कहा जाता है:

  • segments.date
  • segments.week
  • segments.month
  • segments.quarter
  • segments.year

कोर डेट सेगमेंट फ़ील्ड के लिए नियम

सेगमेंट segments.date, segments.week, segments.month, segments.quarter, और segments.year इस तरह काम करते हैं:

  • इन सेगमेंट को WHERE क्लॉज़ में फ़िल्टर किया जा सकता है. हालांकि, ये 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" को एक ही तारीख (2024-06-15) को दो विज्ञापन ग्रुप (आईडी 2222222222 और 33333333333) के लिए एट्रिब्यूट किया गया है. इसलिए, हम यह कह सकते हैं कि एपीआई ने सही तरीके से काम किया और इस मामले में डुप्लीकेट ऑब्जेक्ट नहीं दिखाए.