Отчеты

Отчеты содержат информацию о всех ресурсах в вашем аккаунте. Вы можете получать информацию о кампаниях, группах объявлений и их статистике, историю изменений в аккаунте и многое другое. Инфраструктура отчетов поддерживается 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.