মূল পরিভাষা
- রিসোর্স
- Google Ads-এ একটি এন্টিটি, যেমন
campaignবাad_group। - সেগমেন্ট
- ডেটা গ্রুপ করার জন্য ব্যবহৃত ডাইমেনশন, যেমন
segments.dateবাsegments.device। মেট্রিক সহSELECTক্লজে সেগমেন্ট অন্তর্ভুক্ত করা হলে, মেট্রিক সেগমেন্ট অনুযায়ী ভাগ করা হয়। - মেট্রিক
- পারফর্ম্যান্সের পরিমাপ, যেমন
metrics.impressionsবাmetrics.clicks। - অ্যাট্রিবিউট করা রিসোর্স
- একটি রিসোর্স যা
FROMক্লজে মূল রিসোর্সের সাথে অন্তর্নিহিতভাবে যুক্ত, যা আপনাকে মূল রিসোর্স অ্যাট্রিবিউটের সাথে এর অ্যাট্রিবিউট বেছে নিতে দেয়।
রিসোর্স বা মেটাডেটা সংক্রান্ত তথ্যের জন্য কোয়েরি
Google Ads কোয়েরি ল্যাঙ্গুয়েজ নিম্নলিখিত ধরনের তথ্যের জন্য Google Ads API-কে কোয়েরি করতে পারে:
GoogleAdsServiceSearch বা SearchStream ব্যবহার করে রিসোর্স এবং তাদের সম্পর্কিত অ্যাট্রিবিউট, সেগমেন্ট ও মেট্রিক:GoogleAdsServiceকোয়েরি থেকে পাওয়া ফলাফল হলGoogleAdsRowইনস্ট্যান্সের তালিকা, যেখানে প্রতিটিGoogleAdsRowএকটি রিসোর্সকে দেখায়।কোনও অ্যাট্রিবিউট বা মেট্রিকের অনুরোধ করা হলে, সেই সারিতেও সেইসব ফিল্ড অন্তর্ভুক্ত থাকে। কোনও সেগমেন্টের জন্য অনুরোধ করা হলে, উত্তরে প্রতিটি সেগমেন্ট-রিসোর্স টাপলের জন্য একটি অতিরিক্ত সারিও দেখানো হয়।
GoogleAdsFieldService-এ উপলভ্য ফিল্ড ও রিসোর্স সম্পর্কে মেটাডেটা: এই পরিষেবা কোয়েরি করা যায় এমন ফিল্ডের ক্যাটালগ প্রদান করে, যার মধ্যে তাদের মানানসই হওয়া ও ধরন সম্পর্কে নির্দিষ্ট তথ্য থাকে।GoogleAdsFieldServiceকোয়েরি থেকে পাওয়া ফলাফল হলGoogleAdsFieldইনস্ট্যান্সের তালিকা, যেখানে প্রতিটিGoogleAdsField-এ অনুরোধ করা ফিল্ড সম্পর্কে বিবরণ থাকে।
কোয়েরি স্ট্রাকচার সম্পর্কে আরও জানতে, কোয়েরি স্ট্রাকচার এবং Google Ads কোয়েরি ল্যাঙ্গুয়েজ গ্রামার দেখুন।
রিসোর্স অ্যাট্রিবিউটের জন্য কোয়েরি
ক্যাম্পেন রিসোর্সের অ্যাট্রিবিউটের জন্য একটি বেসিক কোয়েরির উদাহরণ এখানে দেওয়া হল যা ক্যাম্পেন আইডি, নাম ও স্ট্যাটাস কীভাবে ফেরত দিতে হয় তা ব্যাখ্যা করে:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
এই কোয়েরি ক্যাম্পেন আইডি অনুযায়ী সাজায়। প্রতিটি ফলাফল GoogleAdsRow একটি
campaign অবজেক্টকে উপস্থাপন করে যা ক্যাম্পেনের
resource_name সহ নির্বাচিত ফিল্ড দিয়ে পূর্ণ হয়।
ক্যাম্পেন কোয়েরির জন্য আর কোন কোন ফিল্ড উপলভ্য আছে তা জানতে,
Campaign রেফারেন্স ডকুমেন্টেশন দেখুন।
মেট্রিকের জন্য কোয়েরি
কোনও নির্দিষ্ট রিসোর্সের জন্য বেছে নেওয়া অ্যাট্রিবিউটের পাশাপাশি, আপনি সম্পর্কিত মেট্রিকের জন্যও কোয়েরি করতে পারেন:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
এই কোয়েরি শুধু সেইসব ক্যাম্পেন ফিল্টার করে যেগুলির স্ট্যাটাস PAUSED এবং
১০০০-এর বেশি ইম্প্রেশন আছে, ক্যাম্পেন আইডি অনুযায়ী সাজানো আছে। প্রতিটি
ফলাফল GoogleAdsRow-এ একটি metrics ফিল্ড থাকবে যা বেছে নেওয়া মেট্রিক দিয়ে
অটো-ফিল করা হবে।
কোয়েরি করা যায় এমন মেট্রিকের তালিকা দেখতে,
Metrics ডকুমেন্টেশন দেখুন।
সেগমেন্টের জন্য কোয়েরি
কোনও নির্দিষ্ট রিসোর্সের জন্য বেছে নেওয়া অ্যাট্রিবিউটের পাশাপাশি, আপনি সম্পর্কিত সেগমেন্টের জন্যও কোয়েরি করতে পারবেন:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
মেট্রিকের জন্য কোয়েরি করার মতোই, এই কোয়েরি শুধুমাত্র সেইসব ক্যাম্পেন ফিল্টার করে
যেগুলির স্ট্যাটাস PAUSED এবং যেগুলির ১০০০-এর বেশি ইম্প্রেশন আছে। তবে,
এই কোয়েরি তারিখ অনুযায়ী ডেটা ভাগ করে। এর ফলে, প্রতিটি
GoogleAdsRow-এ ক্যাম্পেন ও তারিখের সেগমেন্টের একটি টাপল থাকে।
সেগমেন্ট করা হলে বেছে নেওয়া মেট্রিক স্প্লিট হয়ে যায় এবং SELECT
ক্লজের প্রতিটি সেগমেন্ট অনুযায়ী গ্রুপ করা হয়।
কোয়েরি করা যায় এমন সেগমেন্টের তালিকা দেখতে,
Segments ডকুমেন্টেশন দেখুন।
সম্পর্কিত রিসোর্সের অ্যাট্রিবিউটের জন্য কোয়েরি
প্রদত্ত রিসোর্সের জন্য করা কোয়েরিতে, উপলভ্য থাকলে আপনি হয়ত অন্যান্য সম্পর্কিত রিসোর্সের সাথে যোগ দিতে পারবেন। এইসব সম্পর্কিত রিসোর্সকে "অ্যাট্রিবিউট করা রিসোর্স" বলা হয়। আপনার কোয়েরিতে অ্যাট্রিবিউট বেছে নেওয়ার মাধ্যমে আপনি অ্যাট্রিবিউট করা রিসোর্সের সাথে অপ্রত্যক্ষভাবে যোগ দিতে পারবেন।
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
এই কোয়েরি শুধু ক্যাম্পেন অ্যাট্রিবিউট বেছে নেয় না, তার সাথে বেছে নেওয়া প্রতিটি ক্যাম্পেন থেকে
সম্পর্কিত অ্যাট্রিবিউটও নিয়ে আসে। প্রতিটি ফলাফল GoogleAdsRow
বেছে নেওয়া ক্যাম্পেন অ্যাট্রিবিউট এবং বেছে নেওয়া বিডিং স্ট্র্যাটেজি অ্যাট্রিবিউট bidding_strategy.name দিয়ে
ভরা campaign অবজেক্টকে দেখায়।
ক্যাম্পেন কোয়েরির জন্য কোন কোন অ্যাট্রিবিউট করা রিসোর্স উপলভ্য তা জানতে,
Campaign রেফারেন্স ডকুমেন্টেশন দেখুন।
পেশাদার পদ্ধতি
- দীর্ঘ সময় ধরে উত্তর দেওয়া এবং টাইমআউট এড়াতে শুধুমাত্র আপনার প্রয়োজনীয় ফিল্ডগুলি বেছে নিন।
- ডেভেলপমেন্ট ও টেস্টিংয়ের সময়
LIMITব্যবহার করুন যাতে বড় ফলাফল সেট প্রসেস করতে না হয়। - ডেটা ট্রান্সফার ও রেসপন্সের সাইজ কমাতে
WHEREক্লজে ফিল্টার প্রয়োগ করুন। - জটিল কোয়েরি তৈরি করার আগে ফিল্ডের
মানানসই ও ডেটার ধরন চেক করতে
GoogleAdsFieldServiceব্যবহার করুন। - মনে রাখবেন যে কিছু ফিল্ড, বিশেষ করে যেগুলিতে প্রচুর পরিমাণে ডেটা বা জটিল গণনা থাকে, সেগুলি কোয়েরির খরচ বাড়াতে পারে।
কোয়েরির ফলাফলের ভিত্তিতে মিউটেট করুন
কোনও রিসোর্সের জন্য কোয়েরি করার সময়, আপনি সাথে সাথে অবজেক্ট হিসেবে ফেরত আসা ফলাফল নিতে, সেগুলি পরিবর্তন করতে এবং সেই রিসোর্সের পরিষেবায় মিউটেট পদ্ধতিতে ফেরত পাঠাতে পারবেন। এখানে একটি স্যাম্পেল ওয়ার্কফ্লো দেওয়া হল:
- ১০০০-এর বেশি ইম্প্রেশন আছে এমন সব
PAUSEDক্যাম্পেনের জন্য কোয়েরি এক্সিকিউট করুন। - উত্তরে প্রতিটি
GoogleAdsRow-এরcampaignফিল্ড থেকেCampaignঅবজেক্ট পান। - প্রতিটি ক্যাম্পেনের স্ট্যাটাস
PAUSEDথেকেENABLED-এ পরিবর্তন করুন। - পরিবর্তিত ক্যাম্পেন এবং সংশ্লিষ্ট
FieldMaskসহCampaignService.MutateCampaignsকল করুন যাতে সেগুলি আপডেট করা যায়।
ফিল্ড মেটাডেটা
GoogleAdsFieldService-এ পাঠানো কোয়েরি ফিল্ড মেটাডেটা ফিরিয়ে আনার জন্য ব্যবহার করা হয়।
এই তথ্য ব্যবহার করে বোঝা যাবে যে কীভাবে কোয়েরিতে ফিল্ডগুলি একসাথে ব্যবহার করা
যেতে পারে। যেহেতু API থেকে ডেটা উপলভ্য এবং এটি কোনও কোয়েরি যাচাই বা তৈরি করার জন্য প্রয়োজনীয়
মেটাডেটা প্রদান করে, তাই এটি ডেভেলপারদের প্রোগ্র্যামাটিক্যালি
তা করার অনুমতি দেয়। মেটাডেটার জন্য একটি সাধারণ কোয়েরি এখানে দেওয়া হল:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
আপনি এই কোয়েরিতে <INSERT_RESOURCE_OR_FIELD>-এর পরিবর্তে রিসোর্স (যেমন customer বা campaign) অথবা ফিল্ড (যেমন campaign.id,
metrics.impressions, বা ad_group.id) ব্যবহার করতে পারেন।
কোয়েরি করা যায় এমন ফিল্ডের তালিকা দেখতে,
GoogleAdsField ডকুমেন্টেশন দেখুন।
ভার্সন-নির্দিষ্ট পার্থক্য
Google Ads কোয়েরি ল্যাঙ্গুয়েজ সিনট্যাক্স, ক্লজ ও অপারেটর সব কাজ করে এমন Google Ads API ভার্সনে (v23, v24, v25 ও v26) একই রকম হলেও, কোয়েরি করা যায় এমন রিসোর্স, সেগমেন্ট, মেট্রিক ও রিপোর্টিং আচরণের ক্যাটালগ মেজর ভার্সন অনুযায়ী আলাদা হয়। টার্গেট API ভার্সন এন্ডপয়েন্টে
GoogleAdsFieldService কোয়েরি করুন
যাতে সেই ভার্সনের ফিল্ড ও কম্প্যাটিবিলিটি সংক্রান্ত নিয়মগুলি পরীক্ষা করা যায়:
- ফাইনাল URL এক্সপ্যানশন অ্যাসেট ভিউ:
- শপিং ক্যাম্পেন সংক্রান্ত সহায়তা (v26 এবং তার পরবর্তী ভার্সন):
final_url_expansion_asset_viewপারফর্ম্যান্স ম্যাক্স এবং সার্চ ক্যাম্পেন ছাড়াও শপিং ক্যাম্পেন (campaign.advertising_channel_type = 'SHOPPING') সমর্থন করে। শপিং ক্যাম্পেনের জন্য, আপনিad_groupটি ফিল্ড বেছে নিতে এবং ফিল্টার করতে পারবেন, কিন্তু আপনিasset_groupটি ফিল্ড বেছে নিতে পারবেন না। - বেছে নেওয়া যায় এমন মেট্রিক (v25 এবং তার পরের ভার্সন):
final_url_expansion_asset_viewকোয়েরি করলে ভিউয়ের জন্য বেছে নেওয়া যায় এমন সব মেট্রিক রিটার্ন করে। v24 এবং তার আগের ভার্সনে, উত্তরে শুধুমাত্র পারফর্ম্যান্স ম্যাক্স ক্যাম্পেনের জন্যmetrics.conversionsএবংmetrics.conversions_valueএবং সার্চ ক্যাম্পেনের জন্যmetrics.impressionsঅন্তর্ভুক্ত থাকে।
- শপিং ক্যাম্পেন সংক্রান্ত সহায়তা (v26 এবং তার পরবর্তী ভার্সন):
- লাইফসাইকেল গোল রিসোর্স: v25 এবং তার পরবর্তী ভার্সনে, সব লাইফসাইকেল গোল (নতুন
গ্রাহক অর্জন, গ্রাহক ধরে রাখা এবং লয়ালটি রিটেনশন) ইউনিফায়েড
goalএবংcampaign_goal_configরিসোর্স থেকে কোয়েরি করা হয়,customer_lifecycle_goalএবংcampaign_lifecycle_goal(যা v24 এবং তার আগের ভার্সনে নতুন গ্রাহক অর্জন গোলের জন্য ব্যবহার করা হত, এর পাশাপাশি গ্রাহক ধরে রাখার গোলের জন্যgoalএবংcampaign_goal_configব্যবহার করা হত) পরিবর্তন করে। - অ্যাপ ক্যাম্পেনের জন্য শপিং প্রোডাক্ট রিপোর্টিং: v24 এবং তার পরবর্তী ভার্সনে,
shopping_productরিসোর্স শপিং, পারফর্ম্যান্স ম্যাক্স, ডিমান্ড জেনারেশন এবং ভিডিও ক্যাম্পেন ছাড়াও অ্যাপ ক্যাম্পেনের জন্য প্রোডাক্ট রো রিটার্ন করে (v23-এ, অ্যাপ ক্যাম্পেনshopping_productফলাফল থেকে বাদ দেওয়া হয়েছে)। - ভার্সন-নির্দিষ্ট রিসোর্স, সেগমেন্ট ও মেট্রিক:
- v26 এবং তার পরবর্তী ভার্সন: এতে
search_lift_keyword_bundleরিসোর্স,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_propertyএবং সার্চ লিফ্ট মেট্রিক (যেমনmetrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_microsএবংmetrics.search_lift_impressions) অন্তর্ভুক্ত। - v25 এবং তার পরের ভার্সন: লিফ্ট পরিমাপ রিসোর্স (যেমন
lift_measurement_config), সেগমেন্ট যেমনsegments.ad_sub_format_typeএবংsegments.loyalty_membership, এবং YouTube এনগেজমেন্ট মেট্রিক (metrics.youtube_likes,metrics.youtube_comments, এবংmetrics.youtube_shares) অন্তর্ভুক্ত করে।local_services_lead.contact_details.email(যা v24 এবং তার আগের ভার্সনে বেছে নেওয়া যায়) সরিয়ে দেয়। - v24 এবং তার পরবর্তী ভার্সন: এর মধ্যে
cart_data_sales_viewরিসোর্স,segments.conversion_attribution_event_type-এshopping_performance_view,segments.mobile_device_platformএবংperformance_max_placement_view-এsegments.ad_network_typeঅন্তর্ভুক্ত।campaign_budget-এcampaign.video_brand_safety_suitability(customer.video_brand_safety_suitabilityদ্বারা প্রতিস্থাপিত),segments.ad_sub_network_typeএবংad_group_asset,campaign_assetওcustomer_asset-এsegments.click_typeসরিয়ে দেয় (যা শুধুমাত্র v23-এ বেছে নেওয়া যায়)।
- v26 এবং তার পরবর্তী ভার্সন: এতে
- গ্র্যানুলার তারিখ লুকব্যাক সংক্রান্ত ত্রুটি কোড: ৩৭-মাসের লুকব্যাক উইন্ডোর বাইরে
segments.date,segments.weekবাsegments.hour(অথবা সাব-মান্থলি তারিখের রেঞ্জে ফিল্টার) দ্বারা কোয়েরি সেগমেন্ট করলে, v24 এবং তার পরবর্তী ভার্সনেDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED(অথবা v23-এDateRangeError.UNKNOWN) রিটার্ন করে। আরও বিবরণের জন্য তারিখের রেঞ্জ দেখুন।
কোডের উদাহরণ
GoogleAdsService-এ Google Ads কোয়েরি ল্যাঙ্গুয়েজ ব্যবহার করার উদাহরণ ক্লায়েন্ট লাইব্রেরি-তে আছে। প্রাথমিক অপারেশন ফোল্ডারে এই ধরনের উদাহরণ আছে
GetCampaigns, GetKeywords এবং SearchForGoogleAdsFields।