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

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