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

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