Des doublons dans les statistiques : les causes réelles
Un doublon (une même commande comptée deux fois) a presque toujours une cause matérielle repérable : un conteneur posé deux fois, une balise codée en dur en plus de celle gérée par le gestionnaire de balises, un évènement purchase qui se redéclenche au rechargement, ou sur Shopify deux pixels qui coexistent pour le même outil.
Les situations que je traite
- Le nombre d’achats dans GA4 dépasse nettement le nombre de commandes réelles
- Le chiffre d’affaires des rapports ecommerce est visiblement supérieur au réel
- Un même évènement Purchase apparaît deux fois dans le gestionnaire d’évènements Meta
- Les doublons apparaissent surtout quand un client actualise la page de confirmation
- Le doublon est apparu après l’ajout d’un module de tracking supplémentaire
- Sur Shopify, le même achat est visible via le canal officiel et un pixel personnalisé
Comment repérer un doublon concrètement
-
1. Onglet Réseau : compter les requêtes
Sur la page de confirmation, outils de développement (F12), onglet Réseau, filtre sur collect (Google) ou tr (Meta). Un évènement légitime envoie une seule requête par outil. Deux requêtes avec le même transaction_id ou event_id au même moment : doublon confirmé, pas supposé.
-
2. Vérifier le nombre de conteneurs GTM chargés
Toujours dans Réseau, filtre sur gtm.js. Si ce script apparaît deux fois avec le même identifiant (GTM-XXXXXXX), il est posé deux fois : une fois en dur dans le thème, une fois via un module qui le pose aussi de son côté.
-
3. Mode aperçu GTM : une balise qui se déclenche deux fois
Pour l’évènement purchase, je regarde si la même balise apparaît deux fois dans les balises déclenchées sur un seul chargement de page. Si oui, déclencheur dupliqué, ou balise identique codée en dur en parallèle, hors GTM.
-
4. Rechercher une balise codée en dur dans le code source
Recherche (Ctrl+F sur « Afficher le code source ») de gtag(, fbq( ou le nom du conteneur GTM. Un appel trouvé à côté d’un GTM qui gère déjà cette balise confirme la balise en dur comme cause : elle doit être retirée du thème.
-
5. Tester le rechargement de la page de confirmation
Sur la page de remerciement, j’actualise (F5) puis reviens en arrière et réaccède à l’URL. Si purchase se redéclenche à chaque rechargement, aucune protection contre le rejeu n’existe : c’est la cause la plus fréquente de doublons visibles dans le temps.
-
6. Sur Shopify : canal d’application vs pixels personnalisés
Paramètres > Évènements client, liste des pixels actifs. Si le même outil apparaît à la fois comme application officielle et comme pixel personnalisé manuel, les deux envoient en parallèle : il faut désactiver l’un des deux, pas les deux.
Une fois la cause identifiée
Le correctif dépend de la cause trouvée, jamais d’une hypothèse générale :
- Conteneur GTM en double : retirer le point posé en dur dans le thème une fois qu’un module gère déjà GTM proprement.
- Balise codée en dur en parallèle de GTM : la retirer du thème et laisser GTM piloter l’évènement seul.
- Rejeu de purchase : ajouter une protection basée sur le transaction_id (stockage local ou vérification dataLayer).
- Double pixel Shopify : garder un seul canal actif par outil, officiel ou personnalisé selon l’usage réel.
Pour aller plus loin
-
Installer Google Tag Manager sur Shopify
Poser le conteneur une seule fois, en tenant compte du nouveau checkout.
-
Pixel Meta et API de conversions
La déduplication par event_id entre pixel navigateur et envoi serveur.
-
Vérifier une balise sans outil payant
Mode aperçu GTM, Tag Assistant, Meta Pixel Helper et onglet Réseau.
-
Mes conversions ne remontent pas
Le symptôme inverse : quand rien ne se déclenche du tout.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.