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টি উদ্দেশ্য অনুসারে কাজ করেছে এবং এই ক্ষেত্রে ডুপ্লিকেট বস্তু ফেরত দেয়নি।