Google বিজ্ঞাপন কোয়েরি ভাষা

মূল পরিভাষা

সম্পদ
গুগল অ্যাডস-এর একটি সত্তা, যেমন campaign বা ad_group
সেগমেন্ট
ডেটা গ্রুপ করার জন্য ব্যবহৃত একটি ডাইমেনশন, যেমন segments.date বা segments.device । যখন মেট্রিক্সের সাথে SELECT ক্লজে সেগমেন্ট অন্তর্ভুক্ত করা হয়, তখন মেট্রিক্স সেগমেন্ট অনুযায়ী বিভক্ত হয়।
মেট্রিক
পারফরম্যান্সের একটি পরিমাপ, যেমন metrics.impressions বা metrics.clicks
আরোপিত সম্পদ
এমন একটি রিসোর্স যা FROM ক্লজে মূল রিসোর্সের সাথে পরোক্ষভাবে যুক্ত থাকে, যার ফলে আপনি মূল রিসোর্সের অ্যাট্রিবিউটগুলোর পাশাপাশি এর অ্যাট্রিবিউটগুলোও নির্বাচন করতে পারেন।

রিসোর্স বা মেটাডেটা তথ্যের জন্য অনুসন্ধান করুন

গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ নিম্নলিখিত ধরনের তথ্যের জন্য গুগল অ্যাডস এপিআই-কে কোয়েরি করতে পারে:

  • GoogleAdsService Search বা SearchStream ব্যবহার করে রিসোর্স এবং তাদের সম্পর্কিত অ্যাট্রিবিউট, সেগমেন্ট ও মেট্রিক্স: একটি GoogleAdsService কোয়েরির ফলাফল হলো GoogleAdsRow ইনস্ট্যান্সের একটি তালিকা, যেখানে প্রতিটি GoogleAdsRow একটি রিসোর্সকে প্রতিনিধিত্ব করে।

    যদি কোনো অ্যাট্রিবিউট বা মেট্রিক্স অনুরোধ করা হয়, তাহলে সারিটিতে সেই ফিল্ডগুলোও অন্তর্ভুক্ত থাকে। যদি কোনো সেগমেন্ট অনুরোধ করা হয়, তাহলে প্রতিক্রিয়াটিতে প্রতিটি সেগমেন্ট-রিসোর্স টাপলের জন্য একটি অতিরিক্ত সারিও দেখানো হয়।

  • GoogleAdsFieldService এ উপলব্ধ ফিল্ড এবং রিসোর্স সম্পর্কিত মেটাডেটা: এই পরিষেবাটি কোয়েরিযোগ্য ফিল্ডগুলির একটি ক্যাটালগ প্রদান করে, যেখানে তাদের সামঞ্জস্যতা এবং প্রকার সম্পর্কে নির্দিষ্ট তথ্য থাকে।

    GoogleAdsFieldService কোয়েরির ফলাফল হলো GoogleAdsField ইনস্ট্যান্সগুলোর একটি তালিকা, যেখানে প্রতিটি GoogleAdsField অনুরোধ করা ফিল্ডটির বিবরণ থাকে।

কোয়েরি কাঠামো সম্পর্কে আরও বিস্তারিত জানতে কোয়েরি কাঠামো এবং গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ গ্রামার দেখুন।

রিসোর্স অ্যাট্রিবিউটের জন্য কোয়েরি

এখানে ক্যাম্পেইন রিসোর্সের অ্যাট্রিবিউটগুলোর জন্য একটি সাধারণ কোয়েরির উদাহরণ দেওয়া হলো, যা দেখায় কীভাবে ক্যাম্পেইন আইডি, নাম এবং স্ট্যাটাস ফেরত আনা যায়:

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 একটি ক্যাম্পেইন এবং তারিখের Segment একটি টাপল (tuple) উপস্থাপন করে। সেগমেন্টেশন নির্বাচিত মেট্রিক্সগুলোকে বিভক্ত করে এবং SELECT ক্লজে প্রতিটি সেগমেন্ট অনুযায়ী গ্রুপ করে।

অনুসন্ধানযোগ্য সেগমেন্টগুলির তালিকার জন্য, Segments ডকুমেন্টেশন দেখুন।

কোনো নির্দিষ্ট রিসোর্সের জন্য কোয়েরি করার সময়, উপলব্ধ থাকলে আপনি অন্যান্য সম্পর্কিত রিসোর্সের সাথে জয়েন করতে পারেন। এই সম্পর্কিত রিসোর্সগুলো 'অ্যাট্রিবিউটেড রিসোর্স' নামে পরিচিত। আপনার কোয়েরিতে একটি অ্যাট্রিবিউট নির্বাচন করার মাধ্যমে আপনি পরোক্ষভাবে অ্যাট্রিবিউটেড রিসোর্সের সাথে জয়েন করতে পারেন।

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  bidding_strategy.name
FROM campaign
ORDER BY campaign.id

এই কোয়েরিটি শুধু ক্যাম্পেইন অ্যাট্রিবিউটই নির্বাচন করে না, বরং নির্বাচিত প্রতিটি ক্যাম্পেইন থেকে সম্পর্কিত অ্যাট্রিবিউটগুলোও নিয়ে আসে। এর ফলে প্রাপ্ত প্রতিটি GoogleAdsRow একটি campaign অবজেক্টকে প্রতিনিধিত্ব করে, যা নির্বাচিত ক্যাম্পেইন অ্যাট্রিবিউট এবং নির্বাচিত বিডিং স্ট্র্যাটেজি অ্যাট্রিবিউট bidding_strategy.name দ্বারা পূর্ণ থাকে।

ক্যাম্পেইন কোয়েরির জন্য কী কী অ্যাট্রিবিউটেড রিসোর্স উপলব্ধ আছে তা জানতে, Campaign রেফারেন্স ডকুমেন্টেশন দেখুন।

সর্বোত্তম অনুশীলন

  • দীর্ঘ প্রতিক্রিয়া সময় এবং টাইমআউট এড়াতে শুধুমাত্র আপনার প্রয়োজনীয় ফিল্ডগুলো নির্বাচন করুন।
  • উন্নয়ন এবং পরীক্ষার সময় বৃহৎ ফলাফল সেট প্রক্রিয়াকরণ এড়াতে LIMIT ব্যবহার করুন।
  • ডেটা ট্রান্সফার এবং রেসপন্স সাইজ কমাতে WHERE ক্লজে ফিল্টার প্রয়োগ করুন।
  • জটিল কোয়েরি তৈরি করার আগে ফিল্ডের সামঞ্জস্যতা এবং ডেটা টাইপ যাচাই করতে GoogleAdsFieldService ব্যবহার করুন।
  • মনে রাখবেন যে কিছু ফিল্ড, বিশেষ করে যেগুলিতে প্রচুর পরিমাণে ডেটা বা জটিল গণনা জড়িত থাকে, সেগুলি কোয়েরির খরচ বাড়িয়ে দিতে পারে।

কোয়েরির ফলাফলের উপর ভিত্তি করে পরিবর্তন করুন

কোনো নির্দিষ্ট রিসোর্সের জন্য কোয়েরি করার সময়, আপনি ফেরত আসা ফলাফলগুলোকে তাৎক্ষণিকভাবে অবজেক্ট হিসেবে নিতে পারেন, সেগুলোকে পরিবর্তন করতে পারেন এবং সেই রিসোর্সের সার্ভিসের mutate মেথডে ফেরত পাঠাতে পারেন। এখানে একটি নমুনা ওয়ার্কফ্লো দেওয়া হলো: ১. বর্তমানে PAUSED থাকা এবং ১০০০-এর বেশি ইম্প্রেশন থাকা সমস্ত ক্যাম্পেইনের জন্য একটি কোয়েরি চালান। ২. রেসপন্সের প্রতিটি GoogleAdsRow এর campaign ফিল্ড থেকে Campaign অবজেক্টটি নিন। ৩. প্রতিটি ক্যাম্পেইনের স্ট্যাটাস PAUSED থেকে ENABLED এ পরিবর্তন করুন। ৪. পরিবর্তিত ক্যাম্পেইনগুলো আপডেট করার জন্য 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 ডকুমেন্টেশন দেখুন।

কোডের উদাহরণ

ক্লায়েন্ট লাইব্রেরিগুলোতে GoogleAdsService এ গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজ ব্যবহারের উদাহরণ রয়েছে। বেসিক অপারেশনস ফোল্ডারে GetCampaigns , GetKeywords , এবং SearchForGoogleAdsFields এর মতো উদাহরণ রয়েছে।