Estratégia de modificação

Este guia será apresentado para criar um análogo exato dos guias das campanhas Performance Max atuais, que pressupõem que você criará a campanha inteira em uma única solicitação atômica, em vez de criar cada entidade por vez em solicitações separadas. Isso significa que você precisará usar IDs temporários para vincular recursos entre si, já que você não saberá os nomes completos dos recursos até receber a resposta da API.

Para fazer isso, é necessário escrever um código para garantir que não sejam criados IDs temporários duplicados:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

Cada chamada sucessiva para getNextTempId retornará um número um a menos que a anterior. Como todos os IDs temporários precisam ser negativos, começam em -1.

Com isso em vigor, agora você pode criar uma matriz para armazenar todas as operações:

const operations = [];

Você vai precisar do ID do cliente para o qual está criando a campanha, já que ele é obrigatório em todos os nomes de recursos.

const customerId = AdsApp.currentAccount().getCustomerId();

Sempre que quiser criar uma nova operação, você usará o próximo ID temporário no nome do recurso para poder referenciar esse objeto mais tarde e inserir o objeto criado na matriz:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

Acesse mais informações e veja um exemplo de operação na documentação de mutação para REST da API Google Ads.

Depois de construir todas as nossas operações, execute-as em um único lote:

AdsApp.mutateAll(operations);