Esempi di script per la gestione degli annunci
Le sezioni seguenti mostrano esempi di script che eseguono varie azioni per gli annunci.
Nota
- Aggiorna gli annunci di testo espansi agli annunci di ricerca reattivi entro il 1° febbraio 2023. Dopo questa data, non sarà più possibile creare annunci di testo espansi nuovi o modificare quelli esistenti. Per altre informazioni, vedi Informazioni sugli annunci di ricerca reattivi.
- Gli annunci di testo espansi esistenti continueranno a essere pubblicati e potrai visualizzare i report sulle loro prestazioni.
- Potrai comunque sospendere, abilitare o rimuovere gli annunci di testo espansi. In caso contrario, i tentativi di aggiungere o aggiornare gli annunci di testo espansi genereranno un
CampaignServiceAdTypeInvalid
errore. - Altre informazioni su questa modifica.
Per aggiungere un annuncio, ottieni prima il gruppo di annunci a cui vuoi aggiungere l'annuncio. Usare l'oggetto AdGroupSelector per selezionare il gruppo di annunci. L'uso del withIds
metodo offre prestazioni migliori rispetto al passaggio del nome del gruppo di annunci nel withCondition
metodo .
Chiama quindi il metodo newAd del gruppo di annunci per ottenere un generatore che usi per specificare le proprietà dell'annuncio. A differenza di altri tipi di entità, il newAd
metodo restituisce un oggetto AdBuilderSpace che contiene metodi per ottenere il generatore per il tipo di annuncio che si vuole creare. Questo esempio aggiunge un annuncio di testo espanso, quindi chiama il expandedTextAdBuilder
metodo per ottenere un generatore di annunci di testo espanso.
Per gli annunci di testo espansi, è necessario specificare le proprietà seguenti:
- Descrizione
- FinalUrl
- HeadlinePart1
- HeadlinePart2
La combinazione di queste proprietà definisce in modo univoco un annuncio di testo espanso. Le altre proprietà sono facoltative.
La chiamata al metodo del build
generatore crea l'annuncio in modo asincrono; Gli script aggiungono l'annuncio a un certo punto prima che lo script termini o se si chiama uno dei metodi dell'operazione di compilazione. Per informazioni su questo processo, vedere Che cos'è un generatore?
function main() {
var adGroupId = "AD GROUP ID GOES HERE";
var adGroup = getAdGroup(adGroupId);
if (adGroup != null) {
// Get an expanded text ad builder, specify the ad's
// properties, and add the ad to the build queue.
var operation = adGroup.newAd().expandedTextAdBuilder()
.withDescription("AD COPY GOES HERE")
.withFinalUrl("https://contoso.com")
.withHeadlinePart1("AD TITLE PART 1 GOES HERE")
.withHeadlinePart2("AD TITLE PART 2 GOES HERE")
.build();
if (!operation.isSuccessful()) {
for (var error of operation.getErrors()) {
Logger.log(error);
}
}
}
else {
Logger.log(`Failed to get ad group, ${adGroupId}.`);
}
}
function getAdGroup(id) {
var adGroups = AdsApp.adGroups()
.withIds([id])
.get();
if (adGroups.hasNext()) {
return adGroups.next();
}
else {
return null;
}
}
Se esiste un annuncio aggiunto in precedenza con gli stessi valori per la combinazione di campi obbligatori, il servizio non aggiunge l'annuncio, ma restituisce l'annuncio e l'ID aggiunti in precedenza. Tuttavia, se gli stessi annunci vengono elaborati nella stessa coda di compilazione, il secondo annuncio ha esito negativo con CampaignServiceDuplicateAd. Ad esempio, poiché gli annunci nell'esempio seguente sono gli stessi, uno di essi ha esito negativo.
if (adGroup != null) {
var adOperation = adGroup.newAd().expandedTextAdBuilder()
.withDescription("ad copy")
.withFinalUrl("https://contoso.com")
.withHeadlinePart1("title part 1")
.withHeadlinePart2("title part 2")
.build();
operations.push(adOperation);
adOperation = adGroup.newAd().expandedTextAdBuilder()
.withDescription("ad copy")
.withFinalUrl("https://contoso.com")
.withHeadlinePart1("title part 1")
.withHeadlinePart2("title part 2")
.build();
operations.push(adOperation);
for (var operation of operations) {
if (!operation.isSuccessful()) {
for (var error of operation.getErrors()) {
Logger.log(error);
}
}
}
}
Hai diverse opzioni per ottenere annunci a seconda di dove ti trovi nella gerarchia.
Se hai un oggetto AdGroup , chiama il metodo dell'oggetto ads
per ottenere l'elenco degli annunci che appartengono al gruppo di annunci. Questo esempio ottiene e stampa tutti gli annunci nel gruppo, ma puoi usare i metodi del selettore di annunci per filtrare l'elenco di annunci.
function main() {
var adGroups = AdsApp.adGroups()
.withIds(["AD GROUP ID GOES HERE"])
.get();
if (adGroups.hasNext()) {
var adGroup = adGroups.next();
var ads = adGroup.ads().get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
}
Se hai un oggetto Campaign , chiama il metodo dell'oggetto ads
per ottenere l'elenco degli annunci che appartengono ai gruppi di annunci nella campagna. Questo esempio usa il metodo del withCondition
selettore di annunci per filtrare l'elenco di annunci in base a quelli nei gruppi di annunci che contengono il nome foo.
function main() {
var campaigns = AdsApp.campaigns()
.withIds(["CAMPAIGN ID GOES HERE"])
.get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
var ads = campaign.ads()
.withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
.get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
}
Per ottenere tutti gli annunci in un account, chiama il ads
metodo sull'oggetto AdsApp . Puoi usare i metodi del selettore di annunci per filtrare l'elenco di annunci in campagne, gruppi di annunci o in base alle prestazioni degli annunci. Questo esempio ottiene tutti gli annunci dall'account.
function main() {
var ads = AdsApp.ads().get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
Per sospendere un annuncio, chiama il metodo dell'annuncio pause
. Poiché il pause
metodo si trova sull'oggetto Ad di base, non è necessario ottenere prima l'oggetto derivato.
Se vuoi abilitare o rimuovere un annuncio, chiama semplicemente il metodo o remove
dell'annuncioenable
. Per verificare se l'annuncio è abilitato o sospeso, chiama il isEnabled
metodo o isPaused
.
Per ottenere annunci con uno stato specifico, usa il metodo del selettore di withCondition
annunci. Ad esempio, withCondition("Status = PAUSED)
.
function main() {
var ads = AdsApp.ads()
.forDateRange("LAST_WEEK")
.withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
.withCondition('Status = ENABLED')
.withCondition('Clicks < 5')
.get();
while (ads.hasNext()) {
var ad = ads.next();
ad.pause();
}
}
Per un esempio che ottiene annunci non approvati, vedi Individuazione degli annunci non approvati.