ক্যোয়ারী গঠন

রিসোর্স, সেগমেন্ট এবং মেট্রিক ফিল্ডের জন্য কোয়েরি GoogleAdsService Search বা SearchStream মেথডে পাঠানো যেতে পারে। Google Ads Query Language-এ একটি কোয়েরি তৈরি করতে, আপনাকে ল্যাঙ্গুয়েজ গ্রামার ব্যবহার করে এটি তৈরি করতে হবে। Google Ads Query Language সম্পর্কে একটি সাধারণ ধারণা পেতে, Google Ads Query Language Overview দেখুন। একটি কোয়েরি বেশ কয়েকটি ক্লজ দিয়ে গঠিত:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

সঠিক ডেটা নির্বাচন করতে সাহায্য করার জন্য ক্লজগুলোতে ফিল্ডের নাম , রিসোর্সের নাম , অপারেটর , শর্ত এবং ক্রম ব্যবহার করা হয়। এগুলোকে একটি একক কোয়েরিতে একত্রিত করে গুগল অ্যাডস এপিআই (Google Ads API) ব্যবহার করে একটি অনুরোধ পাঠানো যায়।

ধারা

: GAQL ফিল্ড সামঞ্জস্যতা

নির্বাচন করুন

SELECT ক্লজটি অনুরোধে আনার জন্য এক সেট ফিল্ড নির্দিষ্ট করে। SELECT রিসোর্স ফিল্ড, সেগমেন্ট ফিল্ড এবং মেট্রিক্সের একটি কমা-বিভক্ত তালিকা গ্রহণ করে এবং প্রতিক্রিয়াতে সেগুলোর মান ফেরত দেয়। একটি কোয়েরিতে SELECT ক্লজ থাকা আবশ্যক

নিচের নমুনা কোয়েরিটি একটি প্রদত্ত রিসোর্সের জন্য অ্যাট্রিবিউট নির্বাচন করার একটি উদাহরণ দেখায়:

SELECT
  campaign.id,
  campaign.name
FROM campaign

আপনি একটিমাত্র অনুরোধে বিভিন্ন ধরনের ফিল্ডের জন্য অনুরোধ করতে পারেন, উদাহরণস্বরূপ:

SELECT
  campaign.id,
  campaign.name,
  bidding_strategy.id,
  bidding_strategy.name,
  segments.device,
  segments.date,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
  • সম্পদ ক্ষেত্র

    • campaign.id
    • campaign.name
  • সম্পদ ক্ষেত্র

    • bidding_strategy.id
    • bidding_strategy.name
  • সেগমেন্ট ক্ষেত্র

    • segments.device
    • segments.date
  • মেট্রিক্স

    • metrics.impressions
    • metrics.clicks
  • যে ফিল্ডগুলো নির্বাচনযোগ্য নয়, সেগুলো কোয়েরি করা হচ্ছে। এই ফিল্ডগুলোর Selectable ' মেটাডেটা অ্যাট্রিবিউটটি false হিসেবে চিহ্নিত থাকবে।
  • পুনরাবৃত্ত ফিল্ডগুলির অ্যাট্রিবিউট নির্বাচন করা। এই ফিল্ডগুলির isRepeated মেটাডেটা অ্যাট্রিবিউটটি true হিসাবে চিহ্নিত করা হবে।
  • FROM ক্লজে এমন ফিল্ড নির্বাচন করা যা প্রদত্ত রিসোর্সের জন্য উপলব্ধ নয়। কিছু রিসোর্সের অ্যাট্রিবিউট একসাথে নির্বাচন করা যায় না, এছাড়াও FROM ক্লজে রিসোর্সটির জন্য সমস্ত মেট্রিক এবং সেগমেন্টের শুধুমাত্র একটি উপসেট উপলব্ধ থাকবে।
  • এমন সেগমেন্ট বা মেট্রিক নির্বাচন করা যা একে অপরের সাথে সামঞ্জস্যপূর্ণ নয়। এ বিষয়ে আরও তথ্যের জন্য, সেগমেন্টেশন বিভাগটি দেখুন।

উপরোক্ত শর্তাবলী সম্পর্কিত তথ্য আমাদের রেফারেন্স ডক্স অথবা GoogleAdsFieldService থেকে পাওয়া যাবে।

থেকে

FROM ক্লজটি সেই প্রধান রিসোর্সটি নির্দিষ্ট করে যা ফেরত দেওয়া হবে। FROM ক্লজের রিসোর্সটি নির্ধারণ করে যে প্রদত্ত কোয়েরির জন্য অন্য সব ক্লজে কোন ফিল্ডগুলো ব্যবহার করা যাবে। FROM ক্লজে শুধুমাত্র একটি রিসোর্স নির্দিষ্ট করা যেতে পারে। GoogleAdsService এর Search বা SearchStream মেথডগুলোতে কোয়েরি করার জন্য FROM ক্লজটি আবশ্যক । তবে, GoogleAdsFieldService ব্যবহার করার সময় FROM ক্লজটি নির্দিষ্ট করা উচিত নয়

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

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

মূল রিসোর্সের resource_name ফিল্ডটি সর্বদা ফেরত দেওয়া হয়। নিম্নলিখিত উদাহরণে, কোয়েরিতে স্পষ্টভাবে নির্বাচন করা না হলেও ad_group.resource_name রেসপন্সে অন্তর্ভুক্ত হবে:

SELECT ad_group.id
FROM ad_group

অন্তত একটি ফিল্ড নির্বাচিত হলে অন্যান্য রিসোর্সের ক্ষেত্রেও একই কথা প্রযোজ্য। উদাহরণস্বরূপ: নিম্নলিখিত কোয়েরির রেসপন্সে campaign.resource_name অন্তর্ভুক্ত করা হবে:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

কোথায়

WHERE ক্লজটি অনুরোধের জন্য ডেটা ফিল্টার করার সময় প্রযোজ্য শর্তাবলী নির্দিষ্ট করে। WHERE ক্লজ ব্যবহার করার সময়, এক বা একাধিক শর্তকে AND ব্যবহার করে আলাদা করে নির্দিষ্ট করা যেতে পারে। প্রতিটি শর্তকে অবশ্যই field_name Operator value এই প্যাটার্ন অনুসরণ করতে হবে। একটি কোয়েরিতে WHERE ক্লজটি ঐচ্ছিক

একটি নির্দিষ্ট সময়কালের মেট্রিকস পেতে WHERE ব্যবহারের একটি উদাহরণ নিচে দেওয়া হলো:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

ডেটা ফিল্টার করার জন্য আপনি একাধিক শর্ত একত্রিত করতে পারেন। এই উদাহরণটি গত ৩০ দিনে মোবাইলে ইম্প্রেশন পাওয়া সমস্ত ক্যাম্পেইনের ক্লিকের সংখ্যা জানতে চাইবে।

SELECT
  campaign.id,
  campaign.name,
  segments.device,
  metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
  AND segments.device = MOBILE
  AND segments.date DURING LAST_30_DAYS

WHERE ক্লজের সেগমেন্টগুলো অবশ্যই SELECT ক্লজের মধ্যে থাকতে হবে, তবে নিম্নলিখিত ডেট সেগমেন্টগুলো, যেগুলোকে কোর ডেট সেগমেন্ট বলা হয়, সেগুলো এর ব্যতিক্রম:

  • segments.date
  • segments.week
  • segments.month
  • segments.quarter
  • segments.year

নিম্নলিখিত কোয়েরিতে লক্ষ্য করুন যে segments.date নির্বাচন করা হয়েছে। যেহেতু এই সেগমেন্টটি একটি কোর ডেট সেগমেন্ট, তাই WHERE ক্লজে কোর ডেট সেগমেন্ট দ্বারা গঠিত একটি সসীম তারিখের পরিসর প্রদান করা প্রয়োজন।

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

উপরোক্ত শর্ত পূরণ করে এমন সমস্ত সেগমেন্ট হলো: segments.date , segments.week , segments.month , segments.quarter , এবং segments.year । যদি এই সেগমেন্টগুলোর কোনোটি নির্বাচন করা হয়, তবে WHERE ক্লজে সেগুলোর মধ্যে অন্তত একটি অবশ্যই ব্যবহার করতে হবে।

তারিখ ফিল্টারিং সম্পর্কে আরও বিস্তারিত জানতে তারিখের পরিসর দেখুন।

ফিল্টার করার সময় আপনার অপারেটরের কেস-সেনসিটিভিটি মনে রাখা গুরুত্বপূর্ণ। আরও বিস্তারিত জানতে কেস সেনসিটিভিটি দেখুন।

অপারেটরগুলোর পূর্ণাঙ্গ তালিকার জন্য ভাষার ব্যাকরণ দেখুন।

ক্রম অনুসারে

ORDER BY ক্লজটি ফলাফল ফেরত দেওয়ার ক্রম নির্দিষ্ট করে। এটি আপনাকে একটি ফিল্ডের নামের উপর ভিত্তি করে ডেটা আরোহী বা অবরোহী ক্রমে সাজাতে দেয়। প্রতিটি ক্রম field_name এর পরে ASC বা DESC দিয়ে নির্দিষ্ট করা হয়। যদি ASC বা DESC কোনোটিই নির্দিষ্ট করা না থাকে, তবে ক্রমটি ডিফল্টভাবে ASC হয়। একটি কোয়েরিতে ORDER BY ক্লজটি ঐচ্ছিক

নিম্নলিখিত কোয়েরিটি প্রাপ্ত ক্যাম্পেইনগুলোকে ক্লিকের সংখ্যা অনুসারে সর্বোচ্চ থেকে সর্বনিম্ন ক্রমে সাজায়:

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

আপনি ORDER BY ক্লজে কমা দিয়ে আলাদা করা একটি তালিকা ব্যবহার করে একাধিক ফিল্ড নির্দিষ্ট করতে পারেন। কোয়েরিতে নির্দিষ্ট করা ক্রম অনুসারেই সাজানো হবে। উদাহরণস্বরূপ, অ্যাড গ্রুপ ডেটা নির্বাচনকারী এই কোয়েরিতে, ফলাফলগুলি প্রথমে ক্যাম্পেইনের নাম অনুসারে আরোহী ক্রমে, তারপর ইম্প্রেশনের সংখ্যা অনুসারে অবরোহী ক্রমে এবং সবশেষে ক্লিকের সংখ্যা অনুসারে অবরোহী ক্রমে সাজানো হবে:

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

সীমা

LIMIT ক্লজ আপনাকে ফেরত আসা ফলাফলের সংখ্যা নির্দিষ্ট করতে দেয়। আপনি যদি শুধু একটি সারাংশ পেতে আগ্রহী হন, তবে এটি কার্যকর।

উদাহরণস্বরূপ, নিম্নলিখিত কোয়েরির জন্য মোট ফলাফলের সংখ্যা সীমিত করতে LIMIT ব্যবহার করা যেতে পারে:

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

প্যারামিটার

PARAMETERS ক্লজটি আপনাকে অনুরোধের জন্য মেটা প্যারামিটার নির্দিষ্ট করার সুযোগ দেয়। এই প্যারামিটারগুলো কী ধরনের সারি ফেরত আসবে তার উপর প্রভাব ফেলতে পারে।

নিম্নলিখিত মেটা প্যারামিটারগুলো সমর্থিত:

খসড়া অন্তর্ভুক্ত করুন

ড্রাফট এনটিটি ফেরত পাওয়ার অনুমতি দিতে include_drafts true তে সেট করুন। এর ডিফল্ট মান false

উদাহরণস্বরূপ, নিম্নলিখিত কোয়েরিটি নিয়মিত ক্যাম্পেইনের পাশাপাশি ড্রাফট ক্যাম্পেইনগুলোও নিয়ে আসে:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

নির্বাচিত নয় এমন রিসোর্সের নাম বাদ দিন

SELECT ক্লজে স্পষ্টভাবে অনুরোধ করা না হলে, রেসপন্সে প্রতিটি রিসোর্স টাইপের রিসোর্স নেম ফেরত আসা আটকাতে omit_unselected_resource_names true তে সেট করুন। এর ডিফল্ট মান false

omit_unselected_resource_names উদাহরণ
SELECT
  campaign.name,
  customer.id
FROM campaign
Returned resources:
campaign.resource_name
customer.resource_name

omit_unselected_resource_names এর ডিফল্ট মান false , তাই resource_name-এর সমস্ত ফিল্ডই ফেরত দেওয়া হয়।
SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Returned resources:
কিছুই না।
omit_unselected_resource_names true হিসেবে নির্দিষ্ট করা হয়েছে এবং campaign.resource_namecustomer.resource_name , SELECT ক্লজের অংশ নয়।
SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Returned resource:
campaign.resource_name
omit_unselected_resource_names true হিসেবে নির্দিষ্ট করা হয়েছে এবং SELECT ক্লজের অংশ হিসেবে campaign.resource_name জন্য অনুরোধ করা হয়েছে।

অতিরিক্ত ভাষার নিয়মাবলী

প্রতিটি ক্লজের উদাহরণ ছাড়াও, গুগল অ্যাডস কোয়েরি ল্যাঙ্গুয়েজের নিম্নলিখিত বৈশিষ্ট্যগুলো রয়েছে যা ব্যবহার করা যেতে পারে:

  • একটি কোয়েরির SELECT ক্লজে প্রধান রিসোর্স ফিল্ড থাকা আবশ্যক নয় । উদাহরণস্বরূপ, আপনি ডেটা ফিল্টার করার জন্য শুধুমাত্র এক বা একাধিক প্রধান রিসোর্স ফিল্ড ব্যবহার করতে চাইতে পারেন:

    SELECT campaign.id
    FROM ad_group
    WHERE ad_group.status = PAUSED
    
  • কোনো একটি নির্দিষ্ট রিসোর্সের জন্য মেট্রিকগুলো একচেটিয়াভাবে নির্বাচন করা যেতে পারে; কোয়েরিতে রিসোর্সটির অন্য কোনো ফিল্ডের প্রয়োজন নেই:

    SELECT
      metrics.impressions,
      metrics.clicks,
      metrics.cost_micros
    FROM campaign
    
  • কোনো সংশ্লিষ্ট রিসোর্স ফিল্ড বা মেট্রিক ছাড়াই সেগমেন্টেশন ফিল্ড নির্বাচন করা যেতে পারে:

    SELECT segments.device FROM campaign
    
  • resource_name ফিল্ডটি (উদাহরণস্বরূপ, campaign.resource_name ) ডেটা ফিল্টার বা সাজানোর জন্য ব্যবহার করা যেতে পারে:

    SELECT
      campaign.id,
      campaign.name
    FROM campaign
    WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'