گزارش

گزارش‌ها اطلاعاتی درباره همه منابع مختلف در حسابتان ارائه می‌دهند. می‌توانید اطلاعات مربوط به پویش‌ها، گروه‌های آگهی، و آمار آن‌ها، سابقه تغییرات حسابتان، و موارد دیگر را واکشی کنید. زیرساخت گزارش‌دهی توسط Google Ads 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() به صفحه‌گسترده صادر کنید. این قالب پیش‌فرضی نیست که Google Ads 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"];
}

برای جزئیات کامل درباره استفاده از این نما، به 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 مراجعه کنید.