সেগমেন্টেশন গুগল অ্যাডস UI-তে একটি আলাদা মেনু হিসেবে পাওয়া যায়। আপনি একটি কোয়েরিতে উপযুক্ত ফিল্ড যোগ করে গুগল অ্যাডস API-তে সেগমেন্টেশন প্রয়োগ করতে পারেন। উদাহরণস্বরূপ, ধরুন আপনি একটি কোয়েরিতে segments.device যোগ করেছেন। এর ফলে এমন একটি রিপোর্ট তৈরি হয়, যেখানে FROM ক্লজে উল্লেখিত রিসোর্স এবং ডিভাইসের প্রতিটি সমন্বয়ের জন্য একটি করে সারি থাকে এবং পরিসংখ্যানগত মানগুলো (যেমন ইম্প্রেশন, ক্লিক, কনভার্সন ইত্যাদি) সেগুলোর মধ্যে ভাগ করা থাকে।
গুগল অ্যাডস 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 ফিল্ডটি সর্বদা রিটার্ন করা হয়, কারণ FROM ক্লজে ad_group একটি রিসোর্স হিসেবে নির্দিষ্ট করা হয়েছে।
অনুসন্ধান_শব্দ_ভিউ
` 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 ) সাথে যুক্ত। সুতরাং, এপিআইটি উদ্দেশ্য অনুযায়ী কাজ করেছে এবং এই ক্ষেত্রে কোনো সদৃশ অবজেক্ট ফেরত দেয়নি।
নির্বাচনযোগ্য সেগমেন্ট ক্ষেত্র
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_budget রিসোর্সের জন্য campaign রিসোর্সটি একটি Segmenting Resource হিসেবে তালিকাভুক্ত আছে। campaign_budget রিসোর্স থেকে campaign.name মতো যেকোনো campaign ফিল্ড নির্বাচন করলে শুধু campaign.name ফিল্ডটিই ফেরত আসে না, বরং campaign.resource_name ফিল্ডটিও ফেরত আসে এবং তার উপর ভিত্তি করে বিভক্ত হয়।
সেগমেন্ট এবং মেট্রিক্সের মধ্যে নির্বাচনযোগ্যতা
একটি নির্দিষ্ট সেগমেন্ট ফিল্ড অন্য কিছু সেগমেন্ট ফিল্ডের সাথে, অথবা কিছু মেট্রিক্স ফিল্ডের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে। কোন সেগমেন্ট ফিল্ডগুলো একে অপরের সাথে সামঞ্জস্যপূর্ণ তা শনাক্ত করতে, SELECT ক্লজের সেগমেন্টগুলোর selectable_with তালিকাটি পর্যালোচনা করুন।
ad_group রিসোর্সের ক্ষেত্রে, ৫০টিরও বেশি সেগমেন্ট উপলব্ধ আছে যা আপনি নির্বাচন করতে পারেন। তবে, segments.hotel_check_in_date জন্য selectable_with তালিকাটি সামঞ্জস্যপূর্ণ সেগমেন্টের একটি অনেক ছোট সেট। এর মানে হলো, যদি আপনি SELECT ক্লজে segments.hotel_check_in_date ফিল্ডটি যোগ করেন, তাহলে আপনার নির্বাচনের জন্য অবশিষ্ট উপলব্ধ সেগমেন্টের সংখ্যা এই দুটি তালিকার ছেদবিন্দুতে সীমাবদ্ধ হয়ে যায়।
যৌথ সেগমেন্ট সীমাবদ্ধতা
কিছু সেগমেন্ট ফিল্ডের সুস্পষ্ট নির্বাচনের সীমাবদ্ধতা থাকে, যার কারণে SELECT ক্লজে সেগুলোকে একটি প্যারেন্ট সেগমেন্টের সাথে একত্রে অনুরোধ করতে হয়:
-
segments.ad_sub_network_type(যা ইন-স্ট্রিম, ইন-ফিড এবং শর্টস-এর মতো ইউটিউব বিজ্ঞাপন সাব-নেটওয়ার্কগুলোকে ভাগ করে) নির্বাচন করার জন্য আপনাকেsegments.ad_network_typeও নির্বাচন করতে হবে। - v25 এবং তার পরবর্তী সংস্করণগুলিতে,
segments.ad_sub_format_type(যা ইউটিউবের ইন-স্ট্রিম নন-স্কিপেবল বিজ্ঞাপনগুলিকে সময়কাল অনুসারে ভাগ করে) নির্বাচন করতে হলে আপনাকেsegments.ad_format_typeও নির্বাচন করতে হবে।
সেগমেন্ট নির্বাচনের মাধ্যমে অন্তর্নিহিত ফিল্টারিং
আপনি আপনার কোয়েরিতে নির্দিষ্ট সেগমেন্ট ফিল্ড নির্বাচন করলে, গুগল অ্যাডস এপিআই পরোক্ষভাবে ফলাফল ফিল্টার করে শুধুমাত্র সেই সারিগুলো অন্তর্ভুক্ত করতে পারে যেখানে সেই সেগমেন্টটি প্রযোজ্য এবং সেটির একটি ভ্যালু আছে।
segments.keyword.*
এই আচরণের একটি সাধারণ ও গুরুত্বপূর্ণ উদাহরণ দেখা যায় যখন segments.keyword এর অধীনে থাকা কোনো ফিল্ড নির্বাচন করা হয় (যেমন segments.keyword.info.text এবং segments.keyword.ad_group_criterion ):
- নন-কীওয়ার্ড ট্র্যাফিক বাদ দেওয়া: যদি আপনি আপনার
SELECTক্লজে কোনোsegments.keyword.*ফিল্ড অন্তর্ভুক্ত করেন, তাহলে ফলাফল শুধুমাত্র সেই সারিগুলিতে সীমাবদ্ধ থাকবে যা সরাসরি একটি সার্চ নেটওয়ার্ক কীওয়ার্ড অ্যাড গ্রুপ ক্রাইটেরিয়ার সাথে যুক্ত। - প্রভাবিত ক্যাম্পেইনের ধরণ: ফলস্বরূপ, যে সমস্ত ক্যাম্পেইনের ধরণ বা অ্যাড গ্রুপ সার্চ কীওয়ার্ডের উপর নির্ভর করে না, সেগুলির ডেটা ফলাফল থেকে বাদ দেওয়া হয়। এর মধ্যে অন্তর্ভুক্ত, তবে এতেই সীমাবদ্ধ নয়:
- ডাইনামিক সার্চ অ্যাডস (ডিএসএ): কারণ ডিএসএ-এর টার্গেট কীওয়ার্ডের পরিবর্তে ওয়েবসাইটের কন্টেন্টের উপর ভিত্তি করে নির্ধারণ করা হয়।
- শপিং ক্যাম্পেইন: যেগুলোতে কীওয়ার্ডের পরিবর্তে প্রোডাক্ট গ্রুপ ব্যবহার করা হয়।
- পারফরম্যান্স ম্যাক্স ক্যাম্পেইন: যদিও পারফরম্যান্স ম্যাক্স সার্চে কাজ করতে পারে, এর রিপোর্টিং সাধারণত একই কীওয়ার্ড মানদণ্ড অনুযায়ী বিভক্ত করা হয় না।
- ডিসপ্লে নেটওয়ার্ক:
segments.keyword.*ফিল্ডগুলো সার্চ নেটওয়ার্কে ব্যবহৃত কীওয়ার্ড সম্পর্কিত। এগুলো ডিসপ্লে নেটওয়ার্কের কীওয়ার্ড বা অন্যান্য ডিসপ্লে টার্গেটিং পদ্ধতি দ্বারা সেগমেন্ট করে না।
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এ নির্দিষ্ট করা সেগমেন্টগুলির মতোই হওয়ার প্রয়োজন নেই।
উদাহরণ
ভুল: যেহেতু SELECT ক্লজে segments.date আছে, WHERE ক্লজে segments.date , segments.week , segments.month , segments.quarter বা segments.year এর জন্য একটি সসীম তারিখের পরিসর উল্লেখ করতে হবে। | SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
বৈধ: এই কোয়েরিটি অন্তর্ভুক্ত তারিখের পরিসরের মধ্যে ক্যাম্পেইনের নাম এবং অর্জিত ক্লিকগুলো ফেরত দেয়। উল্লেখ্য যে, SELECT ক্লজে segments.date উল্লেখ করার প্রয়োজন নেই। | SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| বৈধ: এই কোয়েরিটি অন্তর্ভুক্ত তারিখ পরিসরের সমস্ত দিনের জন্য তারিখ অনুসারে বিভক্ত ক্যাম্পেইনের নাম এবং ক্লিক ফেরত দেয়। | SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| বৈধ: এই কোয়েরিটি অন্তর্ভুক্ত তারিখের পরিসরের সমস্ত দিনের জন্য মাস অনুযায়ী বিভক্ত ক্যাম্পেইনের নাম এবং ক্লিক ফেরত দেয়। | SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date >= '2024-01-01' AND segments.date <= '2024-01-31' |
| বৈধ: এই কোয়েরিটি অন্তর্ভুক্ত বছরের সমস্ত মাসের জন্য প্রথমে ত্রৈমাসিক এবং তারপর মাস অনুযায়ী বিভক্ত ক্যাম্পেইনের নাম ও ক্লিক ফেরত দেয়। | SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year >= 2020 AND segments.year <= 2024 |