# Suivi des conversions ChatGPT Ads : pixel OpenAI, Conversions API et consentement

> Les annonces ChatGPT sont diffusées en France depuis fin août 2026. Pour savoir lesquelles vendent, et pour laisser les campagnes optimisées pour la conversion faire leur travail, il faut renvoyer à OpenAI les ventes réelles de la boutique : c’est le rôle du pixel de mesure et de la Conversions API, à condition de les brancher ensemble, sur le consentement, et sans perdre l’identifiant de clic en route.

- Source canonique : [https://allaux.fr/services/tracking/suivi-conversions-chatgpt-ads](https://allaux.fr/services/tracking/suivi-conversions-chatgpt-ads)
- Langue : FR
- Dernière mise à jour : 2026-09-30

## Réponse directe

> La Conversions API ne capture pas oppref à votre place. Transmettez cet identifiant lorsqu’il est disponible, ainsi que les signaux de rapprochement autorisés par le consentement. Son absence peut réduire l’attribution au clic ; elle ne signifie pas que toute attribution est impossible.

## Vous voulez que ce soit fait, et bien fait ?

- **Installer le suivi ChatGPT Ads sur ma boutique** — J’ai développé un module PrestaShop et une extension WooCommerce qui posent le pixel, la Conversions API, la déduplication et le consentement. Je l’installe et je vérifie la remontée avec vous. Décrivez votre boutique en quelques lignes. ([/contact](/contact))

## Ce qui a changé en 2026 pour les annonceurs

OpenAI a ouvert la mesure des conversions en mai 2026, avec deux briques publiées ensemble : un pixel de mesure qui s’exécute dans le navigateur, et une Conversions API qui reçoit les évènements depuis votre serveur. En juin 2026 sont arrivées les campagnes optimisées pour la conversion (oCPC, présentées en bêta ouverte dans la documentation) : vous payez toujours au clic, mais la diffusion est orientée vers les internautes susceptibles de réaliser l’évènement de conversion choisi.

Le 18 août 2026, OpenAI a annoncé l’extension des annonces ChatGPT à 31 pays européens, dont la France. La diffusion a démarré le 24 août, d’abord par l’intermédiaire de partenaires (équipe commerciale d’OpenAI, agences, partenaires technologiques), puis l’accès en libre-service par l’Ads Manager a suivi. Les annonces ne s’affichent qu’aux utilisateurs des offres Free et Go ; les abonnés Plus, Pro et Enterprise n’en voient pas.

Conséquence pratique pour une boutique PrestaShop ou WooCommerce : une campagne oCPC exige un suivi des conversions déjà en place et un évènement de conversion actif, choisi à la création et non modifiable ensuite. Sans mesure fiable, vous achetez des clics sans savoir lesquels vendent, et l’algorithme n’a rien pour apprendre.

## Le pixel de mesure OpenAI : ce qu’il fait dans le navigateur

Le pixel est un SDK JavaScript, oaiq.min.js, initialisé avec votre Pixel ID. Il envoie des évènements par l’appel oaiq("measure", nom, données, options). Quand un internaute arrive depuis une annonce, l’URL de la page d’atterrissage porte un paramètre oppref : le pixel le lit et le range dans un cookie first-party __oppref, valable 30 jours à compter de la dernière écriture. Il pose aussi un cookie __obref, identifiant aléatoire du navigateur conservé 365 jours.

La documentation décrit aussi l’advanced matching : e-mail, téléphone, identifiant client, prénom et nom peuvent être transmis sous forme d’empreintes SHA-256, après une normalisation précise (e-mail en minuscules sans espaces, téléphone réduit à ses chiffres, etc.). Un mode automatique existe, qui détecte ces informations sur la page sans que les données brutes ne partent chez OpenAI.

Il existe enfin une balise image sans JavaScript, utile en repli dans un bloc noscript ou pour une conversion au chargement de page. Elle est limitée : un évènement par requête, pas d’objet utilisateur, et elle ne capte pas oppref d’elle-même. Pour une boutique, c’est un complément, jamais la solution principale.

## Pixel OpenAI : consentement d’abord, mesure ensuite

```
// Tant que le visiteur n'a pas accepté, le pixel ne mesure rien
oaiq("consent", false);
oaiq("init", { pixelId: "<PIXEL-ID>" });

// Appelé par la bannière de consentement, après accord
oaiq("consent", true);

// Sur la page de confirmation de commande
oaiq("measure", "order_created", {
  type: "contents",
  currency: "EUR",
  contents: [{ id: "SKU-123", quantity: 1 }]
}, { event_id: "<IDENTIFIANT-PARTAGE-AVEC-LE-SERVEUR>" });
```

## La Conversions API : la même vente, envoyée depuis le serveur

La Conversions API reçoit des requêtes POST sur le point d’entrée /v1/events?pid=<PIXEL-ID> du domaine de collecte d’OpenAI, authentifiées par une clé API distincte, obtenue elle aussi dans l’onglet conversions de l’Ads Manager. Une requête peut regrouper jusqu’à 1 000 évènements ; si un seul évènement est invalide, tout le lot est refusé. Chaque évènement porte un id, un type (order_created, items_added…), un horodatage timestamp_ms qui doit refléter le moment réel de la conversion et ne pas remonter à plus de sept jours, l’URL source et, dans un objet data, le montant, la devise et le contenu de la commande.

Deux détails pèsent lourd. Le montant s’exprime en entier, dans l’unité mineure de la devise : 59,90 € s’envoient 5990. Et le champ validate_only permet de tester un appel sans rien enregistrer : c’est le mode validation, à utiliser avant toute mise en production.

Pourquoi doubler le pixel ? Parce qu’une partie des évènements navigateur n’arrive jamais : bloqueurs, navigation privée, page de confirmation fermée trop tôt, paiement terminé chez le prestataire sans retour sur la boutique. Le serveur, lui, sait qu’une commande a été validée. OpenAI recommande explicitement d’utiliser les deux ensemble.

## L’erreur qui rend la Conversions API inutile

> La Conversions API ne capte pas oppref toute seule. Si le serveur envoie la commande sans la valeur oppref (au niveau de l’évènement) et sans obref (dans l’objet user), OpenAI reçoit bien une vente, mais ne peut pas la rattacher au clic sur l’annonce. Il faut donc lire oppref à l’arrivée du visiteur, le conserver avec le panier puis la commande, et le joindre à l’appel serveur.

## Conversions API : un achat, abrégé

```
{
  "validate_only": true,
  "events": [{
    "id": "<IDENTIFIANT-PARTAGE-AVEC-LE-PIXEL>",
    "type": "order_created",
    "timestamp_ms": <HORODATAGE-DE-LA-COMMANDE-EN-MS>,
    "oppref": "<VALEUR-DU-COOKIE-__oppref>",
    "source_url": "<URL-DE-LA-PAGE-DE-CONFIRMATION>",
    "action_source": "web",
    "user": {
      "obref": "<VALEUR-DU-COOKIE-__obref>",
      "emails_sha256": ["<EMPREINTE-SHA256>"]
    },
    "data": {
      "type": "contents",
      "amount": 5990,
      "currency": "EUR",
      "contents": [{ "id": "SKU-123", "quantity": 1 }]
    }
  }]
}
```

## Déduplication : une vente, pas deux

Quand la même commande part du navigateur et du serveur, OpenAI la reconnaît comme un seul évènement si trois éléments coïncident : le même Pixel ID, le même nom d’évènement et le même identifiant, appelé event_id dans les options du pixel et id dans la Conversions API. C’est le premier reçu qui est retenu ; les suivants sont ignorés.

La difficulté est d’ordre pratique : l’identifiant doit être connu des deux côtés. Je le génère au moment où la commande est créée, je le stocke avec elle, et je le réinjecte dans la page de confirmation pour le pixel comme dans l’appel serveur. J’évite d’y mettre le numéro de commande en clair : un identifiant opaque suffit et n’expose rien.

## Mettre en place le suivi des conversions ChatGPT Ads

1. **Créer la source de données** — Dans l’Ads Manager d’OpenAI, onglet conversions : création du Pixel ID et de la clé de la Conversions API. La clé reste côté serveur, jamais dans le code du thème.
2. **Choisir les évènements à mesurer** — Pour une boutique : contents_viewed (fiche produit), items_added (ajout au panier), checkout_started (début de commande), order_created (achat), et selon le cas registration_completed ou lead_created.
3. **Brancher le consentement** — Le pixel ne se charge qu’après accord dans la bannière (tarteaucitron.js, Axeptio, Cookiebot, Didomi, CookieYes, Complianz). Sans accord : aucun cookie, aucun envoi.
4. **Conserver oppref et obref** — Lecture à l’arrivée, stockage avec le panier puis la commande, pour que l’appel serveur puisse les transmettre plusieurs pages ou plusieurs jours plus tard.
5. **Envoyer la commande depuis le serveur** — Au moment où la boutique valide la commande, pas au chargement d’une page : l’évènement part même si le client ne revient jamais sur la confirmation.
6. **Valider avant d’ouvrir** — Appels en validate_only, puis contrôle des évènements récents dans l’Ads Manager : canal navigateur et canal serveur doivent tous deux apparaître, sans doublon.

## Consentement et RGPD : ce qu’il faut régler avant la première vente

Le pixel OpenAI dépose des cookies publicitaires et transmet des données de navigation à un tiers : en France, cela demande le consentement préalable du visiteur, comme pour le pixel Meta ou Google Ads. Point d’attention propre à ce pixel : d’après la documentation, son consentement vaut vrai par défaut tant qu’on ne l’a pas mis à faux. Il faut donc soit appeler oaiq("consent", false) avant l’initialisation, soit ne charger le script qu’après accord. Je fais les deux : le script n’est pas chargé avant consentement, et l’état est mis à faux par sécurité.

Avec tarteaucitron.js, le pixel se déclare comme un service personnalisé qui ne s’exécute qu’à l’acceptation. Avec Axeptio, Cookiebot, Didomi, CookieYes ou Complianz, le chargement est conditionné à la finalité marketing ou à un fournisseur déclaré dans l’outil. Quand la bannière publie les signaux du mode consentement de Google, l’état du stockage publicitaire peut servir de déclencheur.

Côté serveur, la même règle s’applique : j’enregistre l’état du consentement avec la commande, et la Conversions API n’envoie rien pour un visiteur qui a refusé. Les e-mails et téléphones ne partent jamais en clair, uniquement en empreinte SHA-256. La documentation prévoit aussi un champ opt_out par évènement, et précise qu’OpenAI n’utilise pas, à ce jour, les données du pixel pour de la personnalisation individuelle. Enfin, le traitement doit apparaître dans votre politique de confidentialité et votre registre : c’est à vous, ou à votre DPO, d’arbitrer la base légale ; je vous fournis la description technique exacte de ce qui est envoyé.

## Le suivi ChatGPT Ads prêt à installer sur votre plateforme

- **Module ChatGPT Ads pour PrestaShop** — Pixel, Conversions API d?dupliqu?e, oppref conserv? avec le panier, envoi ? la validation de commande, multiboutique. ([/prestashop/module-chatgpt-ads](/prestashop/module-chatgpt-ads))
- **Extension ChatGPT Ads pour WooCommerce** — Pixel OpenAI et Conversions API, compatible HPOS, tunnel en blocs et extensions de consentement : d?velopp?e et install?e par mes soins. ([/wordpress-woocommerce/extension-chatgpt-ads](/wordpress-woocommerce/extension-chatgpt-ads))
- **Faire auditer mon tracking existant** — Vous avez déjà posé le pixel vous-même ? Je vérifie oppref, la déduplication et le consentement, et je vous dis ce qui manque. ([/contact](/contact))

## Les erreurs que je retrouve le plus souvent

- La Conversions API ne capture pas oppref à votre place. Transmettez cet identifiant lorsqu’il est disponible, ainsi que les signaux de rapprochement autorisés par le consentement. Son absence peut réduire l’attribution au clic ; elle ne signifie pas que toute attribution est impossible.
- Identifiant différent entre pixel et serveur, ou nom d’évènement différent : chaque achat est compté deux fois
- Pixel chargé avant le consentement parce que son état par défaut est « accepté »
- Montant envoyé en euros avec décimales au lieu d’un entier en centimes
- Évènement serveur déclenché au chargement de la page de confirmation, donc perdu quand le client ne revient pas du paiement
- Clé de la Conversions API copiée dans le JavaScript du thème, lisible par n’importe quel visiteur
- Lot de mille évènements refusé en bloc à cause d’un seul horodatage de plus de sept jours
- Pixel posé deux fois : une fois dans le thème, une fois par un module ou un gestionnaire de balises

## Et le gestionnaire de balises ?

Passer par Google Tag Manager côté navigateur ou par un conteneur serveur est possible, et c’est parfois le bon choix quand une boutique a déjà toute sa mesure centralisée. Mais sur PrestaShop et WooCommerce, l’information fiable, la commande validée avec son montant et son état de consentement, se trouve dans la boutique elle-même. Envoyer la conversion serveur depuis le hook de validation de commande supprime une couche, et donc une source de décalage. Je choisis selon ce qui est déjà en place : l’objectif est une seule source de vérité, pas un empilement d’outils.

Pour les principes communs à toutes les plateformes publicitaires, la page sur les évènements e-commerce qui comptent et celle sur le pixel Meta et l’API de conversions détaillent la même logique pixel plus serveur. Les sources officielles utilisées ici sont la documentation du pixel de mesure, celle de la Conversions API, la liste des évènements pris en charge et celle de la balise image.

## Ce que je ne promets pas

> Un suivi correct ne fait pas vendre à lui seul : il rend les chiffres de l’Ads Manager comparables aux commandes réelles et donne aux campagnes optimisées pour la conversion des données exploitables. Un écart résiduel entre commandes et conversions reste normal, notamment à cause des refus de consentement.

## Demander le module ou un audit de tracking

- **Demander le module ChatGPT Ads** — Indiquez votre plateforme, sa version et votre outil de consentement : je vous réponds personnellement avec la marche à suivre pour votre boutique. ([/contact](/contact))
- **Mes conversions ne remontent pas** — La méthode de diagnostic, dans l’ordre, quand une plateforme publicitaire ne voit pas les ventes. ([/services/tracking/conversions-ne-remontent-pas](/services/tracking/conversions-ne-remontent-pas))
- **Mode consentement en Europe** — Brancher une bannière de consentement sur les balises publicitaires, sans bloquer la mesure autorisée. ([/services/tracking/mode-consentement-europe](/services/tracking/mode-consentement-europe))

## FAQ

### Qu’est-ce que ChatGPT Ads ?

Ce sont les annonces publicitaires diffusées par OpenAI dans ChatGPT, auprès des utilisateurs des offres Free et Go. Elles sont disponibles en France depuis le 24 août 2026, d’abord via des partenaires puis en libre-service par l’Ads Manager.

### Le pixel OpenAI suffit-il pour suivre les conversions ChatGPT Ads ?

Il fonctionne seul, mais il perd une partie des évènements : bloqueurs, refus de cookies, page de confirmation jamais affichée après le paiement. OpenAI recommande de l’associer à la Conversions API, en dédupliquant par le même identifiant d’évènement.

### Qu’est-ce que oppref ?

C’est l’identifiant de clic ajouté par OpenAI à l’URL de la page d’atterrissage, l’équivalent du gclid de Google ou du fbclid de Meta. Le pixel le conserve 30 jours dans le cookie __oppref. La Conversions API ne le lit pas : il faut le transmettre avec chaque évènement serveur.

### Quels évènements envoyer pour une boutique en ligne ?

Au minimum order_created pour l’achat. Ensuite contents_viewed, items_added et checkout_started pour suivre le parcours, et registration_completed ou lead_created si la création de compte ou la demande de devis comptent pour vous. Une campagne optimisée pour la conversion s’appuie sur un seul évènement actif.

### Faut-il le consentement du visiteur ?

Oui en France : le pixel dépose des cookies publicitaires et transmet des données à un tiers. Le pixel ne doit pas se charger avant l’accord, et l’envoi serveur doit respecter le même choix. La décision sur la base légale revient au responsable de traitement.

### Mon outil de consentement est-il compatible ?

Le module que j’installe se branche sur tarteaucitron.js par un service personnalisé, et sur Axeptio, Cookiebot, Didomi, CookieYes ou Complianz par la finalité marketing. Le signal du mode consentement de Google peut aussi servir de déclencheur. Je vérifie votre configuration lors de l’installation.

### Combien de temps faut-il pour installer le suivi ?

Cela dépend surtout de l’état de la boutique : thème, modules de tracking déjà présents, outil de consentement, accès à l’Ads Manager. Décrivez votre installation par le formulaire de contact, je vous donne un délai précis avant de commencer.
