Отчеты

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