सेगमेंटेशन

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 फ़ील्ड को दिखाया जाता है और इसके हिसाब से मेट्रिक को सेगमेंट में बांटा जाता है. ऐसा तब भी होता है, जब रिसॉर्स के नाम वाले फ़ील्ड को क्वेरी में साफ़ तौर पर शामिल न किया गया हो. उदाहरण के लिए, जब 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 काResource_name फ़ील्ड, जिसमें SELECT क्लॉज़ में कम से कम एक फ़ील्ड है, वह अपने-आप दिखेगा. भले ही, क्वेरी मेंresource_name फ़ील्ड को साफ़ तौर पर शामिल न किया गया हो.

Attributed Resource फ़ील्ड चुनने की तरह ही, Segmenting Resource फ़ील्ड भी चुना जा सकता है. अगर किसी संसाधन के मेटाडेटा पेज पर Segmenting Resources सूची मौजूद है, तो सूची में दिए गए संसाधनों में से किसी एक से फ़ील्ड चुनने पर, क्वेरी को उस Segmenting Resource के दिए गए source_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 सूची, साथ काम करने वाले सेगमेंट का बहुत छोटा सेट है. इसका मतलब है कि segments.hotel_check_in_date फ़ील्ड को SELECT क्लॉज़ में जोड़ने पर, आपके पास बचे हुए उपलब्ध सेगमेंट को इन दो सूचियों में शामिल सेगमेंट तक सीमित कर दिया जाएगा.

कुछ सेगमेंट जोड़ने पर, खास जानकारी वाली लाइन में मेट्रिक कम हो सकती हैं
जब 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) को दिया गया है. इस तरह, हम यह निष्कर्ष निकाल सकते हैं कि एपीआई ने उम्मीद के मुताबिक काम किया और इस मामले में डुप्लीकेट ऑब्जेक्ट नहीं लौटाए.