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.