Tracking Shopify et GA4 : Customer Events, GTM et sGTM en 2026

Référence du tracking Shopify : Customer Events, pixel custom, GTM, sGTM, événements GA4, Consent Mode v2 et Meta CAPI, avec renvois détaillés.

Par Ron Kopelman, consultant web analytics freelance — mis à jour le 2 novembre 2026

Sur Shopify, le tracking GA4 repose en 2026 sur deux couches : les Customer Events (Web Pixels API) pour le checkout, qui s’exécute dans un environnement isolé, et GTM web pour le reste du site. Un sGTM vient ensuite router proprement les événements vers GA4, Google Ads et Meta. Cette page est la fiche de référence : architecture, mapping des événements, limites et choix d’implémentation. Si vous voulez un setup déployé de bout en bout, voir le consultant tracking Shopify ; les pages de détail sont citées au fil du texte. Les enjeux communs à toutes les boutiques (marge, ROAS, conversions hors ligne) sont regroupés sur la page consultant analytics e-commerce. Une fois les événements en place, les indicateurs de pilotage e-commerce restent à définir.

Architecture Shopify en 2026

Le 13 août 2024, Shopify a cessé de faire tourner les personnalisations checkout.liquid sur les pages d’information, de livraison et de paiement. Les scripts GA4 ou GTM placés là ne s’exécutent plus. Pour les marchands Plus, checkout.liquid reste possible sur la page de remerciement et la page de statut de commande, Shopify indiquant qu’il prévoit d’étendre Checkout Extensibility à ces pages sans date annoncée. Règle pratique : aucun script analytics dans le checkout, tout passe par le pixel.

Outils couverts Shopify Google Analytics 4 Google Tag Manager Stape Google Ads Meta (Pixel / CAPI) Consent Mode v2

Les Customer Events sont exécutés dans un pixel sandboxé. Ce pixel reçoit les événements Shopify via analytics.subscribe, mais il n’accède ni au DOM de la page ni aux variables globales de votre thème. C’est la raison pour laquelle GTM web ne voit pas le tunnel de paiement.

Checkout Extensibility, qui permet d’ajouter des composants UI dans le checkout, est réservé à Shopify Plus. Pour le tracking de base, il n’est pas indispensable.

Le détail de cette architecture figure dans l’article complet sur le tracking Shopify.

Les trois options de mise en oeuvre

OptionPrincipeAvantageLimite
App Google & YouTubeApplication officielle gratuite, liée à une propriété GA4Rapide, sans codeCouverture d’événements partielle selon les sources, peu de contrôle, double comptage si un GTM pousse aussi purchase
Custom pixel + GTMCode dans le Pixels Manager, envoi vers un endpoint first-partyContrôle total, déduplication par event_idCode à maintenir, recette complète à faire
sGTM hébergé (Stape, Addingwell)Routage server-side, app Shopify pour l’installationEnvoi first-party, Enhanced Conversions, CAPIHébergement à payer, complexité accrue

Le rôle de chaque couche est comparé dans Shopify Pixels vs GTM. Sur une boutique qui dépasse le stade de la vitrine, la combinaison custom pixel plus sGTM reste mon point de départ.

Événements standard et mapping GA4

Shopify expose 15 événements standard dans sa référence officielle. Le tableau les rapproche des événements GA4 recommandés.

Événement ShopifyÉquivalent GA4Remarque
page_viewedpage_viewNe pas doubler avec GTM web
collection_viewedview_item_listItems à reconstruire depuis la collection
product_viewedview_item
product_added_to_cartadd_to_cart
product_removed_from_cartremove_from_cart
cart_viewedview_cart
search_submittedsearchVérifier le nom du paramètre de recherche
checkout_startedbegin_checkout
checkout_contact_info_submittedaucun standardÉvénement custom si besoin
checkout_address_info_submittedaucun standardÉvénement custom si besoin
checkout_shipping_info_submittedadd_shipping_infoSensible aux paiements express
payment_info_submittedadd_payment_infoSensible aux paiements express
checkout_completedpurchaseUn seul envoi par commande
alert_displayed, ui_extension_erroredaucunDiagnostic, pas de conversion

Shopify précise que le contenu de ces abonnements peut évoluer. Vérifiez la liste avant de figer votre taxonomie.

Extrait : un pixel custom qui pousse purchase

Dans un pixel, window.dataLayer désigne le dataLayer du pixel, pas celui de la page. La bonne pratique consiste donc à envoyer l’événement vers le sGTM, ou vers un GTM web chargé dans le pixel. L’extrait suivant montre le format. Les noms de champs sont à valider dans la référence Shopify avant mise en production.

analytics.subscribe('checkout_completed', (event) => {
  const checkout = event.data.checkout;
  const payload = {
    event: 'purchase',
    ecommerce: {
      transaction_id: checkout.token, // ou l'identifiant de commande, à confirmer
      value: Number(checkout.totalPrice.amount), // TTC, convention retenue
      currency: checkout.currencyCode,
      items: checkout.lineItems.map((li) => ({
        item_id: li.variant.product.id,
        item_name: li.title,
        price: Number(li.variant.price.amount),
        quantity: li.quantity,
      })),
    },
  };
  fetch('https://metrics.votredomaine.fr/collect', {
    method: 'POST',
    body: JSON.stringify(payload),
    keepalive: true,
  });
});

Deux points à retenir. D’abord, l’identifiant de transaction doit être identique côté pixel, côté sGTM et côté Meta pour permettre la déduplication. Ensuite, aucune donnée personnelle en clair ne doit transiter dans ce payload.

Limites à connaître

  • Sandbox : pas d’accès au DOM ni aux cookies du site principal. Selon les retours de la communauté Shopify, window.Shopify.customerPrivacy n’est pas disponible dans le sandbox ; il faut passer par l’API Customer Privacy du pixel.
  • Mode aperçu GTM : il ne voit pas les événements du checkout. Pour déboguer, utilisez le contexte de l’iframe du pixel dans les DevTools, ou le DebugView GA4.
  • Plus et non-Plus : l’UI custom du checkout est réservée à Plus. Le Pixels Manager, lui, sert à toutes les formules (à confirmer dans la documentation de votre plan).
  • Paiements express : Shop Pay, Apple Pay et Google Pay peuvent court-circuiter add_shipping_info et add_payment_info. Testez chaque méthode.
  • TVA et devises : value doit suivre une convention unique (TTC recommandé, avec un paramètre tax séparé). La devise doit être poussée sur chaque événement, surtout avec Shopify Markets.

Le pixel déclare ses finalités dans shopify.extension.toml, section customer_privacy (analytics, marketing, sale_of_data). Déclarez-les explicitement pour ne pas dépendre des valeurs par défaut. Dans le code du pixel, init.customerPrivacy donne l’état initial du consentement, et visitorConsentCollected signale les changements.

La correspondance vers Consent Mode v2 (analytics vers analytics_storage, marketing vers ad_storage et compagnie) circule surtout dans la communauté. Validez-la contre la documentation Google avant de la mettre en production. Pour le cadre général, lisez Consent Mode v2 en pratique et le comparatif des CMP.

Enhanced Conversions et Meta CAPI

Enhanced Conversions transmet des identifiants hachés (email, téléphone) avec l’événement purchase. Sur Shopify, cela passe idéalement par le sGTM. La même logique vaut pour Meta : l’app Meta Channel est simple à activer mais peu contrôlable ; la CAPI via sGTM permet une déduplication propre avec le pixel navigateur, en utilisant l’identifiant de commande comme event_id.

Si l’app Google et un GTM poussent tous deux purchase, les conversions sont comptées deux fois. Gardez une seule source par conversion. Voir Enhanced Conversions et Meta CAPI server-side.

Recette

  1. Vérifiez la liste des événements dans le Pixels Manager, avec une seule source par conversion.
  2. Parcourez la fiche produit, l’ajout panier, le checkout et la confirmation en navigation privée.
  3. Répétez sur iOS Safari et Android Chrome, consentement accepté puis refusé.
  4. Testez Shop Pay et Apple Pay séparément.
  5. Comparez les commandes de test avec le back-office : un achat, un purchase, un transaction_id.
  6. Contrôlez la déduplication dans GA4 et dans Meta Events Manager.

Foire aux questions

Faut-il garder l’app Google & YouTube ?

Pour une boutique modeste, elle permet de démarrer vite. Dès que vous avez besoin de contrôle sur les paramètres, de déduplication ou de server-side, passez en custom pixel et désactivez l’app pour la conversion concernée.

Shopify Plus change-t-il la méthode ?

La méthode reste la même. Plus ouvre Checkout Extensibility, utile pour des besoins de checkout très spécifiques (fidélité, abonnements, B2B).

Peut-on tracker le checkout avec GTM web ?

Non. Le checkout est isolé dans un environnement sandboxé. Le tracking du tunnel passe par les Customer Events ; GTM web couvre le reste du site. Le data layer côté page reste pertinent pour tout ce qui précède le panier.

Sources

Voir aussi : WordPress, Webflow, HubSpot CMS, Wix / Squarespace, Drupal, SPA / headless, Autres plateformes — ou le tableau comparatif de toutes les plateformes.

Ron Kopelman

Un tracking Shopify à poser ou à réparer ?

Audit du setup existant, dataLayer propre, GTM, Consent Mode, server-side. Cadrage gratuit de 30 minutes.