گزارش نویسی

گزارش‌ها اطلاعاتی در مورد تمام منابع مختلف موجود در حساب شما ارائه می‌دهند. می‌توانید اطلاعات مربوط به کمپین‌ها، گروه‌های تبلیغاتی و آمار آنها، تاریخچه تغییرات حساب خود و موارد دیگر را دریافت کنید. زیرساخت گزارش‌دهی توسط API گوگل ادز پشتیبانی می‌شود و از GAQL برای مشخص کردن فیلدها، معیارها و شرایطی که می‌خواهید تنظیم کنید، استفاده می‌کند.

دو مکانیسم اصلی برای گزارش‌دهی وجود دارد. هر دو نوع پرس‌وجوهای یکسانی را می‌پذیرند و تفاوت اصلی آنها در نحوه‌ی بازگرداندن نتایج است.

برای هر دو مورد، از پرس و جوی زیر استفاده خواهیم کرد:

SELECT
  campaign.id,
  campaign.status,
  metrics.clicks,
  metrics.impressions,
  customer.id
FROM campaign
WHERE
  metrics.impressions > 0
AdsApp.report()
این یک نمایش مسطح و دیکشنری مانند از نتایج جستجوی شما را برمی‌گرداند. می‌توانید مستقیماً به فیلدهایی مانند row["campaign.id"] و row["metrics.impressions"] مانند استفاده از یک دیکشنری دسترسی داشته باشید. با استفاده از این فرمت، می‌توانید نتایج را مستقیماً با استفاده از متد exportToSheet() به یک صفحه گسترده صادر کنید. این فرمت پیش‌فرضی نیست که نتایج توسط API گوگل ادز در آن برگردانده می‌شوند، بنابراین در برخی موارد ممکن است برخی از فیلدها در این فرمت در دسترس نباشند. در این صورت، باید به جای آن search استفاده کنید.
AdsApp.search()
این دستور لیستی از اشیاء GoogleAdsRow را برمی‌گرداند که دارای فیلدهای مختلفی هستند و هر کدام ممکن است زیرفیلدهایی داشته باشند. بنابراین برای دریافت داده‌ها به row.campaign.id و row.metrics.impressions دسترسی خواهید داشت. این روش معمولاً در صورتی مفیدتر است که قصد پردازش داده‌ها به صورت برنامه‌نویسی شده را داشته باشید و برخی از فیلدها فقط در صورتی که قابل تبدیل به یک نمایش مسطح نباشند، ممکن است در قالب search در دسترس باشند.

مثال گزارش

let report = AdsApp.report(
    "SELECT " +
    " ad_group.id, search_term_view.search_term, metrics.ctr, metrics.cost_micros, metrics.impressions " +
    "FROM search_term_view " +
    "WHERE metrics.impressions < 10 AND segments.date DURING LAST_30_DAYS");

let rows = report.rows();
while (rows.hasNext()) {
    let row = rows.next();
    let query = row["search_term_view.search_term"];
    let impressions = row["metrics.impressions"];
}

برای جزئیات کامل در مورد استفاده از این view، به مستندات AdsApp.report نگاهی بیندازید.

مثال جستجو

let search = AdsApp.search(
    "SELECT " +
    " ad_group.id, search_term_view.search_term, metrics.ctr, metrics.cost_micros, metrics.impressions " +
    "FROM search_term_view " +
    "WHERE metrics.impressions < 10 AND segments.date DURING LAST_30_DAYS");

while (search.hasNext()) {
    let row = search.next();
    let query = row.searchTermView.searchTerm;
    let impressions = row.metrics.impressions;
}

برای مشاهده‌ی تمام تنظیمات ممکن، به مستندات کامل Adsapp.search مراجعه کنید.