Tracking e-commerce : mesurer vos ventes et votre tunnel d'achat
Accueil Blog Tracking e-commerce : mesurer vos ventes et votre tunnel d'achat

Tracking e-commerce : mesurer vos ventes et votre tunnel d'achat

Tracking

Jean-Philippe Gronier

Jean-Philippe Gronier

10 juil. 2026

Mesure du tunnel d'achat

Tracking e-commerce : mesurer vos ventes et votre tunnel d'achat

Sur un site vitrine, une mesure approximative reste gênante. Sur une boutique, elle coûte de l'argent, chiffre après chiffre. Les événements GA4, le dataLayer, les pièges qui déraillent la mesure — et les atouts de Sylius.

Article mis à jour en juillet 2026

8 événementsLe schéma GA4 standard pour reconstituer tout le parcours d'achat
Au centimeLes montants doivent être exacts — TTC, remises et frais de port inclus
1 seule foisUn purchase déclenché une seule fois par commande, jamais au rechargement
ServeurLes événements métier Sylius : une source de vérité hors navigateur

Un add_to_cart manquant fausse un taux de conversion ; un purchase compté deux fois gonfle le ROAS d'une campagne qu'on va sur-financer ; un montant HT au lieu de TTC décale tout le reporting revenu — sans que personne ne s'en aperçoive avant le rapprochement comptable.

Que votre boutique tourne sous Sylius, Shopify ou un autre CMS, la logique reste la même : la mesure commence par un plan de marquage clair qui décrit, étape par étape, quel événement porte quelle donnée — avant même d'ouvrir le code du thème.

Le contexte

Pourquoi le tracking e-commerce est plus exigeant

Un site de contenu suit des pages vues et quelques clics. Une boutique doit suivre une chaîne de valeur complète, du premier contact produit jusqu'au paiement encaissé — et parfois au remboursement.

Précision des montants

Un montant erroné ne fausse pas qu'un rapport : il fausse le pilotage des enchères automatiques Google Ads et Meta, qui optimisent directement sur la valeur remontée.

Richesse du catalogue

Identifiant, catégorie, variante (taille, couleur), prix qui varie avec les promotions, niveau de stock. Le tracking doit refléter cette structure sans l'appauvrir.

Dimension post-achat

Une commande peut être annulée, partiellement remboursée, payée en plusieurs fois. Ne capturer que l'instant purchase fige un processus qui continue d'évoluer.

C'est cette combinaison — précision financière, complexité produit, suivi dans la durée — qui explique pourquoi tant de boutiques pilotent leur marketing sur des chiffres approximatifs sans le savoir, sans même pouvoir dire quels canaux contribuent réellement au chiffre d'affaires encaissé.

Le schéma standard

Les événements GA4 e-commerce et leur rôle dans le tunnel

GA4 propose un schéma d'événements standardisé, pensé pour reconstituer l'intégralité du parcours. Chaque événement a un rôle précis et des paramètres attendus, regroupés dans un objet ecommerce qui contient toujours un tableau items.

view_item_list— vue d'une liste de produits (catégorie, recherche, reco) view_item— fiche produit consultée add_to_cart— ajout au panier (quantité + prix réel) begin_checkout— entrée dans le tunnel : mesure de l'abandon add_shipping_info— choix de livraison add_payment_info— moyen de paiement purchase— la conversion + refund (remboursement)
L'entonnoir des 8 événements : de l'exposition d'un produit à l'achat, plus le refund trop souvent oublié. Correctement paramétrés, ils localisent précisément où la boutique perd des clients.
  • view_item_list : l'utilisateur voit une liste de produits (page catégorie, résultats de recherche, reco). Mesure l'exposition avant la consultation individuelle.
  • view_item : sur la fiche produit. Paramètres clés : items (avec item_id, item_name, item_category, price), value et currency.
  • add_to_cart : l'un des signaux les plus utilisés pour le remarketing. Il doit porter la quantité et le prix unitaire réel au moment de l'ajout, pas un prix catalogue générique.
  • begin_checkout : l'entrée dans le tunnel. Le point de mesure de l'abandon de panier le plus scruté, où se révèlent les frictions — formulaire trop long, frais de port découverts tard, moyen de paiement manquant.
  • add_shipping_info : choix du mode de livraison. Isole les abandons liés au coût ou au délai plutôt qu'au produit.
  • add_payment_info : sélection du moyen de paiement, juste avant la validation finale.
  • purchase : l'événement le plus critique. Il doit porter transaction_id (unique, pour la déduplication), value (total TTC, cohérent avec ce qui est encaissé), currency, et le détail items.
  • refund : remboursement total ou partiel d'une commande déjà comptée. Trop souvent absent, il est indispensable pour calculer un chiffre d'affaires « net ».
L'implémentation

Structurer un dataLayer e-commerce propre

Tous ces événements doivent être poussés dans le dataLayer avant que GTM ne déclenche la balise GA4 (ou le pixel publicitaire). La structure attendue : un objet ecommerce avec un tableau items, et pour purchase, l'ensemble des montants. Un exemple propre :

{
  "event": "purchase",
  "ecommerce": {
    "transaction_id": "CMD-2026-004821",
    "value": 129.90,
    "tax": 21.65,
    "shipping": 4.90,
    "currency": "EUR",
    "coupon": "SOLDES10",
    "items": [
      {
        "item_id": "SKU-10234",
        "item_name": "Veste technique impermeable",
        "item_category": "Vetements homme",
        "item_variant": "Bleu marine / L",
        "price": 89.90,
        "quantity": 1
      },
      {
        "item_id": "SKU-88213",
        "item_name": "Ceinture cuir",
        "item_category": "Accessoires",
        "price": 35.00,
        "quantity": 1
      }
    ]
  }
}
  • value doit correspondre exactement au montant encaissé, taxes et frais de port compris.
  • items doit lister chaque ligne avec son prix unitaire réel (après remise appliquée), pas un prix catalogue.
  • transaction_id doit être unique et stable — généralement l'identifiant de commande du back-office, jamais régénéré à chaque rafraîchissement de page.

Cette même structure, posée proprement dans le code, sert de socle à l'envoi vers un Meta Pixel et son API Conversions (pixel + CAPI), ou toute autre balise, sans redévelopper une collecte parallèle. Une collecte unique en amont, dérivée vers GTM, alimente GA4, Google Ads et Meta avec les mêmes valeurs. Pour la mécanique de déclenchement (règles, variables, ordre de chargement), la base reste celle de notre guide dédié à l'installation et la configuration de Google Tag Manager.

À éviter

Les pièges classiques du tracking e-commerce

  • HT vs TTC. Le plus banal et le plus coûteux : envoyer un montant HT dans value alors que le client a payé TTC. L'écart représente le taux de TVA appliqué à tout le chiffre d'affaires. Décider une bonne fois de la convention, identique sur tous les événements et canaux.
  • Frais de port. Inclus dans value ou isolés dans shipping ? GA4 prévoit les deux, mais l'implémentation doit être cohérente et le total value doit correspondre à ce que le client a réellement payé.
  • Codes promo. Un code appliqué doit faire baisser value et, idéalement, être renseigné dans coupon. Transmettre le montant avant remise surévalue les commandes soldées.
  • Commandes annulées ou remboursées. Une annulation avant expédition ne doit pas rester comptée comme vente ferme ; un retour partiel doit déclencher un refund du montant exact. Sinon le CA mesuré diverge durablement du CA encaissé.
  • Doublons de purchase au rechargement. Le plus répandu : si la page de remerciement pousse purchase à chaque chargement, un F5, un retour arrière ou un partage d'URL renvoie l'événement. Le remède : conditionner l'envoi à un transaction_id déjà vu — même logique que la déduplication Pixel/CAPI côté Meta, qui exige un identifiant d'événement partagé.
  • Ventes offline ou par téléphone. Commandes par téléphone, en point de vente ou finalisées par un conseiller échappent au tracking web. Les intégrer suppose une saisie manuelle ou un import de conversions hors-ligne — à ne pas ignorer si une part significative du revenu passe par là.
La tolérance

Réconcilier back-office et analytics

Le chiffre d'affaires GA4 ne sera jamais rigoureusement identique à celui du back-office, et c'est normal. Bloqueurs, refus de consentement, Consent Mode restrictif, échecs de chargement, latence de reporting : un écart résiduel est structurel.

La question utile n'est pas « pourquoi y a-t-il un écart ? » mais « l'écart est-il stable et explicable, ou dérive-t-il ? ». Quelques points stables s'expliquent par le refus de consentement et les pertes navigateur — et se resserrent avec une architecture plus robuste comme le tracking server-side. Un écart qui se creuse d'un mois sur l'autre signale presque toujours un problème d'implémentation récent.

La bonne pratique : documenter cet écart lors de la mise en production, fixer une fourchette de tolérance avec les équipes finance et marketing, et ne s'alarmer que d'une dérive par rapport à cette fourchette. C'est précisément ce que vérifie un audit de tracking mené régulièrement.

Note de terrain — cas client (anonymisé)

Boutique Sylius dont le purchase se déclenchait au seul affichage de la page de confirmation : chaque F5 ou retour arrière regonflait le chiffre d'affaires, et les remboursements n'étaient nulle part. Résultat : un CA GA4 supérieur au réel et un ROAS flatteur mais faux.

Nous avons rebranché la mesure sur les événements métier serveur de Sylius (paiement confirmé, changement d'état) plutôt que sur le navigateur, et ajouté le refund depuis les retours back-office. Le doublon a disparu, le CA net est devenu calculable, et l'écart avec la compta est repassé dans une fourchette stable. La leçon : la source de vérité d'une boutique est côté serveur, pas dans l'onglet du client.

L'atout technique

Spécificités Sylius : événements serveur et plugins open-source

Une boutique Sylius dispose d'un atout que peu de CMS offrent nativement : un cœur applicatif structuré autour d'événements métier côté serveur, déclenchés à chaque étape réelle du cycle de vie d'une commande (création, changement d'état, paiement confirmé, expédition). Ces événements constituent une source de vérité indépendante du navigateur : ni bloqueur, ni script non chargé, ni onglet fermé trop tôt ne peut les priver de données.

C'est un terrain particulièrement favorable pour fiabiliser un purchase ou un refund : plutôt que de reposer sur le seul affichage de la page de confirmation, on déclenche — ou on double — la mesure depuis la confirmation serveur du paiement, ce qui règle une bonne partie du piège de doublon, aussi bien pour GA4 que pour un envoi Meta CAPI.

Éditrice de Sylius et partenaire officiel, Monsieur Biz publie de nombreux plugins open-source, dont un plugin de gestion des scripts et des tags pensé pour intégrer proprement une couche de mesure dans le checkout. L'ensemble est public sur GitHub, et le principe s'applique au-delà de Sylius : sur tout CMS disposant d'événements serveur exploitables (webhooks de paiement, hooks de commande) — y compris Shopify où les webhooks jouent un rôle équivalent — la même logique de fiabilisation se reproduit. C'est précisément notre expertise en tracking e-commerce : brancher une mesure fiable au plus près de la logique métier, quelle que soit la plateforme.

Le pilotage média

Et au-delà de GA4 : Google Ads et Meta

Les événements e-commerce ne peuplent pas que des rapports GA4 : ils alimentent directement les algorithmes d'enchères et permettent d'arbitrer entre canaux en comparant leur contribution réelle au chiffre d'affaires, pas un simple volume de clics.

Google Ads

La conversion « achat » importée (via GA4 ou l'API Conversions) doit porter la même valeur et le même transaction_id que côté analytics, pour éviter tout double comptage.

Meta (Pixel + CAPI)

L'événement Purchase, envoyé via Pixel et API Conversions serveur, attend une structure proche — valeur, devise, identifiants produits — et bénéficie de l'envoi serveur qui limite la perte liée aux bloqueurs.

Le principe commun

Un montant exact, un identifiant de commande stable, un événement envoyé une seule fois par commande. La qualité de la mesure e-commerce conditionne tout le pilotage publicitaire en aval.

Interactif

Où en est votre tracking e-commerce ?

Cochez les événements que vous suivez déjà

Un entonnoir complet suppose les huit événements — le refund compris.

Moins de huit cases ? Il manque une marche à votre entonnoir — et souvent le refund, sans lequel aucun CA net n'est calculable. Les huit, plus la déduplication et un montant TTC exact : votre pilotage média s'appuie enfin sur des chiffres justes.
Questions fréquentes

FAQ sur le tracking e-commerce

Combien d'événements GA4 e-commerce faut-il suivre ?

Huit constituent l'entonnoir complet : view_item_list, view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, purchase et refund. Le refund, souvent oublié, est indispensable pour un chiffre d'affaires net.

Faut-il envoyer les montants en HT ou en TTC ?

Peu importe la convention, tant qu'elle est unique et identique sur tous les événements et tous les canaux (GA4, Ads, Meta). L'incohérence HT/TTC est le piège le plus coûteux, car l'écart vaut le taux de TVA.

Comment éviter les doublons de purchase ?

Conditionner l'envoi à un transaction_id déjà vu (stockage local, session, ou vérification serveur), pour ne déclencher l'événement qu'une fois par commande. Côté Meta, un identifiant d'événement partagé déduplique Pixel et CAPI.

Pourquoi mon CA GA4 diffère-t-il du back-office ?

Un écart résiduel est structurel (bloqueurs, refus de consentement, pertes techniques). Ce qui compte est sa stabilité : un écart stable s'explique, un écart qui se creuse signale un problème d'implémentation récent.

Qu'apporte Sylius au tracking e-commerce ?

Ses événements métier serveur (paiement confirmé, changement d'état) offrent une source de vérité hors navigateur, idéale pour fiabiliser purchase et refund et éliminer les doublons — pour GA4 comme pour Meta CAPI.

Une mesure e-commerce au plus près de votre métier

Plan de marquage, dataLayer propre, déduplication, événements serveur Sylius : nous branchons une mesure fiable de la vue produit au purchase, pour que Google Ads et Meta s'appuient sur des chiffres justes.

Fiabiliser mon tracking e-commerce