Отчеты

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