Tipos de anuncios

Google Ads admite una variedad de tipos de anuncios, como los de texto, con imágenes y para dispositivos móviles. En esta guía, se explica cómo crear anuncios, recuperarlos y generar informes sobre ellos con las secuencias de comandos de Google Ads. Para obtener una descripción general de todos los tipos de anuncios compatibles con Google Ads, consulta la guía de la API.

Creación

Las secuencias de comandos pueden crear anuncios con el método newAd() en instancias de AdGroup. Devuelve un AdBuilderSpace que crea compiladores para los tipos de anuncios admitidos.

En el siguiente fragmento, se muestra cómo crear un anuncio de búsqueda adaptable:

let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
    .withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
    .withDescriptions(["Description 1", "Description 2"])
    .withFinalUrl("http://www.example.com")
    .withPath1("path1")
    .withPath2("path2")
    .build();

Inspección

Parte de la información asociada a todos los tipos de anuncios está disponible de inmediato en un Ad, como el ID y el estado de aprobación de un anuncio. Además, se puede detener, habilitar o quitar cualquier anuncio.

Para acceder a los campos específicos del tipo de anuncio, como los títulos de un anuncio de búsqueda responsivo, usa el método asType() para crear un AdViewSpace. Esto proporciona acceso a una versión extendida de Ad que expone métodos específicos del tipo.

El siguiente fragmento obtiene los títulos de todos los anuncios de búsqueda responsivos:

const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
  let ad = iterator.next();
  let responsiveSearchAd = ad.asType().responsiveSearchAd();
  let headlines = responsiveSearchAd.getHeadlines();
}

Observa que la condición Type = RESPONSIVE_SEARCH_AD garantiza que cada anuncio del iterador sea un anuncio de búsqueda responsivo. Si intentas ver un anuncio con un tipo incorrecto, se producirá un error que detendrá la ejecución de tu secuencia de comandos, por lo que es importante ver los campos específicos del tipo solo cuando se conoce el tipo de anuncio.

En el siguiente fragmento, se muestra cómo determinar si un anuncio es del tipo correcto con el método Ad.isType():

if (ad.isType().responsiveSearchAd()) {
  let responsiveSearchAd = ad.asType().responsiveSearchAd();
  let headlines = responsiveSearchAd.getHeadlines();
  let descriptions = responsiveSearchAd.getDescriptions();
}

Si bien no puedes filtrar los anuncios por el texto del título con los selectores estándares, puedes filtrarlos en JavaScript después de recuperarlos:

const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
  let ad = iterator.next();
  let responsiveSearchAd = ad.asType().responsiveSearchAd();
  let headlines = responsiveSearchAd.getHeadlines();
  // Filter for ads containing a specific headline.
  if (headlines.some(h => h.getText().includes("Special Offer"))) {
    console.log(`Found ad with ID ${ad.getId()}`);
  }
}

Informes

La vista de ad_group_ad se puede usar para consultar campos de anuncios además de las estadísticas normales. Por ejemplo, puedes filtrar por tipo de anuncio con ad_group_ad.ad.type. En el siguiente fragmento, se muestra cómo recuperar las estadísticas de todos los anuncios de búsqueda adaptables:

const results = AdsApp.search(
  "SELECT ad_group_ad.ad_group.id, " +
          "ad_group_ad.ad.id, " +
          "metrics.clicks, " +
          "metrics.impressions, " +
          "metrics.cost " +
  "FROM ad_group_ad " +
  "WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
    "AND segments.date DURING LAST_7_DAYS");

while (results.hasNext()) {
  let row = results.next();
  let adId = row.adGroupAd.ad.id;
  let clicks = row.metrics.clicks;
  ...
}

Filtrado por contenido del activo

Para filtrar los anuncios de búsqueda responsivos según el contenido de sus títulos o descripciones a gran escala, usa el recurso ad_group_ad_asset_view. En esta vista, cada título y descripción se considera una fila independiente, lo que te permite filtrar el texto del recurso.

El siguiente fragmento recupera las estadísticas de todos los anuncios de búsqueda responsivos que contienen un título específico:

const results = AdsApp.search(
  "SELECT ad_group_ad.ad.id, " +
          "asset.text_asset.text, " +
          "metrics.clicks, " +
          "metrics.impressions " +
  "FROM ad_group_ad_asset_view " +
  "WHERE asset.text_asset.text LIKE '%Special Offer%' " +
    "AND ad_group_ad_asset_view.field_type = 'HEADLINE'");

while (results.hasNext()) {
  let row = results.next();
  let adId = row.adGroupAd.ad.id;
  let text = row.asset.textAsset.text;
  let clicks = row.metrics.clicks;
  console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}

Consulta la guía de informes para obtener más información sobre los informes en secuencias de comandos.