Tipi di annunci

Google Ads supporta una serie di tipi di annunci, come annunci di testo, illustrati e mobile. Questa guida spiega come creare, recuperare e generare report sugli annunci utilizzando gli script Google Ads. Per una panoramica di tutti i tipi di annuncio supportati da Google Ads, consulta la guida API.

Creazione

Gli script possono creare annunci utilizzando il metodo newAd() sulle istanze AdGroup. Viene restituito un AdBuilderSpace che crea builder per i tipi di annuncio supportati.

Il seguente snippet mostra come creare un annuncio adattabile della rete di ricerca:

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

Ispezione

Alcune informazioni associate a tutti i tipi di annuncio sono immediatamente disponibili da un Ad, ad esempio l'ID e lo stato di approvazione di un annuncio. Inoltre, qualsiasi annuncio può essere messo in pausa, attivato o rimosso.

Per accedere ai campi specifici di un tipo di annuncio, ad esempio i titoli di un annuncio adattabile della rete di ricerca, utilizza il metodo asType() per creare un AdViewSpace. In questo modo si accede a una versione estesa dell'API Ad che espone metodi specifici per il tipo.

Il seguente snippet recupera i titoli di tutti gli annunci adattabili della rete di ricerca:

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

Nota che la condizione Type = RESPONSIVE_SEARCH_AD garantisce che ogni annuncio dell'iteratore sia un annuncio adattabile della rete di ricerca. Il tentativo di visualizzare un annuncio con un tipo errato genera un errore che interrompe l'esecuzione dello script, pertanto è importante visualizzare i campi specifici del tipo solo quando il tipo di annuncio è noto.

Il seguente snippet mostra come determinare se un annuncio è del tipo corretto utilizzando il metodo Ad.isType():

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

Anche se non puoi filtrare gli annunci in base al testo del titolo utilizzando i selettori standard, puoi filtrarli in JavaScript dopo averli recuperati:

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

Rapporti

La visualizzazione ad_group_ad può essere utilizzata per eseguire query sui campi annuncio oltre alle statistiche regolari. Ad esempio, puoi filtrare per tipo di annuncio utilizzando ad_group_ad.ad.type. Il seguente snippet mostra come recuperare le statistiche per tutti gli annunci adattabili della rete di ricerca:

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

Filtro per contenuti degli asset

Per filtrare gli annunci adattabili della rete di ricerca in base al contenuto dei titoli o delle descrizioni su larga scala, utilizza la risorsa ad_group_ad_asset_view. Questa visualizzazione considera ogni titolo e descrizione come una riga separata, consentendoti di filtrare in base al testo dell'asset.

Il seguente snippet recupera le statistiche per tutti gli annunci adattabili della rete di ricerca che contengono un titolo specifico:

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

Per ulteriori informazioni sulla generazione di report negli script, consulta la guida ai report.