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

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