Tracking e-commerce GA4 : configurer le suivi des transactions
Implémentez le tracking e-commerce GA4 pas à pas : événements purchase, add_to_cart, data layer GTM, paramètres obligatoires et débogage pour un suivi fiable de vos transactions.
En bref — Le tracking e-commerce GA4 repose sur une série d'événements standardisés (view_item, add_to_cart, purchase…) alimentés par un data layer structuré. Une implémentation correcte vous donne une visibilité complète sur l'entonnoir d'achat et alimente vos campagnes Google Ads avec des données de conversion fiables.
Pourquoi le tracking e-commerce GA4 est critique
Le suivi des revenus est le fondement du pilotage ROI de toute boutique en ligne. Sans tracking transaction fiable :
- Vos campagnes Google Shopping et Performance Max optimisent dans le vide
- Vous ne pouvez pas calculer le ROAS réel par canal
- Les rapports GA4 restent vides dans la section Monétisation
- L'attribution cross-canal est impossible
GA4 a repris et amélioré le système d'Enhanced E-commerce d'Universal Analytics, en le normalisant autour d'événements nommés et documentés. La logique reste la même : pousser des données structurées dans un dataLayer JavaScript, que Google Tag Manager capte et transmet à GA4.
Les événements e-commerce GA4
GA4 définit une liste d'événements e-commerce standardisés à implémenter selon votre entonnoir :
| Événement | Déclenchement | Priorité |
|---|---|---|
| view_item_list | Affichage d'une liste de produits | Secondaire |
| select_item | Clic sur un produit dans une liste | Secondaire |
| view_item | Affichage d'une fiche produit | Haute |
| add_to_cart | Ajout au panier | Haute |
| remove_from_cart | Suppression du panier | Secondaire |
| view_cart | Affichage du panier | Moyenne |
| begin_checkout | Début du processus de commande | Haute |
| add_payment_info | Saisie des informations de paiement | Moyenne |
| add_shipping_info | Saisie des informations de livraison | Moyenne |
| purchase | Confirmation de commande | Critique |
| refund | Remboursement | Haute |
En pratique, commencez par les événements haute priorité : view_item, add_to_cart, begin_checkout et purchase. Ces quatre événements vous donnent un entonnoir d'achat complet.
Structure du data layer
Le data layer est un objet JavaScript qui stocke les données d'événements sur votre page. GTM écoute cet objet et déclenche les tags GA4 en conséquence.
Événement view_item (fiche produit)
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null }); // Vider l'objet précédent
window.dataLayer.push({
event: 'view_item',
ecommerce: {
currency: 'EUR',
value: 49.99,
items: [
{
item_id: 'SKU-12345',
item_name: 'T-shirt coton bio',
item_brand: 'MaBoutique',
item_category: 'Vêtements',
item_category2: 'T-shirts',
item_variant: 'Bleu / L',
price: 49.99,
quantity: 1
}
]
}
});
Événement add_to_cart (ajout panier)
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: 'EUR',
value: 49.99,
items: [
{
item_id: 'SKU-12345',
item_name: 'T-shirt coton bio',
item_brand: 'MaBoutique',
item_category: 'Vêtements',
item_variant: 'Bleu / L',
price: 49.99,
quantity: 1
}
]
}
});
Événement begin_checkout (début de commande)
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'begin_checkout',
ecommerce: {
currency: 'EUR',
value: 74.98,
coupon: 'PROMO10', // si applicable
items: [
{
item_id: 'SKU-12345',
item_name: 'T-shirt coton bio',
item_brand: 'MaBoutique',
item_category: 'Vêtements',
item_variant: 'Bleu / L',
price: 49.99,
quantity: 1
},
{
item_id: 'SKU-67890',
item_name: 'Casquette logo',
item_brand: 'MaBoutique',
item_category: 'Accessoires',
price: 24.99,
quantity: 1
}
]
}
});
Événement purchase (confirmation de commande)
L'événement purchase est le plus critique. Il doit être déclenché une seule fois, sur la page de confirmation de commande, avec l'identifiant de transaction unique.
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'CMD-2026-98765', // Obligatoire — identifiant unique
value: 67.48, // Obligatoire — montant HT ou TTC (choisir et rester cohérent)
tax: 11.24, // Montant TVA
shipping: 4.99, // Frais de livraison
currency: 'EUR', // Obligatoire — code ISO 4217
coupon: 'PROMO10',
items: [
{
item_id: 'SKU-12345',
item_name: 'T-shirt coton bio',
item_brand: 'MaBoutique',
item_category: 'Vêtements',
item_variant: 'Bleu / L',
price: 49.99,
quantity: 1
},
{
item_id: 'SKU-67890',
item_name: 'Casquette logo',
item_brand: 'MaBoutique',
item_category: 'Accessoires',
price: 24.99,
quantity: 1
}
]
}
});
Paramètres obligatoires pour purchase : transaction_id, value, currency. Sans ces trois paramètres, GA4 rejette l'événement ou le comptabilise sans revenu.
Paramètres d'article importants
Voici les paramètres recommandés pour chaque objet dans le tableau items :
| Paramètre | Type | Description | Obligatoire |
|---|---|---|---|
| item_id | String | SKU ou identifiant produit unique | Oui (ou item_name) |
| item_name | String | Nom du produit | Oui (ou item_id) |
| price | Number | Prix unitaire | Recommandé |
| quantity | Integer | Quantité | Recommandé |
| item_brand | String | Marque | Optionnel |
| item_category | String | Catégorie principale | Optionnel |
| item_category2 | String | Sous-catégorie | Optionnel |
| item_variant | String | Variante (couleur, taille…) | Optionnel |
| item_list_id | String | ID de la liste source | Optionnel |
| item_list_name | String | Nom de la liste source | Optionnel |
| coupon | String | Code promo appliqué | Optionnel |
Configuration dans Google Tag Manager
Une fois le data layer en place, configurez GTM pour envoyer les événements à GA4.
Étape 1 : Créer les variables data layer
Dans GTM, allez dans Variables > Variables définies par l'utilisateur > Nouvelle.
Créez une variable "Objet data layer" nommée DL - Ecommerce Object avec le chemin ecommerce. Créez également :
DL - Transaction ID→ecommerce.transaction_idDL - Value→ecommerce.valueDL - Currency→ecommerce.currency
Étape 2 : Créer les déclencheurs
Pour chaque événement, créez un déclencheur de type "Événement personnalisé" :
- Nom de l'événement :
purchase(ouadd_to_cart,begin_checkout, etc.) - Cochez "Utiliser les expressions régulières" uniquement si vous regroupez plusieurs événements
Étape 3 : Créer les tags GA4
Créez un tag de type Google Analytics : événement GA4 pour chaque événement ou un seul tag générique.
Pour l'approche générique (un seul tag pour tous les événements e-commerce) :
- Configuration GA4 : sélectionnez votre tag de configuration GA4
- Nom de l'événement :
{{Event}}(la variable GTM qui retourne le nom de l'événement dataLayer) - Paramètres d'événement : ajoutez
ecommerceavec la valeur{{DL - Ecommerce Object}} - Déclencheur : créez un déclencheur "Événement personnalisé" qui correspond à l'expression régulière
view_item|add_to_cart|begin_checkout|purchase|refund
Éviter la double comptabilisation du purchase
Le risque principal sur purchase est qu'un rechargement de la page de confirmation déclenche l'événement plusieurs fois. Solutions :
- Côté serveur : marquez la transaction comme "vue" dans votre base de données et conditionnez l'affichage du dataLayer
- Côté GTM : utilisez une variable cookie ou localStorage pour vérifier si la transaction a déjà été envoyée
- Dans GA4 : activez la déduplication via l'identifiant de transaction (GA4 ignore automatiquement les doublons avec le même
transaction_idsur une courte fenêtre)
Débogage du tracking e-commerce
Mode Aperçu GTM
Activez le mode Aperçu GTM (bouton Preview dans GTM) et naviguez sur votre site. Pour chaque événement dataLayer déclenché, GTM affiche :
- L'objet dataLayer complet
- Les tags déclenchés ou non
- Les variables évaluées
Vérifiez que l'objet ecommerce est bien peuplé pour chaque événement et que le tag GA4 se déclenche.
Rapport Temps réel GA4
Dans GA4 > Rapports > Temps réel, filtrez par l'événement purchase. Chaque transaction de test doit apparaître dans les 60 secondes avec le bon montant.
Extension Google Analytics Debugger
L'extension Chrome GA Debugger (ou DebugView dans GA4) affiche les hits envoyés à GA4 en temps réel avec tous leurs paramètres. C'est l'outil le plus précis pour vérifier que transaction_id, value et currency sont correctement transmis.
Rapport DebugView GA4
Dans GA4 > Configurer > DebugView, activez le mode debug en ajoutant le paramètre debug_mode: true dans votre tag de configuration GA4 (en test uniquement). Vous voyez chaque événement en temps réel avec ses paramètres.
Les rapports e-commerce dans GA4
Une fois le tracking actif, les données alimentent la section Monétisation dans GA4 :
- Vue d'ensemble : revenus, transactions, valeur moyenne de commande, ARPU
- Transactions : liste des transactions avec montant, produits, date
- Achat article : revenus et quantités par produit (basé sur
item_nameouitem_id) - Catégories : performances par
item_category
Les rapports apparaissent généralement dans les 24 à 48 heures après l'activation du tracking. Les données en temps réel sont visibles immédiatement dans le rapport Temps réel.
FAQ : tracking e-commerce GA4
Faut-il inclure la TVA dans le paramètre value ?
C'est à vous de décider, mais vous devez être cohérent. La plupart des e-commerçants B2C utilisent le montant TTC (ce que paie réellement le client). Les B2B préfèrent le HT. L'important est de ne pas changer de logique en cours de route pour ne pas créer de rupture dans vos données historiques. Renseignez séparément le paramètre tax pour garder la visibilité sur la TVA.
Comment suivre les remboursements (refund) ?
L'événement refund suit exactement la même structure que purchase, avec le transaction_id de la commande remboursée et les produits concernés. Un remboursement partiel ne liste que les articles remboursés avec leurs quantités. GA4 déduit automatiquement les revenus correspondants de vos rapports Monétisation.
Mon CMS (Shopify, WooCommerce, Prestashop) gère-t-il le tracking GA4 automatiquement ?
Partiellement. Les plugins officiels GA4 de Shopify et WooCommerce gèrent le data layer e-commerce de base (purchase, add_to_cart), mais la configuration fine (paramètres custom, gestion du Consent Mode, événements avancés) nécessite souvent des ajustements via GTM. Vérifiez toujours avec DebugView que les paramètres transaction_id, value et currency sont correctement envoyés.
Pourquoi mes revenus GA4 sont-ils inférieurs à ceux de mon back-office ?
Plusieurs causes possibles : le Consent Mode réduit le suivi pour les utilisateurs ayant refusé les cookies (GA4 modélise mais ne collecte pas les données réelles), des bloqueurs de publicités bloquent les tags GTM, ou l'événement purchase ne se déclenche pas sur tous les canaux de paiement (certains prestataires de paiement redirigent vers des pages externes). Vérifiez le taux de "transactions trackées / transactions réelles" dans votre back-office sur une période de référence.
Kenoby implémente et audite le tracking e-commerce GA4 pour vous assurer que chaque euro de revenu est correctement mesuré et attribué.