Suivi des conversions

Chaque vente venue de ChatGPT, comptée une fois, même derrière un bloqueur

Convrail envoie chaque conversion depuis le navigateur avec le pixel OpenAI et depuis le serveur de votre boutique par la Conversions API, puis déduplique les deux. Les ventes cachées par un bloqueur de publicité ou un onglet fermé arrivent quand même dans votre compte ChatGPT Ads, chacune comptée une seule fois, et vos campagnes apprennent sur vos vraies ventes.

  • Pixel OpenAI + Conversions API, dédupliqués
  • Aucune modification du thème
  • Données clients hachées avant de quitter la boutique

Ventes suivies aujourd’hui

  • #1042 89,00 € ✓ Navigateur ✓ Serveur comptée une fois
  • #1043 34,90 € ✗ Navigateur ✓ Serveur bloqueur de pub : récupérée par le serveur
  • #1044 152,40 € ✓ Navigateur ✓ Serveur comptée une fois

3 ventes envoyées à OpenAI, 0 doublon

Exemple illustratif, pas un résultat client.

Ce qui change pour votre boutique

Plus de ventes perdues à cause des bloqueurs

Les commandes payées partent du serveur de votre boutique : un pixel bloqué ou un onglet fermé ne cache plus une vente à votre compte ChatGPT Ads.

Chaque vente comptée une fois

La copie navigateur et la copie serveur d’une commande partagent un même identifiant. OpenAI garde l’une et écarte l’autre : pas de chiffres gonflés, pas de chiffre d’affaires compté deux fois.

Des campagnes qui apprennent sur les vraies ventes

Les enchères optimisées pour les conversions apprennent de ce qu’elles reçoivent. Des données complètes et dédupliquées leur donnent l’image réelle de ce qui se vend.

Tout ce que le suivi exige, inclus

  • Pixel OpenAI, installé pour vous

    Enregistré par la Web Pixel API officielle de Shopify, sans toucher à votre thème. Sur WooCommerce, l’extension l’ajoute pour vous.

  • Tracking côté serveur

    Les commandes payées partent par la Conversions API depuis vos webhooks de commande, là où les bloqueurs ne vont pas.

  • Déduplication intégrée

    Un identifiant par commande sur les deux chemins, dérivé de la commande elle-même : les deux copies n’en font qu’une chez OpenAI.

  • Clics ChatGPT mémorisés 7 jours

    Le pixel garde l’identifiant de clic d’OpenAI dans un cookie propriétaire. Un client qui revient acheter quelques jours plus tard reste attribué à ChatGPT.

  • Correspondance avancée, confidentialité d’abord

    Emails, téléphones et noms sont normalisés exactement comme OpenAI le documente, puis hachés avant tout stockage ou envoi.

  • Reprises, rien ne se perd en silence

    Les événements partent par lots de 1 000 au plus, avec reprises automatiques. Un envoi qui échoue toujours ouvre une alerte au lieu de disparaître.

  • Identifiants testés avant d’être enregistrés

    Votre clé Ads Manager, ou votre identifiant de pixel et votre clé Conversions, sont vérifiés auprès d’OpenAI sur le moment, puis conservés chiffrés.

  • Mode test

    OpenAI contrôle chaque événement sans que rien ne soit compté dans votre compte publicitaire, jusqu’à ce que vous désactiviez le mode test.

  • Chaque événement visible

    L’écran Activité liste chaque événement, sa provenance et son envoi : vous pouvez vérifier n’importe quelle vente vous-même.

En place en trois étapes

  1. Installez Convrail

    Sur Shopify ou WooCommerce. Rien à changer dans votre thème.

  2. Reliez votre compte ChatGPT Ads

    Collez une seule clé de l’Ads Manager : Convrail crée votre pixel et votre clé Conversions quand OpenAI a ouvert la configuration automatique, sinon vous les saisissez à la main. Convrail les teste immédiatement auprès d’OpenAI.

  3. Regardez vos ventes arriver

    Visites, paniers et commandes arrivent depuis le navigateur et depuis votre serveur, dédupliqués, avec une alerte si quelque chose casse.

Sous le capot

Pour les équipes techniques et les agences : le trajet de chaque événement, ce qui est envoyé à OpenAI, et la gestion des échecs.

Pourquoi un pixel seul ne suffit pas

Un pixel navigateur est ce qu’il y a de plus simple à installer, et de plus simple à perdre. Bloqueurs de publicité, bandeaux de consentement qui se déclenchent tard, limites de stockage de Safari et onglets fermés retirent des événements avant qu’ils n’atteignent OpenAI. La Conversions API comble l’écart en envoyant les mêmes événements depuis votre serveur, où rien n’est bloqué. Les deux couches ne fonctionnent ensemble que si chaque événement porte un identifiant commun : sans lui, OpenAI compte la vente deux fois et vos enchères oCPC apprennent sur des chiffres gonflés.

✗ pixel seul : une partie de vos conversions n’atteint jamais l’enchère
✓ navigateur + serveur avec un event_id : complet et compté une fois

Comment ça fonctionne

  1. Le pixel s’installe sans toucher à votre thème

    Sur Shopify, Convrail enregistre un web pixel via l’API officielle Web Pixel. Il s’exécute dans le bac à sable fourni par Shopify et respecte les réglages de confidentialité de la boutique. Sur WooCommerce, l’extension ajoute le script via wp_footer.

  2. Chaque événement part du navigateur

    Le pixel implémente nativement le protocole OAIQ : il capture l’identifiant de clic oppref dans l’URL d’atterrissage, le conserve 7 jours dans un cookie first-party, et envoie l’événement au point de terminaison image d’OpenAI avec votre identifiant de pixel.

  3. Le même événement est relayé à Convrail

    Le pixel transmet une copie compacte de l’événement à Convrail avec le même event_id. Aucune donnée personnelle n’est incluse à cette étape.

  4. Les commandes arrivent côté serveur par vos webhooks

    Quand Shopify ou WooCommerce déclenche le webhook de commande payée, Convrail construit un événement order_created dont l’identifiant est dérivé de la commande (ord_ + SHA-256 de order_<orderId>), exactement celui que le pixel a utilisé au paiement. Emails et téléphones sont hashés en SHA-256 à cet instant, avant tout stockage.

  5. Les événements sont regroupés et envoyés à la Conversions API

    Les événements sont regroupés par boutique en lots de 1 000 au maximum, la limite de l’API, et envoyés avec un jeton porteur. Les lots en échec sont rejoués avec un délai exponentiel ; après la dernière tentative ils rejoignent une file des échecs et ouvrent une alerte au lieu de disparaître.

Les événements suivis

Convrail fait correspondre les événements standard de la vitrine à la taxonomie OAIQ. Les montants sont convertis en unités mineures (2599 pour 25,99 EUR) comme l’exige l’API, avec un traitement correct des devises à zéro ou trois décimales.

Correspondance entre les événements de la vitrine et les types OAIQ
Événement boutiqueÉvénement OAIQEnvoyé depuis
page_viewedpage_viewednavigateur
product_viewed, collection_viewedcontents_viewednavigateur
search_submittedpage_viewednavigateur
product_added_to_cartitems_addednavigateur
checkout_startedcheckout_startednavigateur
checkout_completedorder_creatednavigateur et serveur, un seul event_id

Les données personnelles ne sortent jamais en clair

L’advanced matching améliore l’attribution, mais il ne doit pas devenir une fuite de données. Convrail normalise et hashe en SHA-256 les emails, les numéros de téléphone, les prénoms, les noms et les identifiants clients avant de les stocker ou de les envoyer. Seuls ces hashes atteignent OpenAI, avec la ville, le code postal, la région et le pays de la commande, l’adresse IP et le user agent, que l’API d’OpenAI attend en clair pour le rapprochement. Tous ne partent que si le consentement du visiteur le permet.

  • Un garde-fou automatique inspecte chaque envoi et refuse de le transmettre s’il contient un motif d’email, une clé interdite comme email, phone ou first_name, ou un champ hashé qui n’est pas un vrai condensat.
  • Ce garde-fou est couvert par un test automatisé qui tente de faire passer des données personnelles en clair et doit échouer.
  • Les valeurs hashées sont validées comme 64 caractères hexadécimaux minuscules ; tout le reste est rejeté avant l’appel réseau.
  • Les webhooks RGPD sont honorés : une demande de suppression client purge ses événements par identifiant hashé ; une désinstallation purge la boutique.
  • Dans le navigateur, Shopify ne lance le pixel qu’une fois que le visiteur a donné le consentement exigé par votre boutique. Pour la copie serveur d’une commande, c’est le réglage du consentement choisi dans l’application qui s’applique : un refus signale tout de même la vente, sans données personnelles, marquée comme sans consentement.

Une fiabilité que vous pouvez auditer

MécanismeCe qu’il fait
LotsJusqu’à 1 000 événements par requête, envoyés par taille ou après un court délai
ReprisesDélai exponentiel sur les réponses 429 et 5xx ; les réponses 4xx ne sont pas rejouées
File des échecsLes lots qui épuisent leurs tentatives sont conservés avec le statut HTTP et le résumé d’erreur
Rejeu sans doublonLes doublons exacts (même boutique, identifiant et source) sont stockés une fois ; OpenAI déduplique les copies navigateur et serveur par identifiant
Mode testLes nouvelles boutiques démarrent en mode test : les événements sont validés par OpenAI avec validate_only et jamais comptés
Vérification en directVotre clé Ads Manager, votre identifiant de pixel et votre clé Conversions sont vérifiés auprès d’OpenAI à l’enregistrement

L’écran Activité de l’application affiche chaque événement avec sa source, son statut et son horodatage : vous voyez arriver côte à côte un événement navigateur et son jumeau serveur.

Questions fréquentes

Dois-je modifier mon thème pour installer le pixel ?

Non. Sur Shopify, le pixel est enregistré via l’API Web Pixel et s’exécute dans le bac à sable de Shopify. Sur WooCommerce, l’extension l’injecte. La désinstallation le retire complètement.

OpenAI va-t-il compter mes ventes deux fois ?

Non. L’événement navigateur et l’événement serveur partagent le même identifiant, dérivé de la commande (`ord_` + SHA-256 de `order_<orderId>`), et OpenAI déduplique sur cet identifiant. Il est haché parce qu’OpenAI demande qu’aucun numéro de commande n’apparaisse dans une URL. Envoyer les deux est la configuration recommandée : la copie navigateur porte le contexte du clic, la copie serveur porte les données client hashées.

Que se passe-t-il quand la Conversions API est indisponible ?

Les lots sont rejoués avec un délai exponentiel. Si toutes les tentatives échouent, le lot est mis de côté dans une file des échecs avec son erreur, et une alerte s’ouvre dans l’application et par email. Rien n’est perdu en silence.

Quelles données client sont envoyées à OpenAI ?

Des hashes SHA-256 de l’email, du téléphone, du prénom, du nom et de l’identifiant client, et, en clair comme l’attend le rapprochement d’OpenAI, la ville, le code postal, la région et le pays de la commande, l’adresse IP et le user agent. Ils ne partent que si le consentement du visiteur le permet ; sinon, la vente est signalée sans eux et marquée comme sans consentement. Un garde-fou automatique bloque tout envoi contenant des données personnelles en clair.

Puis-je tester sans polluer mes vraies données ?

Oui. Chaque boutique démarre en mode test : les événements partent avec l’indicateur `validate_only` d’OpenAI, ils sont vérifiés sur la forme mais jamais enregistrés. Passez en mode réel depuis les réglages quand vous êtes prêt.

Quelle est la fenêtre d’attribution ?

L’identifiant de clic `oppref` est conservé 7 jours dans un cookie first-party, ce qui correspond à la fenêtre d’attribution au clic d’OpenAI. Les commandes passées dans cette fenêtre portent l’identifiant à la fois dans l’événement pixel et dans l’événement serveur.

Mesurez le canal ChatGPT dès cette semaine

Convrail démarre avec une offre gratuite, et les offres payantes commencent par un essai gratuit. Laissez votre email et vous recevez le lien d'installation dès qu'une place s'ouvre.

Pas de newsletter. Un seul email avec le lien d'installation, rien d'autre.