Estratégia de modificação

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

Para isso, você precisa escrever um código que evite a criação de IDs temporários duplicados:

let nextId = -1;

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

Cada chamada sucessiva para getNextTempId vai retornar um número menor que o anterior. Como todos os IDs temporários precisam ser negativos, comece com -1.

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

const operations = [];

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

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

Cada vez que você quiser criar uma nova operação, use o próximo ID temporário no nome do recurso para poder fazer referência a 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);

Leia mais e veja um exemplo de operação na documentação de mutação da API REST do Google Ads.

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

AdsApp.mutateAll(operations);