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.