সিলেক্টর প্রোগ্রামারকে এমন কোয়েরি তৈরি করতে সাহায্য করে যা অনুরোধকৃত গুগল অ্যাডস এনটিটিগুলো নিয়ে আসে। সিলেক্টরের সাহায্যে প্রাপ্ত এনটিটিগুলোর তালিকা সংকুচিত করা এবং সেটিকে সাজানো যায়। বেশিরভাগ সিলেক্টরের নিম্নলিখিত মেথডগুলো থাকে:
-
withCondition() - একটি সিলেক্টরে একটি শর্ত যোগ করে। যদি একাধিক শর্ত ব্যবহার করা হয়, তবে সেগুলোকে AND করা হয়; অন্য কথায়, সিলেক্টরটি কেবল সেইসব এনটিটিই ফেরত দেবে যা নির্দিষ্ট সমস্ত শর্ত পূরণ করে।
-
withIds() - শর্ত হিসেবে একাধিক আইডি যোগ করে। একটি আইডি-ভিত্তিক শর্ত অন্য সবগুলোর সাথে AND-এর মাধ্যমে যুক্ত হবে।
-
forDateRange() - যখন কোনো শর্ত বা ক্রমবিন্যাস ধারায় Ctr বা Impressions-এর মতো কোনো Stats ফিল্ডের উল্লেখ থাকে, তখন এটির প্রয়োজন হয়। আপনি যদি ১০০-এর বেশি ইম্প্রেশনসহ সমস্ত ক্যাম্পেইনের জন্য অনুরোধ করেন, তাহলে Google Ads স্ক্রিপ্টগুলোকে অনুসন্ধানের জন্য তারিখের পরিসীমা জানতে হবে।
-
orderBy() - ফেরত আসা সত্তাগুলোর ক্রম নির্দিষ্ট করে।
-
withLimit() - ফেরত আসা এনটিটির সংখ্যা নির্দিষ্ট মানে সীমিত করে। "গতকাল সবচেয়ে বেশি ইম্প্রেশন পাওয়া ১০টি কীওয়ার্ড"-এর মতো বিষয়গুলো খুঁজে বের করার জন্য এটি
orderBy()সাথে ব্যবহার করা বিশেষভাবে উপযোগী। ডিফল্টরূপে, সমস্ত সিলেক্টর এই সীমা ৫০,০০০-এ সেট করে রাখে। আপনি ম্যানুয়ালি একটি সীমা নির্দিষ্ট করে এই সীমা বাড়াতে পারেন।
এই মেথডগুলো যেকোনো ক্রমে কল করা যেতে পারে। এর একটি ব্যতিক্রম হলো orderBy() , যেখানে কলের ক্রম সত্যিই গুরুত্বপূর্ণ: এই মেথডটি একাধিকবার কল করলে একাধিক অর্ডারিং ক্লজ নির্দিষ্ট করা হবে এবং সেগুলো ক্রমানুসারে প্রয়োগ হবে। নিচের কোড স্নিপেটটি বিবেচনা করুন:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
ফলাফলগুলো ক্লিকের সংখ্যা অনুযায়ী অধঃক্রমে সাজানো হবে। সমান ক্লিকের সংখ্যাযুক্ত ফলাফলগুলো Ctr অনুযায়ী আরোহী ক্রমে সাজানো হবে।
একটি সিলেক্টরের মেথডগুলোকে পরপর কল করা যায়। নিচের কোডটি
var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");
আরও সংক্ষিপ্ত আকারে পুনরায় লেখা যেতে পারে:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
একবার সিলেক্টরটি তৈরি হয়ে গেলে, selector.get() কল করে তা থেকে একটি Iterator পাওয়া যায়।
কার্যকরীভাবে সিলেক্টর ব্যবহারের কৌশল ও পরামর্শের জন্য সেরা অনুশীলনগুলো পড়ুন।