Accesso con account singolo
Se vuoi accedere a un singolo account utente, tutto inizia con l'oggetto AdsApp .
Ricerca per categorie accedere alle entità nell'account?
Usare AdsApp
per accedere a tutte le entità nell'account. L'oggetto contiene un metodo selettore per ogni tipo di entità,ad esempio campagne, gruppi di annunci e parole chiave. Il metodo selettore restituisce tutte le entità per tale tipo di entità. Ad esempio, per ottenere tutti i gruppi di annunci nell'account, chiamare il adGroups()
metodo .
var iterator = AdsApp.adGroups().get();
Ma cosa succede se si vuole un'entità specifica o un subset di entità?
Il selettore offre diversi modi per filtrare l'elenco di entità. È possibile usare il metodo del withIds()
selettore per ottenere entità specifiche in base agli ID oppure withCondition()
per specificare i criteri di selezione per la selezione delle entità. I selettori per tutti i tipi di entità, ad eccezione degli elenchi di parole chiave negative, consentono di filtrare l'elenco di entità.
Usare la notazione punto per raggruppare più filtri. Se si specificano più filtri, vengono considerati come un'operazione AND. Il selettore restituisce solo le entità che corrispondono a tutte le condizioni.
Per ottenere tutti i gruppi di annunci in una campagna, usa il withCondition()
metodo per specificare il nome della campagna.
var campaignName = 'My Campaign';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.get();
Per un elenco di condizioni e operatori che è possibile usare per filtrare l'elenco di entità, vedere il metodo del withCondition()
selettore. Ad esempio, per un elenco delle condizioni del gruppo di annunci, vedi il metodo withCondition del selettore del gruppo di annunci.
Per ottenere un gruppo di annunci in base all'ID, usa il withIds()
metodo per specificare il gruppo di annunci da ottenere.
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
In alternativa, puoi ottenere il gruppo di annunci per nome.
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
Per altre informazioni sui selettori, vedere Che cosa sono i selettori?
Ricerca per categorie usare il selettore per scorrere l'elenco filtrato di entità?
Non è così. Il selettore definisce solo le entità che si desidera ottenere. Per ottenere effettivamente le entità, si usa un iteratore. Per ottenere l'iteratore, chiamare il metodo del get()
selettore.
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
Usare un ciclo while semplice per scorrere l'elenco di entità.
while (iterator.hasNext()) {
var adGroup = iterator.next();
// Do something with the entity
}
Per altre informazioni sugli iteratori, vedere Che cosa sono gli iteratori?
Ricerca per categorie ottenere i dati sulle prestazioni per un'entità?
La maggior parte delle entità consente di richiedere dati sulle prestazioni, se disponibili. Ma prima di tutto è necessario indicare agli script l'intervallo di date per i dati sulle prestazioni quando si specifica il selettore. Per specificare un intervallo di date, usare un valore letterale predefinito, ad esempio YESTERDAY o LAST_MONTH, oppure una data di inizio e fine. Per altre informazioni, vedere forDateRange(string dateRange) e forDateRange(Object dateFrom, Object dateTo).
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.forDateRange('LAST_30_DAYS')
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
while (iterator.hasNext()) {
var adGroup = iterator.next();
var stats = adGroup.getStats();
}
È anche necessario specificare un intervallo di date se si specifica una colonna di dati sulle prestazioni nel metodo di withCondition()
un selettore. Ad esempio, se vuoi specificare un intervallo di date solo per i gruppi di annunci con un CTR maggiore di .22%.
var startDate = {year: 2018, month: 6, day: 3};
var endDate = {year: 2018, month: 6, day: 13};
var iterator = AdsApp.adGroups()
.forDateRange(startDate, endDate)
.withCondition("Ctr > 0.22")
.get();
Ricerca per categorie aggiungere un'entità?
Per aggiungere un'entità, si usa un oggetto generatore. Per ottenere un oggetto generatore, chiamare il metodo new* sull'oggetto padre a cui si aggiungono elementi figlio. Ad esempio, per aggiungere gruppi di annunci a una campagna, chiama il metodo della newAdGroupBuilder()
campagna.
L'oggetto builder contiene metodi per l'impostazione di tutte le proprietà dell'oggetto che è possibile specificare. Include anche un build()
metodo usato per creare l'entità. Di seguito viene illustrato come creare un gruppo di annunci. Per informazioni su come ottenere un oggetto campagna, vedere Ottenere una campagna per nome.
var adGroupName = "My ad group";
var endDate = {year: 2018, month: 6, day: 13};
var customParameters = {key1: 'value1', key2: 'value2', key3: 'value3'};
var adGroupOperation = campaign.newAdGroupBuilder()
.withName(adGroupName)
.withStatus('ENABLED')
.withLanguage('English')
.withBiddingStrategy('MANUAL_CPC')
.withCpc(1.2)
.withCustomParameters(customParameters)
.withEndDate(endDate)
.build();
Il build
metodo restituisce un oggetto operazione, che è possibile usare per verificare se Script ha creato correttamente l'entità. Di seguito viene illustrato il modello di chiamata tipico. Chiamare il getResult
metodo solo se si vuole accedere alle proprietà della nuova entità.
if (adGroupOperation.isSuccessful()) {
var adGroup = adGroupOperation.getResult();
}
else {
for (var error of adGroupOperation.getErrors()) {
Logger.log(`${error}\n`);
}
}
Per altre informazioni sui generatori e sulle considerazioni sulle prestazioni quando si chiamano i metodi dell'operazione, vedere Che cosa sono i generatori?
Ricerca per categorie aggiornare un'entità?
Dopo aver usato un oggetto generatore per aggiungere un'entità, usare i metodi dell'entità per aggiornarne le proprietà. L'esempio seguente aggiorna l'importo dell'offerta CPC del gruppo di annunci.
var ids = ["123456789"];
var adGroups = AdsApp.adGroups()
.withIds(ids)
.get();
if (adGroups.hasNext()) {
var adGroup = adGroups.next();
adGroup.bidding().setCpc(2.5);
}
Ma come faccio a sapere che l'aggiornamento ha funzionato?
Se si tenta di aggiornare una proprietà con un valore non valido, Script scrive un errore nel log delle modifiche, ma non genera un'eccezione, quindi lo script continua l'esecuzione. Non ottenere la proprietà dopo l'aggiornamento per verificare se la proprietà contiene il nuovo valore; questa operazione influisce negativamente sulle prestazioni.
function main() {
var id = "123456789";
var bidAmount = -2.5;
var keyword = getKeyword(id);
if (keyword != null) {
keyword.bidding().setCpc(bidAmount); // Bid is not set because bid amount is not valid
}
}
function getKeyword(id) {
var keywords = AdsApp.keywords()
.withIds([id])
.get();
if (keywords.hasNext()) {
return keywords.next();
}
else {
return null;
}
}
Scrittura nel file di log
Gli script forniscono un file di log in cui scrivere informazioni di traccia e debug. Per informazioni, vedere Modificare i log e i log di testo.