Informes

Los informes proporcionan información sobre todos los diferentes recursos de tu cuenta. Puedes recuperar información sobre las campañas, los grupos de anuncios y sus estadísticas, el historial de cambios de tu cuenta y mucho más. La infraestructura de informes se basa en la API de Google Ads y usa GAQL para especificar qué campos, métricas y condiciones deseas establecer.

Existen dos mecanismos principales para generar informes. Ambos aceptan los mismos tipos de búsquedas y se diferencian principalmente en la forma en que devuelven los resultados.

En ambos casos, usaremos la siguiente consulta:

SELECT
  campaign.id,
  campaign.status,
  metrics.clicks,
  metrics.impressions,
  customer.id
FROM campaign
WHERE
  metrics.impressions > 0
AdsApp.report()
Esto devolverá una representación plana, similar a un diccionario, de tus resultados de búsqueda. Puedes acceder a los campos como si usaras un diccionario, como row["campaign.id"] y row["metrics.impressions"] directamente. Con este formato, puedes exportar los resultados directamente a una hoja de cálculo con el método exportToSheet(). Este no es el formato nativo en el que la API de Google Ads devuelve los resultados, por lo que, en algunos casos, es posible que algunos campos no estén disponibles en este formato. Si es así, debes usar search en su lugar.
AdsApp.search()
Esto devolverá una lista de objetos GoogleAdsRow, que tienen varios campos, cada uno de los cuales puede tener subcampos. Por lo tanto, accederías a row.campaign.id y row.metrics.impressions para recuperar los datos. En general, esto es más útil si planeas procesar los datos de forma programática, y algunos campos solo pueden estar disponibles en el formato search si no se pueden convertir a una representación plana.

Ejemplo de informe

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"];
}

Consulta la documentación de AdsApp.report para obtener todos los detalles sobre el uso de esta vista.

Ejemplo de búsqueda

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;
}

Consulta la documentación completa de Adsapp.search para conocer todos los parámetros de configuración posibles.