অবজেক্ট ফিরিয়ে আনা

GoogleAdsService হল Google Ads API-এর ইউনিফায়েড অবজেক্ট রিট্রিভাল ও রিপোর্টিং পরিষেবা। পরিষেবাতে এমন পদ্ধতি আছে যা:

  • অবজেক্টের নির্দিষ্ট অ্যাট্রিবিউট রিট্রিভ করা।
  • তারিখের রেঞ্জের উপর ভিত্তি করে অবজেক্টের জন্য পারফর্ম্যান্স মেট্রিক ফিরিয়ে আনুন।
  • বৈশিষ্ট্য অনুযায়ী অবজেক্ট সাজাও।
  • উত্তরে আপনি কোন অবজেক্ট ফেরত চান তা নির্দেশ করতে শর্ত ব্যবহার করুন।
  • ফেরত আসা অবজেক্টের সংখ্যা সীমিত করুন।

GoogleAdsService দুটি উপায়ে ফলাফল ফেরত দিতে পারে:

  • GoogleAdsService.SearchStream একটি স্ট্রিমিং উত্তরে সব সারি দেখায়, যা বড় (১০,০০০-এর বেশি সারি) ফলাফল সেটের জন্য আরও কার্যকর। আপনার অ্যাপ্লিকেশন সম্পূর্ণ ফলাফল সেট ডাউনলোড করলে বা স্ট্রিম হিসেবে সারি প্রসেস করলে, এটি সাজেস্ট করা হয়।
  • GoogleAdsService.Search বড় উত্তরকে ম্যানেজ করা যায় এমন ফলাফলের পৃষ্ঠায় ভাগ করে। আপনার ইন্টার‍্যাক্টিভ অ্যাপ্লিকেশন একবারে একটি ফলাফলের পৃষ্ঠা দেখালে, এটি কাজে লাগে।

পেজিং বনাম স্ট্রিমিং সম্পর্কে আরও জানুন।

একটি অনুরোধ জানান

GoogleAdsService.SearchStream-এর জন্য SearchGoogleAdsStreamRequest প্রয়োজন এবং GoogleAdsService.Search-এর জন্য SearchGoogleAdsRequest প্রয়োজন। দুটি অনুরোধের ধরনের মধ্যেই এগুলি অন্তর্ভুক্ত থাকে:

  • customer_id
  • Google Ads কোয়েরি ল্যাঙ্গুয়েজ query যা কোন রিসোর্স কোয়েরি করতে হবে, অ্যাট্রিবিউট, সেগমেন্ট এবং মেট্রিক ফিরিয়ে আনতে হবে এবং কোন অবজেক্ট ফিরিয়ে আনা হবে তা সীমাবদ্ধ করতে কোন শর্ত ব্যবহার করতে হবে তা নির্দেশ করে

পদ্ধতির উপর নির্ভর করে, অনুরোধটি পদ্ধতি-নির্দিষ্ট ফিল্ডেও কাজ করে:

  • SearchGoogleAdsStreamRequest (শুধুমাত্র SearchStream):
    • অ্যাগ্রিগেট করা মেট্রিক সহ সারসংক্ষেপের সারি অনুরোধ করার জন্য ঐচ্ছিক summary_row_setting
  • SearchGoogleAdsRequest (শুধুমাত্র Search):
    • পেজিং ব্যবহার করার সময় ফলাফলের পরবর্তী ব্যাচ ফিরিয়ে আনার জন্য একটি ঐচ্ছিক page_token (page_size ১০,০০০ সারি হিসেবে স্থির করা আছে; অনুরোধে page_size সেট করলে একটি RequestError.PAGE_SIZE_NOT_SUPPORTED সমস্যা দেখায়)
    • return_summary_row, return_total_results_count এবং omit_results কনফিগার করার জন্য একটি ঐচ্ছিক search_settings মেসেজ
    • কোয়েরি এক্সিকিউট না করেই সেটি যাচাই করার জন্য একটি ঐচ্ছিক validate_only বুলিয়ান

Google Ads কোয়েরি ল্যাঙ্গুয়েজ সম্পর্কে আরও জানতে, Google Ads কোয়েরি ল্যাঙ্গুয়েজ গাইড দেখুন।

উত্তর প্রসেস করা

GoogleAdsService-এর মাধ্যমে GoogleAdsRow অবজেক্টের তালিকা পাওয়া যায় (স্ট্রিম করা SearchGoogleAdsStreamResponse ব্যাচের মধ্যে অথবা পৃষ্ঠা হিসেবে SearchGoogleAdsResponse)।

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

যেমন, ad_group_criterion-এর status অ্যাট্রিবিউট থাকলেও, SELECT ক্লজে ad_group_criterion.status অন্তর্ভুক্ত না থাকলে, কোয়েরির উত্তরে সারিটির ad_group_criterion অ্যাট্রিবিউটের status ফিল্ডে কোনও ডেটা থাকে না। একইভাবে, SELECT ক্লজে campaign রিসোর্স থেকে কোনও ফিল্ড অন্তর্ভুক্ত না থাকলে, সারির campaign অ্যাট্রিবিউট পপুলেট করা হয় না।

একই ফলাফল সেটের মধ্যে প্রতিটি GoogleAdsRow-এর অন্য সারির থেকে আলাদা অ্যাট্রিবিউট ও মেট্রিক থাকতে পারে; তাই সারিগুলিকে টেবিলের নির্দিষ্ট সারি হিসেবে না দেখে অবজেক্ট হিসেবে দেখা উচিত।

অজানা এবং উল্লেখ না করা enum-এর ধরন

UNKNOWN-এর enum ভ্যালু সহ যেসব রিসোর্স ফেরত পাঠানো হয় সেগুলি API-এর সেই ভার্সনে সম্পূর্ণভাবে কাজ করে না, যেখানে UNSPECIFIED থেকে বোঝা যায় যে enum ফিল্ড সেট করা হয়নি অথবা SELECT ক্লজে অনুরোধ করা হয়নি। UNKNOWN enum ভ্যালু সহ রিসোর্স Google Ads UI-এর মতো অন্যান্য ইন্টারফেসের মাধ্যমে তৈরি করা হতে পারে। কোনও রিসোর্সের ধরন UNKNOWN হলে আপনি মেট্রিক বেছে নিতে পারবেন, কিন্তু API-এর মাধ্যমে রিসোর্স মিউটেট করতে পারবেন না। এর একটি উদাহরণ হল, UI-তে উপলভ্য ক্যাম্পেন বা বিজ্ঞাপনের ধরন, যা আপনি যে API ভার্সন কোয়েরি করছেন তাতে কাজ করে না।

মনে রাখার মতো কিছু বিষয় এখানে দেওয়া হল:

  • UNKNOWN ধরনের রিসোর্স পরবর্তী API ভার্সনে কাজ করতে পারে অথবা অনির্দিষ্টকালের জন্য UNKNOWN থাকতে পারে।
  • UNKNOWN ধরনের নতুন অবজেক্ট যেকোনও সময় দেখা যেতে পারে। এই অবজেক্টগুলি ব্যাকওয়ার্ড কম্প্যাটিবল কারণ API-এর প্রতিটি enum-এ UNKNOWN enum ভ্যালু উপস্থিত থাকে। রিসোর্স UNKNOWN-এর সাথে ফেরত দেওয়া হয় যাতে আপনার অ্যাকাউন্টের সামগ্রিক পারফর্ম্যান্স মেট্রিকের সঠিক ভিউ আপনার কাছে থাকে।
  • UNKNOWN রিসোর্সে বিস্তারিত মেট্রিক অ্যাটাচ করা থাকতে পারে যা কোয়েরি করা যায়।
  • UNKNOWN রিসোর্স সাধারণত Google Ads UI-তে সম্পূর্ণভাবে দেখা যায়।
  • UNKNOWN রিসোর্স সাধারণত API-এর মাধ্যমে মিউটেট করা যায় না।

সেগমেন্টেশন

উত্তরে নিম্নলিখিত প্রতিটি কম্বিনেশনের জন্য একটি করে GoogleAdsRow থাকে:

  • FROM ক্লজে উল্লেখ করা মূল রিসোর্সের ইনস্ট্যান্স
  • বেছে নেওয়া প্রতিটি segments ফিল্ডের ভ্যালু

যেমন, কোনও কোয়েরির উত্তরে FROM campaign বেছে নেওয়া হলে এবং SELECT ক্লজে segments.ad_network_type ও segments.date থাকলে, নিম্নলিখিত প্রতিটি কম্বিনেশনের জন্য একটি করে সারি থাকে:

  • campaign
  • segments.ad_network_type
  • segments.date

ফলাফলগুলি মূল রিসোর্সের প্রতিটি ইনস্ট্যান্স দ্বারা ইমপ্লিসিটভাবে সেগমেন্ট করা হয়, বেছে নেওয়া স্বতন্ত্র ফিল্ডের মান দ্বারা নয়। যেমন,

SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS

প্রতি ক্যাম্পেন-এর জন্য একটি সারি দেখায়, campaign.status ফিল্ডের প্রতিটি স্বতন্ত্র ভ্যালুর জন্য একটি সারি দেখায় না।