ROAS ChatGPT Ads : mesurer le retour sur dépense publicitaire et la vraie rentabilité, produit par produit

Calculer le ROAS de ChatGPT Ads depuis vos commandes, pourquoi le ROAS n'est pas la marge, et les pièges qui le faussent : doublons, remboursements, devises.

Publié le 10 min de lecture

Le ROAS de ChatGPT Ads, c’est le chiffre d’affaires des commandes attribuées à ChatGPT Ads divisé par la dépense ChatGPT Ads, sur la même période. Il dit combien chaque euro dépensé a rapporté de chiffre d’affaires, pas si vous avez gagné de l’argent. Pour le savoir, retirez le coût d’achat de ce que vous avez vendu et la dépense publicitaire, produit par produit, à partir de vos propres commandes.

ROAS, marge brute et marge nette : trois questions différentes

Les plateformes publicitaires affichent le ROAS parce qu’il ne demande que le chiffre d’affaires et la dépense. Un commerçant, lui, vit de sa marge. Les trois indicateurs répondent à des questions différentes, et les confondre est l’erreur la plus coûteuse de l’acquisition payante.

IndicateurFormuleRépond à
ROASChiffre d’affaires publicitaire / dépense publicitaireCombien de chiffre d’affaires chaque euro dépensé a-t-il rapporté ?
Marge brute sur les ventes publicitairesChiffre d’affaires publicitaire moins le coût d’achat des unités venduesQue reste-t-il des ventes une fois la marchandise payée ?
Marge nette après publicitéMarge brute moins la dépense publicitaireLa publicité sur ce produit a-t-elle fait gagner ou perdre de l’argent ?

Un exemple chiffré, pour un produit sur 30 jours :

  • Chiffre d’affaires publicitaire : 2 967 USD pour 23 unités à 129 USD.
  • Coût d’achat : 74 USD par unité, soit 1 702 USD.
  • Dépense publicitaire : 410 USD.
  • ROAS : 2 967 / 410 = 7,2.
  • Marge brute : 2 967 moins 1 702 = 1 265 USD.
  • Marge nette après publicité : 1 265 moins 410 = 855 USD.

Prenons un second produit, avec un ROAS d’apparence tout à fait honorable de 2,5 : 1 000 USD de chiffre d’affaires publicitaire pour 400 USD de dépense, mais 700 USD de coût d’achat. La marge brute est de 300 USD ; la marge nette après publicité est de moins 100 USD. Le ROAS semblait correct ; le produit perdait de l’argent à chaque fois qu’il était mis en avant. Seule la marge nette par produit le montre.

La livraison, les frais de paiement et les retours réduisent encore la marge. Intégrez-les à votre propre modèle si vous les avez par commande ; la version honnête minimale, c’est le coût d’achat plus la dépense publicitaire.

D’où vient chaque chiffre

Le ROAS et la marge combinent deux sources de données qui ne vivent jamais dans le même système.

La dépense vient d’OpenAI

La référence insights de l’API Ads d’OpenAI expose des indicateurs de diffusion (impressions, clicks, spend, ctr, cpc, cpm) et des champs de conversion (conversions, click_through_conversions, view_through_conversions), agrégés au niveau ad_account, campaign, ad_group ou ad, par heure, jour ou mois. La dépense est exprimée dans la devise du compte publicitaire. On y trouve aussi order_created_attributed_sales, défini comme « Attributed purchase value across goal and non-goal order_created events ».

Les insights peuvent être segmentés par product. Lors de nos propres tests sur l’API, le segment produit renvoyait des données de diffusion comme la dépense, mais aucune conversion. OpenAI peut donc vous dire ce que chaque produit vous a coûté en publicité ; il ne peut pas, au niveau produit, vous dire ce que chaque produit a vendu.

Le chiffre d’affaires et les coûts viennent de votre boutique

Vos commandes contiennent ce qu’OpenAI n’a pas : le montant payé de chaque commande, les lignes de commande, le coût d’achat de chaque variante (le « Coût par article » de Shopify ou votre propre champ de coût), les remboursements et les annulations. Rapprocher les deux donne le chiffre d’affaires publicitaire par produit, la dépense par produit, et donc la marge par produit.

La clé de rapprochement est le produit. La dépense est rapportée par article du flux ; les commandes portent des identifiants de variante dans leurs lignes. Tant que l’item_id de votre flux renvoie à une variante, les deux se rejoignent.

Rattacher chaque commande à la publicité ou à l’organique

Avant de calculer un ROAS, il faut savoir quelles commandes la publicité a produites. Deux types de trafic ChatGPT arrivent sur votre boutique : les résultats produit organiques tirés de votre flux, qui ne coûtent rien par clic, et les emplacements payants. Le centre d’aide d’OpenAI décrit les annonces comme séparées de la réponse et signalées comme sponsorisées, et les clics publicitaires arrivent sur votre site avec un identifiant oppref, que la référence Measurement Pixel décrit comme capté depuis l’URL d’atterrissage et conservé dans un cookie first-party.

Une règle fixe appliquée à chaque commande rend la séparation reproductible :

Signal sur la commandeCompté comme
L’URL d’atterrissage contient opprefChatGPT Ads
utm_source vaut chatgpt ou openai avec un utm_medium payant (cpc, ppc, paid, ads)ChatGPT Ads
utm_source vaut chatgpt ou openai avec un autre mediumChatGPT organique
Le référent est chatgpt.com, chat.openai.com ou openai.comChatGPT organique
Aucun des signaux ci-dessusAutre canal

Le ROAS n’utilise que les lignes publicitaires. Mettre le chiffre d’affaires organique au numérateur gonfle le ROAS avec des ventes que la campagne n’a pas achetées, et c’est ainsi que l’on augmente le budget de campagnes qui ne rapportent pas. La méthode complète, et la raison pour laquelle l’ordre des règles compte, sont dans ChatGPT organique ou ChatGPT Ads : l’attribution.

Votre chiffre et celui de l’Ads Manager

Attendez-vous à ce qu’ils diffèrent. Ils ne mesurent pas la même chose, et savoir pourquoi évite beaucoup de recherches inutiles.

Ads ManagerVotre décompte à partir des commandes
Ce qui est comptéLes événements de conversion reçus et attribués par OpenAILes commandes payées dont l’URL d’atterrissage portait l’identifiant publicitaire
FenêtreFenêtre de clic de 7, 14 ou 30 jours (30 par défaut dans l’API insights), plus une fenêtre post-affichage d’un jour quand elle est disponibleLa session qui a mené à la commande
Remboursements et annulationsUne conversion déjà envoyée n’est pas retirée par la Conversions APIRetirés du chiffre d’affaires quand la commande est remboursée ou annulée
DeviseCelle du compte publicitaireCelle de la boutique

La référence de la Conversions API indique que l’attribution post-clic « uses the applicable configured click window » et que « View-through conversions use a fixed one-day window after an eligible ad impression », le clic l’emportant quand les deux s’appliquent. L’API insights permet de demander explicitement la fenêtre de clic (7, 14 ou 30 jours) et la fenêtre d’affichage (0 ou 1 jour). Une conversion post-affichage n’a pas de clic, donc pas d’oppref dans aucune URL : elle peut apparaître dans l’Ads Manager sans jamais apparaître dans un décompte fondé sur les commandes. Aucun des deux chiffres n’est faux ; indiquez lequel vous utilisez, et ne les mélangez pas dans un même ratio.

Les cinq pièges qui faussent le ROAS de ChatGPT Ads

1. Compter deux fois la même vente

Si le pixel et la Conversions API envoient tous deux un achat, OpenAI ne les dédoublonne que s’ils partagent un identifiant. La référence demande de « reuse the same value as the API id and pixel event_id » sous le même Pixel ID ; OpenAI traite alors « the first event it receives for a matching key and ignores later duplicates ». Sans identifiant commun, chaque commande compte deux fois dans l’Ads Manager et le ROAS double sur le papier. La façon de construire cet identifiant commun est expliquée dans Pixel OAIQ ou Conversions API.

2. Garder les commandes remboursées et annulées dans le chiffre d’affaires

Une conversion envoyée à OpenAI reste envoyée. Si vous calculez le ROAS à partir de vos commandes, retirez celles qui ont été remboursées ou annulées après coup, sinon le chiffre est flatteur exactement à hauteur de votre taux de remboursement. Conservez le statut de la commande et recalculez ; ne supprimez pas l’historique.

3. Mélanger les devises

La dépense arrive dans la devise du compte publicitaire ; le chiffre d’affaires est dans celle de la boutique. Diviser des euros de chiffre d’affaires par des dollars de dépense donne un nombre qui ressemble à un ROAS et ne veut rien dire. Soit vous convertissez avec un taux et une date indiqués, soit vous refusez de calculer la marge et vous le dites. Convrail affiche chaque montant dans sa propre devise et laisse la marge vide quand les deux diffèrent, plutôt que d’inventer une conversion.

4. Considérer un coût inconnu comme nul

Un produit sans coût d’achat a une marge inconnue, pas une marge de 100 %. Traiter le coût manquant comme zéro transforme chacun de ces produits en vedette et pousse le budget vers des produits qui perdent peut-être de l’argent. Laissez la marge vide et complétez les coûts.

5. Lire une seule journée

La dépense est rapportée par jour ; les commandes arrivent quand elles arrivent, et un clic d’aujourd’hui peut convertir quelques jours plus tard dans la fenêtre de clic. Le ROAS quotidien varie pour des raisons qui n’ont rien à voir avec la performance. Lisez des fenêtres de 7 ou 30 jours, et comparez ce qui est comparable.

Transformer les chiffres en décisions

La marge par produit sert à déplacer du budget. Un jeu de règles simple et défendable :

  1. Classez les produits par marge nette après publicité, les pertes en premier.
  2. Mettez en pause ou excluez les produits qui perdent de l’argent sur une période significative, avec un seuil de perte minimal pour que le bruit ne déclenche rien.
  3. Laissez tourner les produits encore en test : un produit qui a peu de dépense n’a encore rien prouvé, dans un sens comme dans l’autre.
  4. Arrêtez de promouvoir ce que vous ne pouvez pas expédier. Un produit en rupture avec des annonces actives, c’est de l’argent perdu.
  5. Plafonnez les enchères pour qu’une campagne ne puisse pas trop dépenser pendant que vous ne regardez pas.

L’API Ads d’OpenAI expose les campagnes et les groupes d’annonces sur lesquels portent ces décisions : elles peuvent donc être appliquées depuis un outil plutôt qu’à la main dans l’Ads Manager.

Comment Convrail le calcule

Convrail fait ce rapprochement pour vous. Il rattache chaque commande payée à ChatGPT Ads ou à ChatGPT organique selon la règle ci-dessus et conserve la preuve sur la commande ; il importe chaque jour la dépense par produit depuis votre compte ChatGPT Ads ; et il lit le coût d’achat des variantes dans votre boutique. L’écran Rentabilité affiche ensuite, pour chaque produit sur les 30 derniers jours, la dépense publicitaire, le chiffre d’affaires, les unités vendues, la marge nette et le ROAS, avec les produits à perte en premier, les produits en rupture encore promus signalés, et les coûts manquants ou les devises différentes indiqués plutôt que devinés.

Depuis le même écran, vous pouvez limiter vos annonces aux produits qui rapportent, mettre une campagne en pause ou changer une enchère, et activer des garde-fous quotidiens (garder les annonces sur les produits qui ne perdent pas d’argent, ne jamais laisser une enchère dépasser votre plafond), chaque changement étant inscrit dans un journal. Voir l’attribution des ventes et les offres sur la page des tarifs.

TâchePar vous-mêmeAvec Convrail
Publicité ou organique, par commandeAnalyser les URL d’atterrissage et les référents, conserver la preuveRègle fixe, preuve conservée sur chaque commande
Dépense par produitAppeler l’API insights chaque jour, segmenter par produit, stockerImportée chaque jour depuis votre compte ChatGPT Ads
Marge par produitRapprocher dépense, lignes de commande et coûts d’achat, gérer les devisesMarge nette et ROAS par produit, pertes en premier
Passer à l’actionMettre en pause, changer les enchères et les sélections de produits dans l’Ads ManagerNe diffuser que ce qui rapporte, garde-fous, journal des changements

En résumé

Le ROAS est un rapport entre chiffre d’affaires et dépense ; la rentabilité, c’est ce qui reste une fois la marchandise et la publicité payées. Calculez le ROAS sur les seules commandes attribuées à la publicité, remboursements déduits, dans une seule devise, sur une fenêtre assez longue pour être significative. Puis allez un cran plus loin et calculez la marge nette par produit, car c’est elle qui vous dit quelles annonces garder.

Sources

Questions fréquentes

Comment se calcule le ROAS de ChatGPT Ads ?

Le chiffre d'affaires des commandes attribuées à ChatGPT Ads, divisé par la dépense ChatGPT Ads sur la même période. Le chiffre d'affaires des commandes ChatGPT organiques reste hors du numérateur, puisqu'aucune dépense publicitaire ne l'a produit.

Un ROAS de 3, est-ce rentable ?

Tout dépend de votre marge. Si les produits mis en avant vous coûtent 60 % de leur prix, un ROAS de 3 laisse 3 moins 1,8, puis moins 1 de dépense, soit 0,2 par euro dépensé, avant livraison et frais. Calculez la marge nette, pas seulement le ROAS.

Pourquoi mon ROAS diffère-t-il de celui de l'Ads Manager ?

Ils ne comptent pas la même chose. OpenAI attribue les événements de conversion reçus dans sa fenêtre de clic (7, 14 ou 30 jours) et, quand elle est disponible, dans une fenêtre post-affichage d'un jour. Votre propre décompte rattache les commandes payées au clic publicitaire présent dans leur URL d'atterrissage, et retire les remboursements et annulations qu'une conversion déjà envoyée ne peut pas refléter.

L'API Ads peut-elle donner le chiffre d'affaires par produit ?

Le point d'accès insights peut être segmenté par produit pour les données de diffusion comme la dépense, mais lors de nos tests sur l'API, les conversions n'étaient pas disponibles au niveau produit. Le chiffre d'affaires par produit vient de vos propres commandes, rapprochées de la dépense par produit.

Faut-il mettre en pause un produit dont le ROAS est faible ?

Mettez en pause les produits qui perdent de l'argent une fois déduits le coût d'achat et la dépense publicitaire, sur une période assez longue pour être significative, et laissez tourner ceux qui sont encore en test. Un ROAS faible sur un produit à forte marge peut rester rentable ; un ROAS correct sur un produit à faible marge peut perdre de l'argent.

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.