La plupart des entités Google Ads exposent une méthode getId() qui renvoie leur identifiant. Bien que cela ne soit pas strictement nécessaire dans la plupart des cas, les ID peuvent être utiles lorsque vous
- Travaillez avec des rapports
- Les ID constituent un bon moyen d'associer une ligne de rapport à l'entité Google Ads réelle.
- Gérez un mappage avec un entrepôt de données externe
- Vous disposez peut-être déjà d'informations basées sur des ID stockées dans votre propre base de données.
- Amélioration des performances
L'extraction de données à partir d'identifiants est souvent la méthode la plus rapide. Le code permettant d'extraire une seule entité est également un peu plus simple :
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
Unicité
Les ID de campagne et de groupe d'annonces sont uniques : deux campagnes ou groupes d'annonces ne partageront jamais le même ID. Toutefois, les annonces et les mots clés ont des ID composites : l'identifiant unique d'un mot clé est une combinaison de son ID de groupe d'annonces et de son ID de mot clé.
De même, l'identifiant unique d'une annonce est une combinaison de son ID de groupe d'annonces et de son ID d'annonce. Cela a des implications sur la façon dont selector.withIds() est appelé.
Pour les campagnes et les groupes d'annonces, selector.withIds() attend un tableau de nombres :
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
Pour les annonces et les mots clés, selector.withIds() a besoin d'un tableau de tableaux à deux éléments, le premier étant l'ID du groupe d'annonces. L'extrait suivant récupère trois mots clés d'un groupe d'annonces :
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
La même construction s'applique lors de l'extraction d'annonces.
ID temporaires
Lorsque vous travaillez avec une requête de mutation comportant plusieurs opérations, vous devrez parfois utiliser des ID temporaires pour lier les ressources entre elles, car les noms de ressources complets ne seront disponibles qu'une fois la réponse de l'API reçue. Les ID temporaires doivent être des nombres négatifs commençant par -1 et ne peuvent pas être répétés dans la même requête de mutation. Pour utiliser efficacement les ID temporaires, vous devrez écrire du code pour vous assurer de ne pas créer d'ID temporaires en double :
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
Chaque appel successif à getNextTempId renvoie un nombre inférieur d'une unité au précédent. Étant donné que tous les ID temporaires doivent être négatifs, commencez par -1.
Les ID temporaires ne sont pas mémorisés entre les tâches ni les requêtes de mutation. Pour référencer une ressource créée dans une requête de mutation précédente, utilisez son nom de ressource réel.