إعداد التقارير

تقدّم التقارير معلومات عن جميع الموارد المختلفة في حسابك. يمكنك استرداد معلومات عن الحملات والمجموعات الإعلانية وإحصاءاتها، وسجلّ التغييرات في حسابك، وغير ذلك. تستند البنية الأساسية لإعداد التقارير إلى 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 الكاملة للاطّلاع على جميع الإعدادات الممكنة.