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 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 newAd() método em AdGroup instâncias. Isso retorna um AdBuilderSpace que cria builders para tipos de anúncio 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úncio estão imediatamente disponíveis 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 anúncio, como os títulos de um anúncio responsivo de pesquisa, use o asType() método 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 resultará em um erro que interrompe a execução do script. Portanto, é importante visualizar campos específicos do tipo somente quando o tipo de um anúncio for conhecido.

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

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 normais. 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 responsivos de pesquisa:

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

Filtrar por conteúdo do recurso

Para filtrar anúncios responsivos de pesquisa pelo conteúdo dos títulos ou descrições em escala, use o ad_group_ad_asset_view recurso. 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 como gerar relatórios em scripts.