Tipos de anúncio

O Google Ads é compatível com vários tipos de anúncio, como anúncios gráficos, de texto e para dispositivos móveis. Este guia explica como criar, recuperar e gerar relatórios sobre anúncios usando os scripts do Google Ads. Para ter uma visão geral de todos os tipos de anúncio compatíveis com o Google Ads, consulte o guia de API.

Criação

Os scripts podem criar anúncios usando o método newAd() em instâncias AdGroup. Isso retorna um AdBuilderSpace que cria builders para tipos de anúncios compatíveis.

O snippet a seguir demonstra como criar um anúncio responsivo de pesquisa:

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();

Inspeção

Algumas informações associadas a todos os tipos de anúncios estão disponíveis imediatamente em um Ad, como o ID e o status de aprovação de um anúncio. Além disso, qualquer anúncio pode ser pausado, ativado ou removido.

Para acessar campos específicos do tipo de um anúncio, como os títulos de um anúncio responsivo de pesquisa, use o método asType() para criar um AdViewSpace. Isso fornece acesso a uma versão estendida do Ad que expõe métodos específicos do tipo.

O snippet a seguir recebe os títulos de todos os anúncios responsivos de pesquisa:

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

A condição Type = RESPONSIVE_SEARCH_AD garante que todos os anúncios do iterador sejam anúncios responsivos de pesquisa. A tentativa de visualizar um anúncio com um tipo incorreto vai resultar em um erro que interrompe a execução do script. Por isso, é importante visualizar campos específicos do tipo somente quando o tipo de anúncio é conhecido.

O snippet a seguir mostra como determinar se um anúncio é do tipo correto usando o método Ad.isType():

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

Embora não seja possível filtrar anúncios por texto do título usando seletores padrão, é possível filtrá-los em JavaScript depois de recuperá-los:

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()}`);
  }
}

Relatórios

A visualização ad_group_ad pode ser usada para consultar campos de anúncio, além de estatísticas regulares. Por exemplo, é possível filtrar por tipo de anúncio usando ad_group_ad.ad.type. O snippet a seguir mostra como recuperar as estatísticas de todos os anúncios de pesquisa responsivos:

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

Como filtrar por conteúdo do recurso

Para filtrar anúncios responsivos de pesquisa pelo conteúdo dos títulos ou das descrições em grande escala, use o recurso ad_group_ad_asset_view. Essa visualização trata cada título e descrição como uma linha separada, permitindo que você filtre o texto do recurso.

O snippet a seguir recupera estatísticas de todos os anúncios responsivos de pesquisa que contêm um 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.`);
}

Consulte o guia de relatórios para mais informações sobre relatórios em scripts.