Accesso singolo all'account

Se vuoi accedere a un singolo account utente, tutto inizia con l'oggetto AdsApp .

Ricerca per categorie accedere alle entità nel mio account?

Consente AdsApp di accedere a tutte le entità dell'account. L'oggetto contiene un metodo di selezione per ogni tipo di entità (ad esempio, campagne, gruppi di annunci e parole chiave). Il metodo selector restituisce tutte le entità per quel 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 voglio un'entità o un sottoinsieme di entità specifico?

Il selettore fornisce diversi modi per filtrare l'elenco di entità. È possibile usare il metodo del withIds() selettore per ottenere entità specifiche in base agli ID oppure per withCondition() 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 delle entità.

Usa la notazione a punti per collegare più filtri. Se specifichi più filtri, questi vengono trattati come un'operazione AND: il selettore restituisce solo le entità che soddisfano tutte le condizioni.

Per ottenere tutti i gruppi di annunci in una campagna, utilizzare 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 withCondition() di entità, vedere il metodo del selettore. Ad esempio, per un elenco delle condizioni del gruppo di annunci, vedere il metodo withCondition del selettore del gruppo di annunci.

Per ottenere un gruppo di annunci in base all'ID, utilizzare il withIds() metodo per specificare il gruppo di annunci da ottenere.

    var ids = ["123456789"];
    var iterator = AdsApp.adGroups()
        .withIds(ids)
        .get();

In alternativa, è possibile ottenere il gruppo di annunci in base al 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 vuoi ottenere. Per ottenere effettivamente le entità, usi un iteratore. Per ottenere l'iteratore, chiamare il metodo del get() selettore.

    var ids = ["123456789"];
    var iterator = AdsApp.adGroups()
        .withIds(ids)
        .get();

Usa un semplice ciclo while per scorrere l'elenco delle 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 dati sul rendimento per un'entità?

La maggior parte delle entità consente di richiedere dati sul rendimento, se disponibili. Ma prima devi indicare a Scripts l'intervallo di date per i dati sulle prestazioni quando specifichi il selettore. Per specificare un intervallo di date, usare un valore letterale predefinito, ad esempio IERI o LAST_MONTH, oppure usare una data di inizio e una data di fine. Per altre informazioni, vedere forDateRange(stringa 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();
    }

Se si specifica una colonna di dati sul rendimento nel metodo di un selettore, è necessario specificare un intervallo di withCondition() date. Ad esempio, se vuoi solo gruppi di annunci con un CTR maggiore dello 0,22%, devi specificare un intervallo di date.

    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à, usare un oggetto generatore. Per ottenere un oggetto generatore, chiamare il metodo new* sull'oggetto padre a cui si stanno aggiungendo elementi figlio. Ad esempio, per aggiungere gruppi di annunci a una campagna, chiamare il metodo della newAdGroupBuilder() campagna.

L'oggetto generatore contiene metodi per impostare tutte le proprietà dell'oggetto che è possibile specificare. Include anche un build() metodo che usi 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 in base al 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 puoi utilizzare per verificare se gli script hanno creato correttamente l'entità. Di seguito viene illustrato il modello di chiamata tipico. Chiama il getResult metodo solo se vuoi 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 ulteriori dettagli sui builder e sulle considerazioni sulle prestazioni quando si chiamano i metodi di operazione, vedere Cosa sono i builder?

Ricerca per categorie aggiornare un'entità?

Dopo aver usato un oggetto generatore per aggiungere un'entità, usa i metodi dell'entità per aggiornarne le proprietà. Nell'esempio seguente viene aggiornato 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 se l'aggiornamento ha funzionato?

Se si tenta di aggiornare una proprietà con un valore non valido, Scripts scrive un errore nel log delle modifiche ma non genera un'eccezione, quindi l'esecuzione dello script continua. Non ottenere la proprietà dopo averla aggiornata 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

Script fornisce un file di log in cui scrivere informazioni di tracciamento ed eseguire il debug. Per informazioni, consulta Registri delle modifiche e registri di testo.

Passaggi successivi