Este guia será apresentado para construir uma versão análoga exata à atual de campanhas Performance Max, que pressupõem que você criará campanha em uma única solicitação atômica, em vez de criar cada entidade, uma por vez, tempo em solicitações separadas. Isso significa que você precisará usar ferramentas temporárias IDs para vincular recursos entre si, já que você não saberá os nomes completos dos recursos até que a API resposta.
Para fazer isso, será necessário escrever um código para garantir que você não crie nenhum 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 o
anterior. Como todos os IDs temporários precisam ser negativos, comece em -1.
Com isso em vigor, você pode criar uma matriz para conter todas as operações:
const operations = [];
Muitas vezes, você precisará do ID do cliente para quem você está fazendo o campanha, já que ele é obrigatório em todos os nomes de recursos.
const customerId = AdsApp.currentAccount().getCustomerId();
Sempre que você quiser criar uma nova operação, use o próximo ID temporário em o nome do recurso, para que você possa referenciar esse objeto mais tarde, e insira a 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);
Saiba mais e veja um exemplo de operação na função modificação REST da API do Google Ads Documentação.
Depois de construir todas as operações, execute-as em um único lote:
AdsApp.mutateAll(operations);