सेगमेंटेशन

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 क्लॉज़ में संसाधन का रिसॉर्स_name फ़ील्ड दिखाया जाता है और मेट्रिक इसके ज़रिए सेगमेंट की जाती हैं. भले ही, रिसॉर्स_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 फ़ील्ड हमेशा वापस दिखता है, क्योंकि ad_group को FROM क्लॉज़ में संसाधन के तौर पर बताया गया था.

चुने जा सकने वाले सेगमेंट फ़ील्ड

FROM क्लॉज़ में दिए गए संसाधन के लिए, सभी सेगमेंट फ़ील्ड को नहीं चुना जा सकता. उदाहरण के लिए, हम ad_group संसाधन की मदद से क्वेरी करते रहेंगे. ad_group संसाधन से चुने जा सकने वाले सेगमेंट फ़ील्ड के लिए, ad_group के लिए Segments सूची में उस फ़ील्ड का मौजूद होना ज़रूरी है. Segments सूची, ad_group संसाधन के मेटाडेटा पेज पर उपलब्ध फ़ील्ड टेबल का पीला हिस्सा है.

सेगमेंट के रिसॉर्स

कुछ संसाधनों में से किसी एक को चुनते समय, आपके पास FROM क्लॉज़ में मौजूद संसाधनों के फ़ील्ड के साथ-साथ, मिलते-जुलते संसाधनों के फ़ील्ड चुनकर, असल में उनसे जुड़ने का विकल्प हो सकता है. मिलते-जुलते ये संसाधन, FROM क्लॉज़ के मेटाडेटा पेज में मौजूद संसाधन पर मौजूद Attributed Resources सूची में देखे जा सकते हैं. ad_group संसाधन के मामले में, आपको दिखेगा कि campaign संसाधन से भी फ़ील्ड चुने जा सकते हैं. किसी भी Attributed Resources का रिसॉर्स_name फ़ील्ड, SELECT क्लॉज़ में कम से कम एक फ़ील्ड के साथ अपने-आप मिल जाएगा. भले ही, resource_name फ़ील्ड को साफ़ तौर पर क्वेरी में शामिल न किया गया हो.

Attributed Resource फ़ील्ड को चुनने की तरह, Segmenting Resource फ़ील्ड को भी चुना जा सकता है. अगर दिए गए संसाधन के मेटाडेटा पेज पर Segmenting Resources सूची है, तो सूची में दिए गए किसी एक संसाधन से फ़ील्ड चुनने पर, क्वेरी को उस Segmenting 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 इस तरह काम करते हैं:

  • इन सेगमेंट को SELECT क्लॉज़ में दिखाए बिना ही, WHERE क्लॉज़ में फ़िल्टर किया जा सकता है.

  • अगर इनमें से कोई भी सेगमेंट 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) को एट्रिब्यूट किया गया था. इस तरह, हम इस नतीजे पर पहुंच सकते हैं कि एपीआई ने सही तरीके से काम किया और इस मामले में डुप्लीकेट ऑब्जेक्ट नहीं दिखाए.