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.
Suivi des conversions
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.
Ventes suivies aujourd’hui
3 ventes envoyées à OpenAI, 0 doublon
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.
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.
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.
Enregistré par la Web Pixel API officielle de Shopify, sans toucher à votre thème. Sur WooCommerce, l’extension l’ajoute pour vous.
Les commandes payées partent par la Conversions API depuis vos webhooks de commande, là où les bloqueurs ne vont pas.
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.
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.
Emails, téléphones et noms sont normalisés exactement comme OpenAI le documente, puis hachés avant tout stockage ou envoi.
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.
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.
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.
L’écran Activité liste chaque événement, sa provenance et son envoi : vous pouvez vérifier n’importe quelle vente vous-même.
Sur Shopify ou WooCommerce. Rien à changer dans votre thème.
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.
Visites, paniers et commandes arrivent depuis le navigateur et depuis votre serveur, dédupliqués, avec une alerte si quelque chose casse.
Pour les équipes techniques et les agences : le trajet de chaque événement, ce qui est envoyé à OpenAI, et la gestion des échecs.
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
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.
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.
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.
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.
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.
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.
| Événement boutique | Événement OAIQ | Envoyé depuis |
|---|---|---|
| page_viewed | page_viewed | navigateur |
| product_viewed, collection_viewed | contents_viewed | navigateur |
| search_submitted | page_viewed | navigateur |
| product_added_to_cart | items_added | navigateur |
| checkout_started | checkout_started | navigateur |
| checkout_completed | order_created | navigateur et serveur, un seul event_id |
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.
email, phone ou first_name, ou un champ hashé qui n’est pas un vrai condensat.| Mécanisme | Ce qu’il fait |
|---|---|
| Lots | Jusqu’à 1 000 événements par requête, envoyés par taille ou après un court délai |
| Reprises | Délai exponentiel sur les réponses 429 et 5xx ; les réponses 4xx ne sont pas rejouées |
| File des échecs | Les lots qui épuisent leurs tentatives sont conservés avec le statut HTTP et le résumé d’erreur |
| Rejeu sans doublon | Les doublons exacts (même boutique, identifiant et source) sont stockés une fois ; OpenAI déduplique les copies navigateur et serveur par identifiant |
| Mode test | Les 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 direct | Votre 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.
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.
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.
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.
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.
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.
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.
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.