Partilhar via


Exemplos de scripts para gerir palavras-chave

As secções seguintes mostram exemplos de scripts que efetuam várias ações em relação a palavras-chave.

Adicionar palavras-chave

Para adicionar uma palavra-chave, primeiro obtenha o grupo de anúncios ao qual pretende adicionar a palavra-chave. Utilize o objeto AdGroupSelector para selecionar o grupo de anúncios. A utilização do withIds método proporciona um melhor desempenho do que transmitir o nome do grupo de anúncios no withCondition método .

Em seguida, chame o novo métodoKeywordBuilder do grupo de anúncios para obter um construtor que utilize para especificar as propriedades da palavra-chave. A única propriedade que tem de especificar é o texto da palavra-chave (consulte o withText método ). O texto deve incluir o tipo de correspondência (aspas para tipo de correspondência de expressão, parênteses retos para o tipo de correspondência exato, nada para o tipo de correspondência largo).

Se não especificar um valor CPC, este será predefinido para o valor CPC do grupo de anúncios. Por predefinição, o estado da palavra-chave está ativado.

Chamar o método do build construtor cria a palavra-chave de forma assíncrona; Os scripts adicionam a palavra-chave em algum momento antes de o script terminar ou se chamar um dos métodos da operação de compilação. Para obter informações sobre este processo, consulte O que é um construtor?

function main() {
    // The ID of the ad group to add the keywords to.
    // IDs in Scripts are string integers.
    var adGroupId = 'AD GROUP ID GOES HERE';  
    var adGroup = getAdGroup(adGroupId);

    // Keywords to add. Update as appropriate.
    var keywords = [];
    keywords.push({
        text : "keyword 1",
        cpc : 1.25,
        finalUrl : 'http://www.example.com'
    });
    keywords.push({
        text : "keyword 2",
        cpc : 1.5,
        finalUrl : 'http://www.example.com'
    });

    var operations = [];

    if (adGroup != null)
    {
        for (var keyword of keywords) {
            var operation = addKeyword(
                adGroup, 
                keyword.text, 
                keyword.cpc, 
                keyword.finalUrl);
            operations.push(operation);
        }
    }
    else {
        Logger.log("Unable to retrieve ad group, " + adGroupId);
    }

    checkBuildStatus(operations, keywords);
}

// Get the ad group using its ID.
function getAdGroup(id) {
    var iterator = AdsApp.adGroups()
        .withIds([id])
        .get();

    // Return the ad group if it exists; otherwise, null.
    if (iterator.hasNext()) {
        return iterator.next();
    }
    else {
        return null;
    }
}

// Add the keyword to the specified ad group.
function addKeyword(adGroup, text, cpc, finalUrl) {

    return adGroup.newKeywordBuilder()
        .withText(text)
        .withCpc(cpc)
        .withFinalUrl(finalUrl)
        .build();
}

// Check the keyword's build status.
function checkBuildStatus(operations, keywords) {

    for (var i = 0; i < operations.length; i++) {
        if (!operations[i].isSuccessful()) {
            for (var error of operations[i].getErrors()) {
                Logger.log(`Failed to add, ${keywords[i].text}. Error: ${error}`);
            }
        }
    }
}

Colocar uma palavra-chave em pausa

Quando adiciona uma palavra-chave, o respetivo estado é Ativado por predefinição. Para colocar a palavra-chave em pausa, chame o método da pause palavra-chave. Para determinar o estado da palavra-chave, chame as palavras-chave isEnabled e isPaused os métodos.

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';
    var keywordText = 'KEYWORD TEXT GOES HERE';

    var iterator = AdsApp.keywords()
        .withCondition(`Text = '${keywordText}'`)
        .withCondition(`AdGroupName = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    while (iterator.hasNext()) {
        var keyword = iterator.next();
        keyword.pause();
    }
}

Obter todas as palavras-chave num grupo de anúncios

Para obter todas as palavras-chave num grupo de anúncios, chame primeiro o método do keywords objeto AdsApp para obter o seletor. Utilize o withCondition método para especificar o grupo de anúncios e a campanha. Em seguida, chame o método do get seletor para obter um iterador que utiliza para iterar através da lista de palavras-chave. Para determinar o número de palavras-chave no iterador, chame o método do totalNumEntities iterador.

Se tiver acesso aos IDs de palavra-chave, utilize-os em alternativa. A utilização de IDs para obter entidades proporciona um melhor desempenho. Em vez de utilizar o withCondition método de filtro, utilize o withIds método . Por exemplo, withIds(['12345']). Existem limites no número de entidades que pode obter através de IDs.

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';

    var iterator = AdsApp.keywords()
        .withCondition(`AdGroupName = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();
        
    while (iterator.hasNext()) {
        var keyword = iterator.next();
    }
}

Obter todas as palavras-chave numa conta

Existe um limite para o número de palavras-chave que os Scripts podem devolver para uma conta. O limite é indefinido e pode ser alterado. O exemplo seguinte mostra como pode lidar com casos em que uma conta tem demasiadas palavras-chave. O exemplo tenta obter primeiro todas as palavras-chave ao nível da conta. Se isso falhar devido ao erro "Existem demasiadas entidades", tenta fazer várias chamadas para obter palavras-chave por campanha, uma vez que normalmente existem menos entidades ao nível da campanha.

Para obter informações sobre como utilizar a palavra-chave de lucro , veja Utilizar a palavra-chave de lucro ao obter grandes conjuntos de entidades.

function* getEntities() {
    const applyConditions = _ => _
        .withCondition('CampaignStatus = ENABLED')
        .withCondition('AdGroupStatus = ENABLED')
        .withCondition('Status = ENABLED')
        .withCondition("CombinedApprovalStatus = DISAPPROVED");

    try {
        // Get the account's keywords. 
        const keywords = applyConditions(AdsApp.keywords()).get();

        while (keywords.hasNext()) {
            yield keywords.next();
        }
    } catch (e) {
        if (!e.message.startsWith('There are too many entities')) {
            throw e;
        }

        // If there are too many keywords at the account level,
        // get keywords by campaigns under the account.
        const campaigns = AdsApp.campaigns().get();

        while (campaigns.hasNext()) {
            const campaign = campaigns.next();

            const keywords = applyConditions(campaign.keywords()).get();

            while (keywords.hasNext()) {
                yield keywords.next();
            }
        }
    }
}

Obter dados de desempenho de uma palavra-chave

Para obter as métricas de desempenho de uma palavra-chave, chame o método getStats da palavra-chave. Quando obtém a palavra-chave, tem de especificar o intervalo de datas dos dados de métricas que pretende. Pode especificar o intervalo de datas com um literal predefinido, como LAST_MONTH ou HOJE, ou uma data de início e de fim. Para especificar o intervalo de datas, utilize um dos forDateRange métodos quando selecionar a palavra-chave (consulte KeywordSelector).

Para obter uma lista das métricas a que pode aceder, veja o objeto Estatísticas .

function main() {
    var campaignName = 'CAMPAIGN NAME GOES HERE';
    var adGroupName = 'AD GROUP NAME GOES HERE';
    var keywordText = 'KEYWORD TEXT GOES HERE';

    // Get the keyword. You need to specify the date range of the
    // performance data you want to get.
    var iterator = AdsApp.keywords()
        .forDateRange('LAST_WEEK')
        .withCondition(`Text = '${keywordText}'`)
        .withCondition(`AdGroupName = '${adGroupName}'`)
        .withCondition(`CampaignName = '${campaignName}'`)
        .get();

    // If the keyword is found, log some metrics.
    if (iterator.hasNext()) {
        var keyword = iterator.next();
        var metrics = keyword.getStats(); // Gets the performance metrics.
    }
}

Atualize o valor da oferta de uma palavra-chave.

Para obter um exemplo que mostra como atualizar o valor da oferta de uma palavra-chave, consulte Chamar serviços Google.