زبان جستجوی تبلیغات گوگل

اصطلاحات کلیدی

منبع
یک موجودیت در گوگل ادز، مانند campaign یا ad_group .
بخش
بُعدی که برای گروه‌بندی داده‌ها استفاده می‌شود، مانند segments.date یا segments.device . وقتی سگمنت‌ها در عبارت SELECT به همراه معیارها گنجانده می‌شوند، معیارها بر اساس سگمنت تقسیم می‌شوند.
متریک
معیاری برای سنجش عملکرد، مانند metrics.impressions یا metrics.clicks .
منبع منتسب
منبعی که به طور ضمنی در بند FROM به منبع اصلی متصل شده است و به شما امکان می‌دهد ویژگی‌های آن را به همراه ویژگی‌های منبع اصلی انتخاب کنید.

پرس و جو برای اطلاعات منابع یا فراداده

زبان جستجوی گوگل ادز می‌تواند از API گوگل ادز برای انواع اطلاعات زیر جستجو کند:

  • منابع و ویژگی‌ها، بخش‌ها و معیارهای مرتبط با آنها با استفاده از جستجوی GoogleAdsService یا 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 را نشان دهد. بخش‌بندی، معیارهای انتخاب شده را تقسیم می‌کند و بر اساس هر بخش در عبارت 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 و تعداد نمایش آنها بیش از ۱۰۰۰ است، اجرا کنید. ۱. شیء Campaign را از فیلد campaign هر GoogleAdsRow در پاسخ دریافت کنید. ۱. وضعیت هر کمپین را از 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 را دارد.