Skip to Content
OpenAI CAPI

Suivi des conversions OpenAI CAPI avec Google Tag Manager

OpenAI CAPI : mesurer vos campagnes ChatGPT Ads de manière fiable

Le pixel OpenAI seul ne suffit pas

OpenAI propose deux méthodes pour mesurer les conversions de vos campagnes publicitaires dans ChatGPT : le pixel OpenAI, un script chargé dans le navigateur, et l’API de Conversions (CAPI), une communication de serveur à serveur. Comme pour les autres plateformes publicitaires, le pixel est exposé aux bloqueurs de publicité, aux restrictions des navigateurs comme Safari et à la durée de vie limitée des cookies posés depuis le navigateur. OpenAI indique d’ailleurs que l’API de Conversions est une source de mesure plus fiable que le pixel seul et recommande de l’utiliser dès que possible.

API de Conversions OpenAI + pixel OpenAI, et déduplication :

Le pixel OpenAI et l’API de Conversions ne collectent pas les données de la même manière. Le pixel collecte les données directement dans le navigateur, tandis que l’API de Conversions transmet les événements depuis votre serveur, sans dépendre du navigateur de l’internaute. Les deux méthodes peuvent être utilisées en parallèle pour maximiser le volume d’événements mesurés.

Double implémentation pixel OpenAI et OpenAI CAPI

Lorsque les deux sources sont actives, OpenAI doit dédupliquer les événements reçus en doublon. Pour cela, il faut envoyer un même identifiant d’événement via chaque méthode : le paramètre event_id côté pixel et le champ id côté API. OpenAI conserve le premier événement reçu pour une même clé (identifiant du pixel, nom de l’événement et identifiant d’événement) et ignore les doublons. Si un événement n’est pas capté par le pixel mais bien transmis par le serveur, OpenAI l’enregistre : la collecte est ainsi exhaustive.

Déduplication côté OpenAI d'un événement remonté par le pixel et par OpenAI CAPI, grâce à l'event ID

Balise OpenAI CAPI Addingwell : un tag côté serveur, des cookies qui durent

La balise OpenAI CAPI Addingwell lit les événements GA4 reçus par votre conteneur serveur, les convertit au format attendu par OpenAI et les envoie à l’API de Conversions. Elle prend en charge pour vous :

  • la correspondance automatique entre les événements GA4 et les événements standard OpenAI (purchase devient order_created, page_view devient page_viewed, etc.) ;
  • la normalisation et le hachage des données utilisateur (email, téléphone, nom, prénom, identifiant externe) selon les règles d’OpenAI ;
  • la récupération de l’identifiant de clic oppref présent dans l’URL d’arrivée depuis une publicité ChatGPT, et sa transmission avec chaque événement ;
  • la prolongation de la durée de vie des cookies : les identifiants oppref (clic) et obref (navigateur) sont réécrits côté serveur dans les cookies FPOPPREF et FPOBREF pour une durée de 365 jours. Si aucun obref n’existe encore, la balise en génère un au même format que le pixel, ce qui permet la mesure serveur même sans pixel. Le pixel les pose en JavaScript pour 30 et 365 jours, mais Safari plafonne ces cookies à 7 jours.

Contrairement à notre balise Meta CAPI, la balise OpenAI CAPI ne déclenche pas le pixel depuis le serveur. Si vous souhaitez conserver le pixel OpenAI en parallèle, consultez la section Setup du pixel OpenAI.

Configurer la balise OpenAI CAPI d’Addingwell

Importer la balise dans GTM Server

Cliquez ici  pour télécharger la balise OpenAI Conversions API et cliquez sur l’icône de téléchargement pour récupérer le fichier.

Téléchargement de la balise OpenAI CAPI Addingwell

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

Créer une nouvelle balise pour OpenAI CAPI Addingwell

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

Importation de la balise OpenAI CAPI Addingwell

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

Sauvegarder la balise OpenAI CAPI Addingwell

Configurer la balise

Créez une nouvelle balise dans Google Tag Manager Server-Side et sélectionnez la balise OpenAI CAPI récemment importée. Pour configurer la balise, deux informations sont nécessaires :

Ces deux informations se trouvent dans l’onglet Conversions de votre compte OpenAI Ads Manager. Une fois la clé et l’identifiant du pixel récupérés, configurez la balise OpenAI CAPI.

Configuration de la balise OpenAI CAPI

Event Name Setup Method

Méthode de configurationDescription
Inherit from clientIndiquez à la balise de faire la correspondance entre les événements GA4 reçus du conteneur client-side et les événements standard d’OpenAI. Chaque événement GA4 non répertorié dans la table de correspondance sera envoyé comme événement personnalisé à OpenAI.
OverrideFaire la correspondance soi-même entre les événements GA4 et ce qui doit être envoyé à OpenAI. Choisissez d’envoyer soit un événement standard, soit un événement personnalisé.

Conversions API Key

Entrez ici la clé d’API générée dans l’onglet Conversions d’OpenAI Ads Manager.

Pixel ID

Entrez ici l’identifiant du pixel récupéré dans l’onglet Conversions d’OpenAI Ads Manager. Utilisez le même identifiant que celui de votre pixel OpenAI dans le navigateur : la déduplication en dépend.

Action Source

Indique à OpenAI où la conversion a eu lieu. Laissez la valeur par défaut web pour les événements issus de votre site. Les autres valeurs (offline, physical_store, phone_call, email, other, mobile_app) sont réservées aux cas où vous envoyez des conversions qui ne proviennent pas du navigateur.

Validate only

Passez ce champ à true uniquement pour tester l’envoi des événements à OpenAI : OpenAI valide alors la structure de l’événement sans l’enregistrer.

Il n’est pas conseillé de garder Validate only à true dans la balise OpenAI Conversions API en production, aucune conversion ne serait comptabilisée. Pensez à le repasser à false avant de publier votre conteneur serveur.

Opt Out

Laissez la valeur par défaut false. Passez-le à true pour exclure l’événement de la personnalisation au niveau utilisateur chez OpenAI. Ce champ accepte une variable, par exemple pour refléter un choix de consentement.

Sections d'override (optionnel)

Les sections repliées en bas de la balise permettent d’ajuster les données envoyées, sans modification de votre conteneur web :

SectionUtilité
Server Event Data OverrideForcer l’horodatage, l’URL source ou l’identifiant de clic oppref.
User Data OverrideFournir ou remplacer les données utilisateur (email, téléphone, nom, prénom, ville, code postal, pays, identifiant externe, adresse IP, user agent). Les valeurs en clair sont normalisées et hachées par la balise ; les valeurs déjà hachées en SHA-256 sont transmises telles quelles.
Event ID DeduplicationForcer l’identifiant d’événement envoyé à OpenAI. Par défaut, la balise utilise le paramètre GA4 event_id, sinon elle génère un identifiant unique.
Custom Data OverrideForcer le montant (amount, en unité mineure de la devise), la devise, le plan_id ou ajouter des champs personnalisés.
Items Data OverrideIndiquer quels champs du tableau items de GA4 utiliser pour construire les contents envoyés à OpenAI.

Déclencher la balise

Déclenchez enfin la balise OpenAI CAPI sur les événements GA4 pertinents en utilisant la table de correspondance de la balise.

Par exemple, pour un site e-commerce, les événements suivants sont généralement utilisés :

Nom de l’événement
page_view
view_item
add_to_cart
begin_checkout
purchase

Pour un site de génération de leads ou d’abonnement : generate_lead, sign_up, subscribe, start_trial.

Cette liste d’événements n’est bien sûr pas exhaustive et dépend de votre situation.

Pour une organisation optimale, créez une variable de type Lookup Table configurée comme suit :

Configuration d'une table de correspondance dans Google Tag Manager Server-Side

Dans la balise OpenAI CAPI, créez un déclencheur personnalisé vérifiant que les événements proviennent de GA4 (Client Name = GA4) et que la Lookup Table précédemment configurée renvoie true.

Configuration d'un déclencheur personnalisé dans Google Tag Manager Server-Side

Selon le pays dans lequel votre site web opère et la réglementation en vigueur concernant la collecte de données (RGPD en Europe, CCPA en Californie, Loi 25 au Québec, etc.), il est impératif de configurer le déclencheur du tag en fonction du consentement de l’utilisateur. Assurez-vous que le tag ne se déclenche que lorsque le consentement approprié a été obtenu, conformément aux exigences légales applicables. La balise transmet notamment les identifiants oppref et obref issus des cookies : OpenAI demande de cesser de les envoyer si l’utilisateur retire son consentement.

Setup du pixel OpenAI (recommandé)

Nous recommandons de déployer le pixel OpenAI en complément de l’API de Conversions : il complète la mesure côté serveur. Sa mise en place n’est pas détaillée dans cette documentation : pour faciliter votre implémentation, nous vous proposons de suivre cet article rédigé par un partenaire , qui propose un tag OpenAI pixel.

Veillez à envoyer le même identifiant d’événement depuis le pixel et depuis GA4 : c’est lui qui permet à OpenAI de dédupliquer les événements reçus des deux sources. Déclenchez pour cela vos balises pixel à partir des mêmes déclencheurs que vos balises GA4, afin qu’un même événement parte bien vers les deux sources.

Déclencheurs identiques entre les balises du pixel OpenAI et les balises GA4

Vérifier les données reçues

Après avoir configuré votre balise OpenAI Conversions API, il est primordial de vérifier les éléments suivants :

  • que votre conteneur serveur transmet bien les événements à OpenAI ;
  • que le volume d’événements reçus par OpenAI est cohérent et que la déduplication est effective si vous utilisez aussi le pixel ;
  • que la qualité des données est suffisante pour permettre à OpenAI de relier vos événements essentiels à un utilisateur ChatGPT.

Vérifier l’envoi des événements

Prévisualisation GTM Server-Side

La première étape consiste à vérifier que la balise OpenAI Conversions API s’active correctement pour les événements définis dans le déclencheur.

Dans la prévisualisation du conteneur serveur, assurez-vous que la balise se déclenche bien pour un événement spécifique (dans notre exemple, nous vérifions son activation sur l’événement purchase). Confirmez qu’elle apparaît dans la section Tags Fired et que son statut est indiqué comme Succeeded.

Vérifier le déclenchement de la balise OpenAI Conversions API en server-side

Dans la prévisualisation, cliquez sur la balise OpenAI Conversions API pour vérifier que la requête a bien été envoyée à bzr.openai.com. Vous pouvez y contrôler le contenu de l’événement : type d’événement, identifiant, montant en centimes, données utilisateur hachées et identifiants oppref et obref lorsqu’ils sont disponibles.

Vérifier l'envoi des données via OpenAI Conversions API

Si la requête est en erreur, la réponse d’OpenAI indique le champ en cause. Les erreurs les plus fréquentes sont une devise absente alors qu’un montant est envoyé, et un nom d’événement personnalisé invalide. Consultez la page tester l’envoi des événements pour valider votre configuration sans enregistrer de conversions.

Vérifier le volume d’événements reçus

Côté OpenAI : événements reçus et déduplication

Accédez à l’onglet Conversions de votre compte OpenAI Ads Manager, puis cliquez sur Start polling events pour afficher en temps réel les événements qui arrivent chez OpenAI.

Bouton Start polling events dans OpenAI Ads Manager

Les événements reçus par OpenAI y sont affichés par source de données : pixel et API de Conversions.

Vérifier la réception des données via OpenAI Conversions API et le pixel OpenAI

Si vous avez implémenté le double suivi de vos événements via le pixel et via OpenAI CAPI, assurez-vous que les événements :

  • proviennent bien des deux sources de données, à la fois depuis le pixel et depuis l’API de Conversions ;
  • sont bien dédupliqués : un même événement reçu par les deux sources contient les mêmes Event ID.

Le nombre d’événements reçus depuis le pixel devrait rester relativement stable après l’ajout d’OpenAI CAPI. En revanche, le nombre d’événements reçus depuis le serveur doit être supérieur à celui du pixel : un surplus de 5 à 20 % pour l’API de Conversions indique un bon set-up.

Si vous constatez un volume plus élevé d’événements provenant du pixel que de l’API de Conversions, il vous reste probablement une implémentation du pixel sans event_id, ou un pixel installé en dur dans le code du site (à vérifier avec votre équipe de développeurs).

Côté Addingwell via Events Monitoring

Cliquez sur l’onglet Events Monitoring depuis votre container Addingwell. Sélectionnez la période de temps souhaitée, puis cliquez sur la carte du tag OpenAI Conversions API.

Vérifier les requêtes OpenAI Conversions API sur le container Addingwell via Events Monitoring

Cet écran vous fournit les détails des événements envoyés par votre serveur à l’API de Conversions OpenAI, ainsi que le pourcentage de réussite de chaque événement.

Si vos requêtes n’affichent pas un taux de succès de 100 %, analysez les erreurs en consultant les logs. Cliquez sur l’onglet Logs, puis sélectionnez les logs de l’API OpenAI.

Détail des logs sur les requêtes OpenAI Conversions API via le container Addingwell

Vous verrez alors les erreurs de requêtes, avec le détail du message d’erreur renvoyé par OpenAI. Les erreurs les plus fréquentes sont une devise absente alors qu’un montant est envoyé, un nom d’événement personnalisé invalide ou alors un problème d’authentification avec la clé API (ce qui est le cas ici).

Détail d'une erreur sur les requêtes OpenAI Conversions API via le container Addingwell

Vérifier la qualité des données reçues

Envoyer vos événements de conversion à OpenAI est une première étape importante. Vous pouvez aller plus loin en ajoutant des données utilisateur (email, numéro de téléphone, nom et prénom, ville, code postal, pays) à ces événements. La balise les normalise et les hache selon les règles d’OpenAI avant envoi, ce qui permet à OpenAI d’associer les événements reçus à un utilisateur ChatGPT réel.

Cela permet à OpenAI de :

  1. Mieux attribuer les conversions reçues, en identifiant celles qui n’auraient autrement pas été rattachées à vos campagnes ChatGPT Ads.
  2. Optimiser les performances de vos campagnes, grâce à des signaux utilisateur de meilleure qualité.

Pour suivre notre méthodologie sur l’envoi fiable des données utilisateur côté serveur, consultez notre documentation dédiée.

Côté Addingwell via Events Monitoring

Cliquez sur le menu Events Monitoring depuis votre container Addingwell. Cet écran affiche toutes les données utilisateur traitées par votre client GA4 et mises à disposition pour vos événements côté serveur.

Prenons l’exemple de l’événement purchase : en cliquant sur le nom de l’événement, vous pouvez vérifier les paramètres disponibles pour cet événement spécifique.

Vérification des paramètres attachés à un événement purchase en server-side

Sur cet écran, vous pouvez voir le pourcentage de présence des données utilisateur, comme l’email, dans vos événements purchase, ainsi que le taux de couverture de chaque paramètre.

Vérification des données utilisateur attachées à un événement OpenAI en server-side

Les données envoyées sont de qualité lorsque les événements contiennent bien les informations utilisateur attendues et disponibles à cette étape du parcours client.

Félicitations

Vous avez terminé la configuration d’OpenAI Conversions API, et vous avez vérifié que vos événements sont bien transmis à OpenAI et correctement dédupliqués.

Si vous avez rencontré le moindre problème durant ces étapes, n’hésitez pas à contacter notre équipe support.