সেগমেন্টেশন

Google Ads UI-তে একটি পৃথক মেনু হিসেবে সেগমেন্টেশন পাওয়া যায়। আপনি একটি কোয়েরিতে সঠিক ক্ষেত্র যোগ করে Google Ads API-তে সেগমেন্টেশন বাস্তবায়ন করতে পারেন। উদাহরণস্বরূপ, ধরুন আপনি একটি কোয়েরিতে segments.device যোগ করেন। এর ফলে FROM ধারায় ডিভাইসের প্রতিটি সংমিশ্রণ এবং নির্দিষ্ট রিসোর্সের জন্য একটি সারি সহ একটি প্রতিবেদন তৈরি হয় এবং পরিসংখ্যানগত মান (ইম্প্রেশন, ক্লিক, রূপান্তর ইত্যাদি) তাদের মধ্যে বিভক্ত হয়।

Google Ads UI-তে, একবারে শুধুমাত্র একটি অংশ ব্যবহার করা যেতে পারে, কিন্তু API-এর সাহায্যে আপনি একই কোয়েরিতে একাধিক অংশ নির্দিষ্ট করতে পারেন।

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 ক্ষেত্রটি সর্বদা ফেরত পাঠানো হয় কারণ ad_group FROM ধারায় একটি resource হিসেবে নির্দিষ্ট করা আছে।

নির্বাচনযোগ্য সেগমেন্ট ক্ষেত্র

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 রিসোর্সের ক্ষেত্রে, ৫০+ উপলব্ধ অংশ আপনি নির্বাচন করতে পারেন। তবে, 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 এই বিভাগগুলি নিম্নরূপ কাজ করে:

  • এই অংশগুলি SELECT ধারায় উপস্থিত না হয়ে WHERE ধারায় ফিল্টার করা যেতে পারে।

  • যদি এই অংশগুলির মধ্যে কোনটি SELECT ধারায় থাকে, তাহলে WHERE ধারায় মূল তারিখ অংশগুলির সমন্বয়ে গঠিত একটি সীমিত তারিখ পরিসর নির্দিষ্ট করতে হবে। তারিখ অংশগুলি SELECT এ উল্লেখিত একই হতে হবে না।

উদাহরণ

অবৈধ: যেহেতু segments.date SELECT ধারায় আছে, তাই আপনাকে WHERE ধারায় segments.date , segments.week , segments.month , segments.quarter , অথবা segments.year এর জন্য একটি সীমিত তারিখ পরিসর নির্দিষ্ট করতে হবে।
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 রিসোর্সটি বিজ্ঞাপন গ্রুপ দ্বারাও পরোক্ষভাবে বিভক্ত, কেবল একটি অনুসন্ধান শব্দ নয়, যেমনটি এর রিসোর্স নামের কাঠামো দ্বারা প্রতিফলিত হয়, যার মধ্যে বিজ্ঞাপন গ্রুপও অন্তর্ভুক্ত। অতএব, আপনি আপনার ফলাফলে একই অনুসন্ধান শব্দ সহ কিছু আপাতদৃষ্টিতে সদৃশ সারি পাবেন, তবে এই সারিগুলি একটি ভিন্ন বিজ্ঞাপন গ্রুপের অন্তর্গত।

{
  "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"
      }
    }
  ]
}

যদিও এই উদাহরণে দুটি ফেরত পাঠানো বস্তু ডুপ্লিকেট বলে মনে হচ্ছে, তাদের রিসোর্সের নাম আসলে আলাদা, বিশেষ করে "বিজ্ঞাপন গোষ্ঠী" অংশে। এর অর্থ হল "গুগল ফটো" অনুসন্ধান শব্দটি একই তারিখে (2024-06-15) দুটি বিজ্ঞাপন গোষ্ঠীর (ID 2222222222 এবং 33333333333 ) জন্য দায়ী করা হয়েছে। সুতরাং, আমরা উপসংহারে পৌঁছাতে পারি যে APIটি উদ্দেশ্য অনুসারে কাজ করেছে এবং এই ক্ষেত্রে ডুপ্লিকেট বস্তু ফেরত দেয়নি।