Skip to Content

Audiences Customer Match Google Ads & DV360 avec Data Manager API

Qu’est-ce que Data Manager API ?

Data Manager API  est une API unifiée créée par Google pour aider les annonceurs à connecter et exploiter leurs données first-party (CRM, point de vente, base de données interne, etc.) à travers l’ensemble des produits publicitaires Google.

Vous connaissez peut-être déjà cette API pour l’envoi de conversions offline. Elle permet également d’alimenter vos listes de clients (Customer Lists, la fonctionnalité Customer Match ) dans Google Ads et Display & Video 360, en server-to-server, directement depuis votre conteneur GTM Server.

Concrètement, le tag Data Manager API Audiences by Addingwell vous permet d’ajouter ou de retirer des membres d’une liste de clients à partir d’identifiants first-party (email, téléphone, adresse postale, user ID, mobile ID).

Ce que vous allez faire dans ce tutoriel

Voici les 6 grandes étapes que vous allez suivre pour alimenter vos audiences via Data Manager API depuis votre conteneur GTM Server :

  1. Authentification : ajouter le service account Addingwell à Google Ads et/ou Display & Video 360
  2. Import du tag : importer le template Data Manager API Audiences d’Addingwell dans GTM Server
  3. Configuration du tag : paramétrer les listes de clients de destination (Google Ads et/ou DV360)
  4. Client Measurement Protocol : réceptionner les requêtes offline côté serveur
  5. Déclencheur : déclencher le tag sur le bon client/événement
  6. Vérifier les données : vérifier la remontée des données dans GTM Server puis dans Google Ads/DV360

Pourquoi utiliser Data Manager API pour vos audiences ?

L’alimentation de vos listes Customer Match via Data Manager API présente plusieurs avantages majeurs :

  • Des audiences toujours à jour : vos listes sont synchronisées automatiquement depuis votre CRM ou votre CDP, en temps réel ou en batch, sans export/import manuel de fichiers CSV dans l’interface Google Ads.
  • Un ciblage basé sur vos données first-party : Customer Match permet de recibler vos clients existants, de créer des audiences similaires, d’exclure vos clients de certaines campagnes d’acquisition ou de personnaliser vos enchères pour vos segments les plus stratégiques.
  • Une API unique pour plusieurs destinations : une même requête peut alimenter simultanément une liste Google Ads et une liste Display & Video 360.
  • La gestion des sorties de liste : le tag gère aussi la suppression de membres, indispensable pour respecter les désabonnements et les demandes d’effacement de vos utilisateurs (RGPD).
  • Le respect de la vie privée : les données personnelles (PII) sont hachées (SHA-256) avant envoi et l’architecture server-side vous donne un contrôle total sur ce qui est transmis à Google.

Pour alimenter vos listes de clients, vous utilisez peut-être actuellement la fonctionnalité Customer Match de l’API Google Ads (offline user data jobs ). Data Manager API est le successeur de cette approche, nous vous recommandons fortement de migrer vers cette nouvelle solution.

Les cas d’usage

L’implémentation du tag Data Manager API Audiences depuis votre conteneur GTM Server répond à 3 cas d’usage principaux.

1. Synchroniser vos segments CRM avec vos listes de clients

C’est le cas d’usage historique de Customer Match : votre CRM ou votre Customer Data Platform (CDP) segmente vos contacts (clients VIP, paniers abandonnés, clients inactifs depuis 12 mois, etc.) et envoie ces segments au conteneur GTM Server, en temps réel ou en batch (par exemple une fois par jour).

Le tag Data Manager API Audiences se charge ensuite d’ajouter les membres aux listes de clients correspondantes dans Google Ads et/ou DV360. Grâce au mode batch du tag, une seule requête peut contenir jusqu’à 10 000 membres.

2. Ajouter un utilisateur à une liste au moment d’un événement

Vous pouvez également alimenter vos listes en temps réel, au moment où un événement se produit : une inscription à la newsletter, une création de compte, un premier achat, etc.

Votre système source (site web, back-end, CRM) envoie l’événement au conteneur GTM Server, et le tag ajoute immédiatement l’utilisateur à la liste de clients configurée.

3. Retirer des utilisateurs d’une liste

Le tag propose une action Remove from Customer List qui permet de retirer un membre d’une liste : désabonnement, opt-out publicitaire, demande de suppression RGPD, ou simplement sortie d’un segment (par exemple un client qui redevient actif et sort de la liste « inactifs »).

Préparer le projet Data Manager API Audiences

La mise en place technique côté serveur est relativement simple, il n’y a qu’un tag à configurer dans votre conteneur GTM Server. En revanche, la vraie complexité du projet réside dans la remontée de données sur votre endpoint serveur via le standard du measurement protocol pour la construction des requêtes.

Voici une liste (non exhaustive) de questions à se poser en amont pour préparer votre projet et garantir sa réussite :

  • Est-ce que le système qui héberge la donnée (CRM, CDP, base de données, etc.) est capable d’envoyer une requête HTTP au conteneur GTM Server ?
  • Est-ce que je souhaite alimenter mes listes en temps réel (membre par membre) ou en batch (jusqu’à 10 000 membres par requête) ? Mon système source est-il capable de faire l’un ou l’autre ou les deux ?
  • Quels identifiants sont disponibles pour chaque membre (email, téléphone, adresse postale complète, user ID, mobile ID) ? Plus les identifiants sont nombreux et de bonne qualité, meilleur sera le taux de correspondance (match rate) de vos listes.
  • Comment je gère le consentement de mes utilisateurs et l’acceptation des conditions d’utilisation Customer Match  ?
  • Comment je gère les sorties de liste (désabonnements, demandes RGPD) ?

Pré-requis

Avant d’implémenter le tag Data Manager API Audiences, assurez-vous d’avoir :

  • Un conteneur GTM Server configuré et opérationnel (sur Addingwell ou sur votre propre infrastructure).
  • Un compte Google Ads éligible à Customer Match et/ou un annonceur Display & Video 360.
  • Une liste de clients (Customer List) créée dans Google Ads (Tools → Shared library → Audience manager → Your data segments) et/ou dans DV360 (Audiences).
  • Avoir accepté les conditions d’utilisation Customer Match dans votre compte publicitaire.

Authentification avec Data Manager API

Pour permettre à votre conteneur GTM Server de communiquer avec Data Manager API, vous devez configurer l’authentification avec votre service account Addingwell.

Récupérer le service account dans Addingwell

Rendez-vous dans votre container Addingwell, cliquez sur le menu Tagging Server puis copiez le service account.

Le service account est un compte technique (une adresse email de la forme …@….iam.gserviceaccount.com) que votre conteneur GTM Server utilise pour s’authentifier auprès de Google. C’est cette identité — et non votre compte personnel — qui alimentera vos listes de clients : il faut donc l’autoriser explicitement dans votre compte.

Copie du service account dans Addingwell

Ajouter le service account à Google Ads

Cette étape est à réaliser uniquement si vous souhaitez alimenter des listes de clients Google Ads.

Une fois l’adresse email du service account récupérée, rendez-vous dans Admin → Access and security de votre compte Google Ads, cliquez sur le bouton +, collez l’adresse du service account et attribuez-lui le rôle Standard. Ce rôle est nécessaire pour autoriser la modification des listes de clients ; un accès en lecture seule ne suffirait pas. L’accès est actif immédiatement, aucune validation par email n’est requise côté service account.

Ajout du service account dans Google Ads

Ajouter le service account à Display & Video 360

Cette étape est à réaliser uniquement si vous souhaitez alimenter des listes de clients Display & Video 360.

Une fois l’adresse email du service account récupérée, rendez-vous dans les paramètres d’accès utilisateurs de votre annonceur DV360 (Settings → Users), ajoutez l’adresse du service account et attribuez-lui un rôle Standard sur l’annonceur qui possède la liste de clients.

Mise en place de Data Manager API Audiences

Importer le tag dans GTM Server

Cliquez ici  pour télécharger le tag Data Manager API Audiences et cliquez sur l’icône de téléchargement pour récupérer le fichier.

Le tag Data Manager API Audiences n’est pour l’instant pas disponible dans la galerie de templates de GTM : il s’agit d’un template maintenu par Addingwell que vous devez importer manuellement dans votre conteneur. Le fichier template.tpl que vous téléchargez contient l’intégralité du tag — à la fois l’interface de configuration que vous verrez dans GTM et la logique d’envoi des données vers Data Manager API.

Téléchargement du tag Data Manager API Audiences Addingwell

Rendez-vous ensuite dans l’onglet Templates du conteneur serveur, puis, dans la section Tag templates, cliquez sur New.

Créer un nouveau tag pour Data Manager API Audiences Addingwell

Cliquez ensuite sur les trois petits points en haut à droite, puis sélectionnez Import.

Importation du tag Data Manager API Audiences Addingwell

Sélectionnez ensuite le fichier template.tpl récemment téléchargé, puis cliquez sur Save.

Sauvegarder le tag Data Manager API Audiences Addingwell

Configurer le tag Data Manager API Audiences

Créez un nouveau tag dans Google Tag Manager Server-Side et sélectionnez le template Data Manager API Audiences que vous venez d’importer.

Configuration du tag Data Manager API Audiences Addingwell

Le principe : une API, plusieurs destinations

Comme pour les conversions, l’idée derrière Data Manager API est de fournir un point d’entrée unique pour envoyer un membre d’audience à plusieurs produits Google en même temps.

Une destination, c’est la description d’un endroit où le membre doit être ajouté (ou retiré). Concrètement, ça répond à la question : « sur quel compte et dans quelle liste de clients ce membre doit-il être ajouté ? »

Une même requête peut contenir plusieurs destinations. C’est ce qui permet, par exemple, d’ajouter un membre à la fois dans une liste Google Ads et dans une liste Display & Video 360 en un seul appel API.

Customer List Action

Choisissez l’action à effectuer sur la liste de clients :

  • Add to Customer List (ingest) : ajoute les membres à la liste
  • Remove from Customer List (remove) : retire les membres de la liste

En mode Remove from Customer List, les paramètres Terms Of Service et Request-Level Consent Settings disparaissent de l’interface : ils ne sont requis par l’API que pour l’ajout de membres.

Google Ads Customer List Destinations

Remplissez cette section uniquement si vous souhaitez alimenter des listes de clients Google Ads. Vous pouvez ajouter plusieurs lignes pour alimenter plusieurs listes en même temps.

Operating Customer ID : l’identifiant du compte Google Ads qui possède la liste de clients. (exemple : 342-654-7582)

Customer ID : l’identifiant du compte Google Ads utilisé pour l’authentification — le même compte que l’Operating Customer ID, ou votre compte MCC si le service account a été ajouté au niveau du MCC. (exemple : 643-683-1588)

Customer List ID : l’identifiant de la liste de clients. Rendez-vous dans Tools → Shared library → Audience manager → Your data segments, ouvrez votre liste de clients (ou créez-la) et repérez le List ID affiché sur la page, ou le paramètre &userListId= dans l’URL de votre navigateur. (exemple : 6328279871)

Localisation du Customer List ID dans Google Ads

Display & Video 360 Customer List Destinations

Remplissez cette section uniquement si vous souhaitez alimenter des listes de clients Display & Video 360.

Operating Customer ID : l’identifiant du compte DV360 qui possède la liste de clients.

Customer ID : l’identifiant du compte DV360 utilisé pour l’authentification (le même compte que l’Operating Customer ID ou votre compte parent).

Customer List ID : l’identifiant de la liste de clients. Rendez-vous dans Audiences, ouvrez votre liste et repérez le List ID affiché sur la page.

L’envoi d’adresses IP n’est pas supporté pour les listes Customer Match Display & Video 360. Si une destination DV360 est configurée, le tag n’enverra pas les adresses IP, même si l’option IP Address Sharing est activée.

Terms Of Service

Les conditions d’utilisation Customer Match  doivent être acceptées pour pouvoir ajouter des membres identifiés par des données utilisateur (email, téléphone, adresse) ou des mobile IDs.

  • Event data (valeur par défaut) : le tag lit automatiquement la valeur dans l’événement entrant (eventData.terms_of_service)
  • TERMS_OF_SERVICE_STATUS_UNSPECIFIED : le statut n’est pas renseigné
  • ACCEPTED : les conditions d’utilisation sont acceptées
  • REJECTED : les conditions d’utilisation sont refusées

Comme pour le consentement, si votre système source envoie d’autres valeurs (true / false, granted / denied, accepted / rejected), le tag les comprendra automatiquement et fera le mapping vers ACCEPTED / REJECTED.

IP Address Sharing

Définissez ici si le tag doit envoyer l’adresse IP en complément des données utilisateur du membre (true / false, par défaut false). L’adresse IP peut aider Google à améliorer le taux de correspondance de vos listes.

Notez que :

  • Google Ads ne supporte pas la correspondance par adresse IP pour les utilisateurs de l’Espace économique européen (EEE), du Royaume-Uni (UK) et de la Suisse (CH).
  • L’envoi d’adresses IP n’est pas supporté pour les listes Customer Match Display & Video 360.

Validate Only (Test Mode)

Renseignez cette valeur à true si vous souhaitez uniquement valider vos requêtes sans que les membres ne soient réellement ajoutés ou retirés de vos listes. Cela peut être utile pour tester votre configuration avant de commencer à envoyer des données réelles. Vous verrez ainsi les erreurs de l’API s’il y en a, sans que cela n’affecte vos listes de clients si toutefois votre requête est valide.

N’oubliez pas de configurer Validate Only à false une fois que vous êtes prêt à alimenter réellement vos listes, sinon vos membres ne seront pas pris en compte.

Encoding

Ici c’est une notion un peu plus technique, c’est l’encodage utilisé par sha256 lors du hachage des données utilisateur.

Si vous ne savez pas quoi mettre, laissez la valeur par défaut HEX.

Cette section ne concerne que l’action Add to Customer List. Aucun signal de consentement n’est envoyé lors d’une suppression de membre.

Data Manager API vous permet de transmettre l’état du consentement de l’utilisateur pour chaque membre ajouté à une liste. C’est particulièrement important dans l’espace économique européen : sans consentement, Google ne pourra pas utiliser les données du membre pour la personnalisation publicitaire.

Le tag expose deux paramètres de consentement dans le groupe Request-Level Consent Settings :

  • Ad User Data → mappé sur consent.adUserData dans le payload Data Manager API
  • Ad Personalization → mappé sur consent.adPersonalization dans le payload Data Manager API

Chaque paramètre accepte l’une des valeurs suivantes :

  • Event Data (valeur par défaut) : le tag lit automatiquement l’état du consentement dans l’événement entrant (eventData.consent.ad_user_data et eventData.consent.ad_personalization)
  • CONSENT_STATUS_UNSPECIFIED : le consentement n’est pas renseigné
  • CONSENT_GRANTED : l’utilisateur a donné son consentement
  • CONSENT_DENIED : l’utilisateur a refusé

Ces valeurs peuvent être renseignées en dur dans le tag (par exemple CONSENT_GRANTED si tous vos membres proviennent d’utilisateurs consentants), ou dynamiquement grâce à l’option Event Data qui lit le consentement envoyé dans le payload. C’est cette seconde approche, plus fiable, que nous détaillons ci-dessous.

Ajoutez un objet consent dans les params de votre événement, avec l’état du consentement de l’utilisateur :

"consent": { "ad_user_data": "CONSENT_GRANTED", "ad_personalization": "CONSENT_DENIED" }

Vous pouvez envoyer directement les valeurs attendues par le tag (CONSENT_GRANTED, CONSENT_DENIED). Si votre système source envoie d’autres valeurs (par exemple granted / denied ou true / false), le tag les comprendra automatiquement et fera le mapping vers les valeurs attendues.

Valeur sourceValeur cible
grantedCONSENT_GRANTED
deniedCONSENT_DENIED
trueCONSENT_GRANTED
falseCONSENT_DENIED
CONSENT_GRANTEDCONSENT_GRANTED
CONSENT_DENIEDCONSENT_DENIED

Les valeurs granted / denied / true / false sont acceptées indifféremment en chaîne de caractères ou en booléen, sans tenir compte de la casse. Toute autre valeur (ou une valeur absente) est convertie en CONSENT_STATUS_UNSPECIFIED.

Si vous ne renseignez pas ces champs, le consentement reste à CONSENT_STATUS_UNSPECIFIED. Dans l’espace économique européen, nous vous recommandons de toujours transmettre une valeur explicite (CONSENT_GRANTED ou CONSENT_DENIED) pour rester conforme et permettre à Google d’exploiter au mieux vos audiences.

Choisir entre le mode unitaire et le mode batch

Le tag propose deux modes de fonctionnement pour construire les membres d’audience :

  • Mode unitaire (par défaut) : un seul membre est construit par événement reçu, à partir des données utilisateur de l’événement (et/ou des champs de la section User Data Override du tag). C’est le mode adapté au cas d’usage temps réel.
  • Mode batch : le tag construit un membre d’audience par entrée d’un tableau members, avec un maximum de 10 000 membres par requête. C’est le mode adapté à la synchronisation de segments CRM.

Le mode batch en détail

Pour activer le mode batch, cochez Enable Batch Mode dans le groupe Batch Mode Settings du tag.

Par défaut, le tag lit le tableau de membres dans eventData.members. Vous pouvez aussi fournir votre propre tableau via le champ Audience Members Array Override (par exemple avec une variable GTM).

Chaque entrée du tableau accepte les clés suivantes :

  • sha256_email_address / email_address / email : une ou plusieurs adresses email (valeur simple ou tableau)
  • sha256_phone_number / phone_number / phone : un ou plusieurs numéros de téléphone (valeur simple ou tableau)
  • address : une adresse postale (objet ou tableau d’objets avec first_name, last_name, country, postal_code)
  • user_id : l’identifiant utilisateur défini par l’annonceur
  • mobile_id : un ou plusieurs identifiants publicitaires mobiles (advertising ID / IDFA, 10 maximum par membre)
  • ip_override : une ou plusieurs adresses IP

Les valeurs déjà hachées (SHA-256) ne sont pas hachées à nouveau. Les entrées sans aucun identifiant exploitable sont ignorées.

Les overrides du mode unitaire

En mode unitaire, le tag lit par défaut les données utilisateur dans l’événement entrant (eventData.user_data, eventData.user_id, etc. — voir le tableau de correspondance plus bas). Deux groupes de champs permettent de surcharger ces valeurs directement dans la configuration du tag :

  • User Data Override : User ID, Email Address, Phone Number et Address (First Name, Last Name, Country, Postal Code)
  • Mobile IDs Override : la liste des identifiants publicitaires mobiles (10 maximum par membre)

Pour les champs du groupe User Data Override, une valeur définie dans le tag est prioritaire sur celle présente dans les eventData. Pour les Mobile IDs, c’est l’inverse : l’identifiant présent dans l’événement (eventData["x-ga-resettable_device_id"]) est prioritaire sur la valeur définie dans le tag.

Configurer le client Measurement Protocol

Cette partie est un extrait de notre documentation complète sur les événements offline.

Pour réceptionner les requêtes offline côté GTM Server, vous devez configurer un client Measurement Protocol. Pour cela, créez un nouveau client dans votre conteneur GTM Server et sélectionnez le client Measurement Protocol (GA4).

Même si l’API Measurement Protocol est aujourd’hui dépréciée, notez ici que nous utilisons le Measurement Protocol comme standard pour construire la requête envoyée à GTM Server. Le client Measurement Protocol (GA4) est donc nécessaire pour que GTM Server puisse correctement comprendre la requête.

Bouton pour créer un nouveau client dans GTM server

Sélectionnez ensuite le client Measurement Protocol (GA4).

Client Measurement Protocol (GA4) dans GTM Server

Une fois le client ajouté, configurez-le avec le chemin d’activation /mp/collect. Le choix du chemin d’activation est arbitraire mais il doit être cohérent avec l’URL que vous utiliserez pour envoyer vos membres d’audience à GTM Server.

Configuration du client Measurement Protocol (GA4) dans GTM Server

Déclencher le tag Data Manager API Audiences

Une fois le client Measurement Protocol (GA4) configuré, vous pouvez créer un déclencheur pour votre tag Data Manager API Audiences. Pour cela, créez un nouveau déclencheur de type Custom et renseignez le nom de l’événement que vous souhaitez utiliser pour déclencher le tag (dans cet exemple, nous avons choisi members_upload) et le nom du client utilisé (dans cet exemple, nous avons choisi MP).

Configuration du déclencheur sur le nom du client MP et l'événement members_upload

Ajoutez ensuite ce déclencheur à votre tag Data Manager API Audiences.

Si vous utilisez à la fois l’action Add to Customer List et l’action Remove from Customer List, créez deux tags (un par action) avec deux déclencheurs distincts (par exemple sur les événements members_upload et members_remove).

Configuration terminée du tag Data Manager API Audiences

Exemple de payload à envoyer à votre endpoint GTM Server

Cette partie est un extrait de notre documentation complète sur les événements offline.

Pour tester la configuration du tag Data Manager API Audiences, vous pouvez envoyer un événement de test à votre endpoint GTM Server. Voici deux exemples de payload JSON, selon le mode choisi.

Il est important ici d’utiliser le même chemin d’activation que celui configuré dans le client Measurement Protocol (GA4) de votre conteneur GTM Server. Dans cet exemple, nous avons choisi /mp/collect.

POST https://<votre-endpoint-gtm-server>/mp/collect

Un seul membre est construit à partir des données utilisateur de l’événement :

{ "events": [{ "name": "members_upload", "params": { "terms_of_service": true, "consent": { "ad_user_data": "granted", "ad_personalization": "granted" }, "user_id": "1234567890", "ip_override": "89.84.126.10", "user_data": { "email_address": "[email protected]", "phone_number": "+33627362122", "address": { "first_name": "John", "last_name": "Doe", "postal_code": "75000", "country": "FR" } } } }] }

Correspondance entre les eventData et le payload Data Manager API

Vous n’envoyez pas directement le format attendu par Data Manager API : vous envoyez un événement au format Measurement Protocol / GA4 (les eventData ci-dessus), et c’est le tag qui se charge de le transformer en requête Data Manager API. Le tableau ci-dessous détaille cette correspondance, champ par champ, pour vous aider à construire vos propres requêtes.

Les données personnelles (email, téléphone, prénom, nom) sont automatiquement normalisées puis hachées en SHA-256 par le tag : vous les envoyez en clair dans vos eventData, et elles ressortent hachées dans le payload Data Manager API. Vous pouvez aussi envoyer directement des valeurs déjà hachées, dans ce cas-là elles ne seront pas hachées à nouveau.

Données utilisateur
user_data.sha256_email_addressouuser_data.email_addressouuser_data.email→audienceMembers[].compositeData.userData.userIdentifiers[].emailAddress
Normalisé puis haché en SHA-256. Accepte une valeur simple ou un tableau d'adresses email.
user_data.sha256_phone_numberouuser_data.phone_numberouuser_data.phone→audienceMembers[].compositeData.userData.userIdentifiers[].phoneNumber
Normalisé puis haché en SHA-256 (format E.164 requis, ex. +33627362122 — un numéro sans indicatif international est ignoré). Accepte une valeur simple ou un tableau.
user_data.address.first_nameouuser_data.address[0].first_name→audienceMembers[].compositeData.userData.userIdentifiers[].address.givenName
Haché en SHA-256.
user_data.address.last_nameouuser_data.address[0].last_name→audienceMembers[].compositeData.userData.userIdentifiers[].address.familyName
Haché en SHA-256.
user_data.address.countryouuser_data.address[0].country→audienceMembers[].compositeData.userData.userIdentifiers[].address.regionCode
Code pays (ex. FR), non haché.
user_data.address.postal_codeouuser_data.address[0].postal_code→audienceMembers[].compositeData.userData.userIdentifiers[].address.postalCode
Code postal, non haché. L'adresse n'est envoyée que si les 4 champs (prénom, nom, pays, code postal) sont renseignés.
ip_overrideouipouip_address→audienceMembers[].compositeData.ipData[].ipAddress
Envoyé uniquement si IP Address Sharing est à true et qu'aucune destination DV360 n'est configurée. Accepte une valeur simple ou un tableau.
Identifiants alternatifs
user_idouuser_data.user_id→audienceMembers[].userIdData.userId
Identifiant utilisateur first-party. Utilisé uniquement si aucun identifiant de données utilisateur (email, téléphone, adresse) n'est disponible.
x-ga-resettable_device_idoumobile_id→audienceMembers[].mobileData.mobileIds[]
Identifiants publicitaires mobiles (advertising ID / IDFA), 10 maximum par membre. Utilisés uniquement si aucun identifiant de données utilisateur ni user_id n'est disponible. En mode unitaire, le tag lit x-ga-resettable_device_id (ou le champ Mobile IDs Override) ; la clé mobile_id est utilisée dans les entrées du mode batch.
Conditions d'utilisation
terms_of_service→termsOfService.customerMatchTermsOfServiceStatus
Normalisé en ACCEPTED / REJECTED (accepte aussi true/false, granted/denied, accepted/rejected). Uniquement pour l'action Add to Customer List.
Consentement
consent.ad_user_data→consent.adUserData
Normalisé en CONSENT_GRANTED / CONSENT_DENIED (voir la section Consent Mode). Uniquement pour l'action Add to Customer List.
consent.ad_personalization→consent.adPersonalization
Normalisé en CONSENT_GRANTED / CONSENT_DENIED (voir la section Consent Mode). Uniquement pour l'action Add to Customer List.

Un seul type d’identifiant par membre. Data Manager API n’accepte qu’un seul type de données identifiantes par membre d’audience. Le tag applique donc l’ordre de priorité suivant : les données utilisateur (email, téléphone, adresse — éventuellement complétées par l’adresse IP) d’abord ; à défaut, le user_id ; à défaut, les mobile IDs.

Le tag normalise également les données avant hachage, conformément aux exigences de formatage de Data Manager API  : emails en minuscules et sans espaces (avec suppression des points et des suffixes +alias pour les adresses gmail.com / googlemail.com), numéros de téléphone convertis au format E.164, prénoms et noms en minuscules et sans espaces superflus. Les tirets des identifiants de compte (ex. 342-654-7582) sont automatiquement supprimés.

Envoi du payload à GTM Server avec Postman

Nous vous recommandons d’utiliser un outil comme Postman pour tester l’envoi de cette requête à votre endpoint GTM Server. Assurez-vous de remplacer l’URL par celle de votre endpoint GTM Server et de configurer la méthode HTTP sur POST.

Ajout du payload dans Postman

Ensuite, ouvrez votre preview GTM Server en cliquant sur Preview.

Bouton de preview GTM Server

Cliquez ensuite sur les 3 petits points en haut à droite de la fenêtre de preview et sélectionnez Send requests manually.

Send requests manually button

Copiez ensuite le token de preview.

Token de preview GTM Server

Ajoutez le token de preview dans l’onglet Headers de Postman avec la clé x-gtm-server-preview.

Ce token relie votre requête Postman à votre session de debug : c’est lui qui permet à votre événement d’apparaître dans la fenêtre de preview au lieu d’être traité silencieusement comme du trafic de production. Sans ce header, vous ne verrez rien remonter dans la preview.

Token de preview GTM Server configuré dans Postman

Vérifier les données envoyées à Data Manager API

Maintenant que vous avez configuré votre tag Data Manager API Audiences et que vous avez envoyé un événement de test à votre endpoint GTM Server avec l’aide de Postman, il est temps de vérifier que vos données sont correctement reçues dans un premier temps dans la preview GTM Server et ensuite dans les plateformes (Google Ads, Display & Video 360).

Dans la preview GTM Server

Afin de vérifier que vos membres d’audience sont correctement envoyés à Data Manager API, vous pouvez utiliser le mode preview de Google Tag Manager Server. Assurez-vous de configurer l’option Validate Only à true pour ne pas modifier réellement vos listes pendant vos tests.

La première chose à vérifier est que votre événement est bien reçu dans la preview GTM Server. Ensuite, cliquez sur l’événement members_upload dans la liste des événements reçus et vérifiez que le tag Data Manager API Audiences est déclenché avec succès.

Tag Data Manager API Audiences déclenché avec succès sur l'événement members_upload

Cliquez ensuite sur le tag Data Manager API Audiences pour vérifier que le tag envoie bien une requête à Data Manager API.

Requête envoyée à Data Manager API dans la preview GTM Server

Ensuite cliquez sur la requête envoyée à Data Manager API pour vérifier que les données envoyées correspondent bien à vos attentes.

Vous pouvez notamment vérifier que l’endpoint appelé est le bon (audienceMembers:ingest pour un ajout, audienceMembers:remove pour une suppression), que les identifiants de destination (Operating Customer ID, Customer ID, Customer List ID) sont corrects, que le nombre de membres correspond à ce que vous avez envoyé et que les données utilisateur sont correctement hachées.

Payload de la requête envoyée à Data Manager API dans la preview GTM Server

Voici le corps de la requête formaté correctement :

{ "encoding": "HEX", "destinations": [ { "operatingAccount": { "accountType": "GOOGLE_ADS", "accountId": "3426547582" }, "loginAccount": { "accountType": "GOOGLE_ADS", "accountId": "6436831588" }, "productDestinationId": "6328279871" } ], "termsOfService": { "customerMatchTermsOfServiceStatus": "ACCEPTED" }, "consent": { "adUserData": "CONSENT_GRANTED", "adPersonalization": "CONSENT_GRANTED" }, "audienceMembers": [ { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "36d6de708b54f80f4e673d0a09bc1e21c8fb52b267b9afbe812f8000b1ab9590" }, { "phoneNumber": "f0054832a91eda16350883be5ac5b9729f2b2c62b5529207f94e1e5d88d2027c" }, { "address": { "givenName": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a", "familyName": "799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f", "regionCode": "FR", "postalCode": "75000" } } ] } } } ], "validateOnly": true }

Vérifier dans Google Ads

Une fois que vous êtes satisfait des requêtes envoyées à Data Manager API, vous pouvez passer le paramètre validateOnly à false. Cela aura pour effet d’ajouter (ou retirer) réellement les membres de vos listes de clients.

Rendez-vous ensuite dans Tools → Shared library → Audience manager → Your data segments et ouvrez votre liste de clients. Vous pourrez y suivre l’évolution de la taille de la liste et le taux de correspondance (match rate) de vos envois.

Le traitement des membres par Google n’est pas instantané : comptez plusieurs heures (jusqu’à 24 à 48 heures) avant de voir la taille de votre liste se mettre à jour. La taille affichée par plateforme (Search, YouTube, Display) reflète les membres effectivement matchés, pas le nombre de membres envoyés.

Vérification de la taille de la liste de clients dans Google Ads

Vérifier dans Display & Video 360

De la même manière, rendez-vous dans le menu Audiences de votre annonceur DV360 et ouvrez votre liste de clients pour suivre l’évolution de sa taille après vos envois.

Félicitations !

Félicitations ! Vous avez maintenant tout en main pour alimenter vos listes Customer Match Google Ads et Display & Video 360 via Data Manager API depuis votre conteneur GTM Server. Pour résumer, la mise en place se déroule en quelques grandes étapes : configurer l’authentification avec le service account Addingwell, importer et paramétrer le tag Data Manager API Audiences, mettre en place le client Measurement Protocol (GA4) pour réceptionner vos requêtes, déclencher le tag sur le bon événement, puis tester le tout avec Postman avant de passer validateOnly à false.

Au-delà de la configuration technique, gardez en tête que la réussite de votre projet repose surtout sur la qualité des données que vous remontez : des identifiants first-party complets et bien formatés (email, téléphone au format E.164, adresse postale complète) pour maximiser le taux de correspondance, une gestion rigoureuse du consentement et des conditions d’utilisation Customer Match, et un processus fiable pour retirer les membres qui en font la demande. C’est cette rigueur en amont qui vous permettra de construire des audiences réellement activables dans vos campagnes.

Si vous avez une question ou rencontrez un blocage lors de votre implémentation, n’hésitez pas à envoyer un mail à notre équipe support.