Códigos

A maioria das entidades do Google Ads expõe um método getId() que retorna o identificador delas. Embora não seja estritamente necessário na maioria dos casos, os IDs podem ser úteis quando

Como trabalhar com relatórios
Os IDs são uma boa maneira de vincular uma linha de relatório à entidade real do Google Ads.
Manter um mapeamento com um repositório de dados externo
Talvez você já tenha informações baseadas em ID armazenadas no seu próprio banco de dados.
Procurar uma otimização no desempenho

A busca de IDs normalmente é mais rápida do que as alternativas. O código para buscar uma única entidade também é um pouco mais fácil:

let campaigns = AdsApp.campaigns()
   .withIds([678678])
   .get();
// versus
let campaigns = AdsApp.campaigns()
   .withCondition("Name='My Campaign'")
   .get();

Exclusividade

Os IDs de campanha e de grupo de anúncios são exclusivos. Duas campanhas ou grupos de anúncios nunca compartilham o mesmo ID. No entanto, os anúncios e as palavras-chave têm IDs compostos: um identificador exclusivo de uma palavra-chave é uma combinação do ID do grupo de anúncios e do ID da palavra-chave. Da mesma forma, um identificador exclusivo de um anúncio é uma combinação do ID do grupo de anúncios e do ID do anúncio. Isso tem implicações na forma como selector.withIds() é chamado.

Para campanhas e grupos de anúncios, o selector.withIds() espera uma matriz de números:

let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);

No entanto, para anúncios e palavras-chave, selector.withIds() precisa de uma matriz de matrizes de dois elementos, sendo o primeiro o ID do grupo de anúncios. O snippet a seguir recupera três palavras-chave de um grupo de anúncios:

let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
    [adGroupId, 234234],
    [adGroupId, 345345],
    [adGroupId, 456456]
]);

A mesma construção se aplica ao buscar anúncios.

IDs temporários

Ao trabalhar com uma solicitação de mutação com várias operações, às vezes é necessário usar IDs temporários para vincular recursos entre si, já que os nomes completos dos recursos não estarão disponíveis até que você receba a resposta da API. Os IDs temporários precisam ser números negativos começando com -1 e não podem se repetir na mesma solicitação de mutação. Para usar IDs temporários de maneira eficaz, é necessário 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.

Os IDs temporários não são lembrados em jobs ou solicitações de mutação. Para fazer referência a um recurso criado em uma solicitação de mutação anterior, use o nome de recurso real.