Revenue
Revenue répond à la question derrière chaque chiffre de visibilité : est-ce que ça vend ? Skoup lit les commandes de la boutique (webhooks Shopify) et attribue chacune, en last touch, à une surface IA quand son referrer, son utm_source ou son ref y pointe (ChatGPT, Claude, Gemini, Perplexity…). Cinq vues partagent ces données :
- Attribution — commandes et CA venus de l’IA face à toute la boutique, par surface et par produit, avec l’évolution sur la période précédente.
- Commandes — les commandes attribuées à l’IA elles-mêmes, une par une, sans aucune donnée client.
- Trafic — les visites et conversions référées par l’IA, mesurées par Skoup Analytics installé sur le site de la marque, avec le premier contact IA de chaque conversion. C’est la seule vue d’une marque SaaS ou d’un établissement physique, qui n’a pas de boutique.
- Abonnements (SaaS) — les nouveaux abonnements et le nouveau MRR lus dans le Stripe de la marque (clé restreinte en lecture seule), la part apportée par l’IA et, chaque semaine, le nouveau MRR face à la visibilité IA.
- Corrélation — visibilité IA et CA IA côte à côte, semaine par semaine, avec les correctifs publiés chaque semaine.
Je veux…
| Je veux… | Appel |
|---|---|
| Savoir combien l’IA a vendu ce trimestre | GET /v1/brands/{brand}/attribution?market=FR&period=90d |
| Lister les commandes apportées par ChatGPT | GET /v1/brands/{brand}/orders?surface=chatgpt |
| Lire le trafic IA mesuré par le script | GET /v1/brands/{brand}/traffic?market=FR |
| Savoir quelle part des conversions a commencé chez un assistant | GET /v1/brands/{brand}/traffic?market=FR — lire first_touch |
| Savoir quelle part des commandes a commencé chez un assistant (boutique Shopify, pixel) | GET /v1/brands/{brand}/attribution?market=FR — lire first_touch |
| Savoir combien d’inscriptions ou d’appels l’IA apporte (SaaS, établissement) | GET /v1/brands/{brand}/traffic?market=FR — lire ai.key_events et ai.conversion_rate |
| Voir si la visibilité fait bouger le CA | GET /v1/brands/{brand}/correlation?market=FR&category=Gravel |
| Savoir combien d’abonnements et de MRR l’IA apporte (SaaS) | GET /v1/brands/{brand}/subscriptions?market=FR |
| Être prévenu de chaque commande IA | order.attributed |
Scope : revenue:read.
Scénario : poster chaque vente IA dans Slack
if (event.type === 'order.attributed') {
const order = event.data.object
await slack.post(`🛒 ${order.ai_surface} a apporté une commande (${order.country})`)
}Pièges
- L’attribution est last touch, lue sur la commande elle-même : un acheteur qui a interrogé ChatGPT puis est revenu par Google est attribué à Google. Le bloc
first_touchde l’attribution dit l’inverse, pour les commandes que le pixel Skoup Analytics a rapprochées de leur visite (boutique Shopify, voir Skoup Analytics) :orders= commandes rapprochées,ai_orderscelles dont l’acheteur était d’abord venu par un assistant. - Jamais de donnée client : les commandes portent un pays, des lignes et des montants — ni nom, ni e-mail, ni adresse.
nullavant les données : les totaux d’attribution restentnulljusqu’à la première commande, les blocs de trafic jusqu’à la première visite mesurée par le script (la journée en cours n’est jamais comptée), lesweeksde la corrélation sont vides jusqu’à la première commande.- Trafic et corrélation demandent le plan Growth ou supérieur : sur Starter, ils répondent
403plan_feature_unavailable(les clés de test les atteignent toujours). L’attribution et les commandes sont ouvertes à tous les plans. - Une conversion n’est pas la même selon la marque :
conversion_metricvauttransactions(événementspurchasedu script) pour une boutique etkey_events(événements nommés envoyés par le site : inscription, démo, appel, réservation…) pour un SaaS ou un établissement. Les événements comptés se choisissent dans l’app (Réglages › Intégrations › Skoup Analytics › Événements clés), tous les événements nommés par défaut. Un site qui n’envoie jamais la métrique rendconversion_rate: null, jamais 0. first_touchn’est pasai: les lignes par surface sont en dernier contact (la visite qui a converti) ;first_touchcompte les conversions dont le visiteur était d’abord venu par un assistant dans leswindow_daysderniers jours, même s’il est revenu par Google. Les deux ne s’additionnent pas. Attribution, commandes et corrélation n’existent que pour une boutique : ailleurs elles répondent403capability_unavailable.- Un abonnement n’est attribué à l’IA que si sa provenance est dans Stripe : Skoup lit les métadonnées de l’abonnement puis du client, clés
referrer,utm_sourceoulanding_url(préfixéesskoup_si vous voulez les isoler). Avec Stripe Checkout, passez-les danssubscription_data[metadata]. Sans elles, l’abonnement compte dans le total mais jamais dans la part IA —tracked_sharedit quelle part en porte une. Le MRR est le prix catalogue mensualisé, hors remises et taxes ; un prix par paliers ou à l’usage n’a pas de MRR. Réservé aux marques SaaS (403capability_unavailablesinon) ;weeksest vide sans le plan Growth. - Les commandes de test sont exclues.
order.attributedpart une seule fois, à la création — un webhook Shopify rejoué ne le renvoie jamais.
Last updated on