Réponse courte
Un data layer est le tableau JavaScript dataLayer où le site dépose ses événements pour que Google Tag Manager les lise. Sur Shopify, la source fiable, checkout compris, ce sont les événements clients, lus par une app pixel ou par un pixel personnalisé qui alimente GTM.
La réponse en détail
Un data layer est le tableau JavaScript dataLayer où le site dépose ses événements pour que Google Tag Manager les lise. Sur Shopify, la source fiable, checkout compris, ce sont les événements clients, lus par une app pixel ou par un pixel personnalisé qui alimente GTM.
Le repère
Le site ajoute ses événements à window.dataLayer avec dataLayer.push(). La documentation Google demande un seul data layer par page, jamais réaffecté, avec la casse exacte du nom.
Dans l'admin Shopify, tout se règle dans Paramètres > Événements clients (libellé relevé en octobre 2026). Les pixels qui s'y gèrent se chargent jusqu'au checkout et à la page de remerciement. Deux familles coexistent :
| Pixel d'app | Pixel personnalisé | |
|---|---|---|
| Installé par | une app (Google & YouTube, Meta, Klaviyo…) | vous, en JavaScript |
| Bac à sable | strict | lax |
| Support | celui de l'app | aucun côté Shopify |
Le bac à sable est l'environnement isolé où tourne le code du pixel. Ces pixels écoutent les quinze événements standard de Shopify. L'app Google les traduit pour GA4 : checkout_started devient begin_checkout et checkout_completed devient purchase (table de correspondance Google).
Les Scripts supplémentaires du checkout sont en lecture seule depuis le 28 août 2025 et, hors Plus, les pages de remerciement et d'état de commande devaient migrer avant le 26 août 2026. Un dataLayer codé dans theme.liquid ne voit donc plus le checkout.
La règle
Le bon data layer, sur Shopify, est celui que vous n'écrivez pas vous-même. Les événements clients couvrent déjà le parcours jusqu'à l'achat ; reste à choisir qui les lit, avec un seul lecteur par destination.
Quand GA4 et Google Ads sont vos seules destinations, l'app Google & YouTube suffit. Avec plusieurs outils ou des déclencheurs fins, un pixel personnalisé charge GTM et pousse chaque événement Shopify dans le dataLayer. Shopify publie un tutoriel dédié, sans assurer le support de ces pixels.
Un geste propre au thème (un clic sur le guide des tailles) se publie avec Shopify.analytics.publish('ma_marque:guide_tailles', donnees). La documentation développeur prévient que n'importe qui peut en publier depuis la console du navigateur : réservez ces événements à l'analyse du comportement et calculez le chiffre d'affaires sur checkout_completed.
Les étapes
- Faire l'inventaire. Pour chaque pixel, notez qui l'a installé, son statut, son autorisation, ses événements et sa destination. Ajoutez le code de
theme.liquid, les intégrations d'apps du thème (app embeds) et le conteneur GTM. Deux lignes qui envoientpurchaseau même endroit forment un doublon. - Nettoyer avant d'ajouter. Retirez l'ancien code de suivi, comme Shopify le demande pour éviter les doubles comptages, et désinstallez les apps remplacées.
- Créer le pixel. Cliquez sur « Ajouter un pixel », nommez-le, collez le code GTM sans les balises
<script>, abonnez-le aux événements (analytics.subscribe), enregistrez, puis cliquez sur « Connecter le pixel ». - Régler le consentement. Dans Confidentialité des clients, passez Autorisation sur « Requis » et choisissez les finalités. Un pixel d'app ne se charge que si toutes les finalités qu'il déclare sont accordées (Shopify), et les refus effacent une partie des conversions.
- Configurer GTM. Créez un déclencheur d'événement personnalisé au nom exact de la clé
eventpoussée par le pixel, puis des variables de couche de données pour la valeur, la devise, l'identifiant de transaction et les articles. - Tester. Ouvrez le pixel et cliquez sur « Tester » : le Shopify Pixel Helper affiche les événements reçus (Tag Assistant, lui, ne fonctionne pas ici). Passez ensuite une vraie commande et vérifiez dans le DebugView (la vue de débogage en temps réel de GA4) qu'un seul
purchasearrive.
Le piège
L'erreur courante est la double installation, quand l'app Google et un pixel GTM envoient chacun purchase à la même propriété GA4. Et GA4 ne fera pas le tri, car sa déduplication par identifiant de transaction ne joue que pour une même personne sur un flux web, et deux sources qui n'attribuent pas l'achat à la même personne passent toutes les deux.
Sur le terrain des auteur·rice·s, une marque de prêt-à-porter a relevé 1 026 achats GA4 pour 568 commandes Shopify au printemps 2026, soit 158 257 € affichés contre 79 602 € encaissés. L'app Google & YouTube, jamais désactivée à l'arrivée d'une app de tracking plus récente, envoyait ses achats en parallèle, et Google Ads apprenait sur ces doublons. Quatre pixels étaient en « Toujours actif », donc chargés sans attendre le consentement, dont un abonné à aucun événement.
Le contrôle tient en une division : achats GA4 sur commandes Shopify, même période. Au-dessus de 100 %, il y a un doublon. En dessous, les refus de consentement peuvent en masquer un, d'où l'intérêt de surveiller un ratio qui grimpe juste après l'installation d'une app, en le comparant à l'écart habituel entre Shopify et GA4.
La phrase à présenter
Pour votre direction ou votre agence (chiffres fictifs, à remplacer par les vôtres) :
« Trois sources envoyaient des achats à GA4 : 118 achats pour 100 commandes. Pour GA4, nous n'en gardons qu'une, l'app Google ; un pixel GTM sert Meta et TikTok. Le chiffre GA4 va baisser d'environ 15 % et se rapprocher des commandes réelles. »
Sources
- Google Tag Platform : la couche de données
- Aide Shopify : gérer les pixels personnalisés
- Shopify.dev : événements standard
- Google Tag Platform : paramètres d'événements Shopify
- Aide Shopify : mise à niveau des pages Remerciement et État de commande
- Aide Shopify : tutoriel Google Tag Manager
- Shopify.dev : émettre des données
- Shopify.dev : confidentialité des pixels
- Aide Shopify : tester les pixels personnalisés
- Aide Google Analytics : mesurer l'e-commerce
