Accueil
Expertises Toutes les expertises Server-side GTM & dataLayer Analytics Conversion API Data Warehouse
Cas clients Tous les cas clients E-commerce SaaS Apps mobiles Lead generation
Ressources Toutes les ressources Google Tag Manager Mobile App Tracking RGPD & Consent Mode Google Analytics (GA4) Server-side tracking
Outils gratuits Tous les outils Diagnostic server-side Générateur de plan de tracking
À propos Prendre RDV
GOOGLE TAG MANAGER

Google Tag Manager sur Ecwid : Guide Complet

Installer Google Tag Manager sur Ecwid : connexion native, piège de l'iframe, et événements e-commerce réels (achat, panier) avec la JS API storefront.

· 13 min de lecture
Dans ce guide
  1. Connexion native via l'app Google Tag Manager
  2. Le piège de l'iframe
  3. Événements e-commerce réels avec la JS API
  4. Récupérer les données utilisateur pour Enhanced Conversions et Advanced Matching
  5. Configuration GTM par plateforme
  6. GA4
  7. Google Ads
  8. Meta Ads
  9. Consentement avant les tags marketing

Ecwid a une particularité que Shopify ou PrestaShop n'ont pas : c'est une boutique embarquable, le plus souvent intégrée en iframe dans un site existant plutôt qu'hébergée comme plateforme à part entière. Cette architecture change concrètement la façon dont Google Tag Manager doit être connecté, et c'est le point que la plupart des tutoriels génériques passent sous silence.

Connexion native via l'app Google Tag Manager

Ecwid propose une app officielle dans son App Market qui évite d'injecter du code manuellement. Une fois l'app installée, il suffit de récupérer l'identifiant de conteneur (format GTM-XXXXXX) depuis votre compte Google Tag Manager, puis de le coller dans Réglages → Google Tag Manager de votre panneau d'administration Ecwid. Cette connexion permet de créer et gérer vos tags directement depuis GTM sans toucher au code du site, et donne accès à un dataLayer e-commerce structuré (confirmé : vues produit, ajouts panier, achats), mais uniquement sur le périmètre couvert par l'app, voir la section suivante.

Le piège de l'iframe

C'est le point technique le plus important, documenté par Ecwid lui-même mais souvent ignoré : si votre boutique Ecwid est intégrée à votre site via une iframe, connecter GTM par l'app ne permet de suivre que les événements qui se produisent à l'intérieur de cette iframe, dataLayer e-commerce inclus. Les pages de votre site en dehors de la boutique (accueil, blog, pages de contenu) ne sont pas couvertes par ce conteneur. Pour un suivi complet du site entier, un second conteneur GTM installé directement dans le code du site (en dehors de l'iframe) est nécessaire : les deux conteneurs cohabitent, chacun sur son périmètre.

Événements e-commerce réels avec la JS API

Se contenter de connecter l'app GTM donne accès aux pages vues, mais pas toujours au niveau de détail nécessaire pour un tracking GA4 ou Google Ads complet. Ecwid expose une JS API storefront pour ça, à appeler après le chargement complet de l'API :

code
Ecwid.OnAPILoaded.add(function() {

  // Commande validee -> evenement purchase pour GA4/GTM
  Ecwid.OnOrderPlaced.add(function(order) {
    window.dataLayer = window.dataLayer || [];
    dataLayer.push({
      event: 'purchase',
      ecommerce: {
        transaction_id: order.vendorNumber,
        value: order.total,
        currency: order.currency,
        items: (order.items || []).map(function(item) {
          return {
            item_id: item.product.id,
            item_name: item.product.name,
            price: item.product.price,
            quantity: item.quantity
          };
        })
      }
    });
  });

  // Panier modifie -> evenement add_to_cart / remove_from_cart selon le delta
  Ecwid.OnCartChanged.add(function(cart) {
    window.dataLayer = window.dataLayer || [];
    dataLayer.push({
      event: 'cart_changed',
      cart_total: cart.total,
      cart_item_count: cart.productsQuantity
    });
  });

});

Ce code s'ajoute via une balise HTML personnalisée dans GTM (déclenchée sur "Toutes les pages" du conteneur qui couvre l'iframe), ou directement dans le code de la boutique selon votre configuration. Le détail à ne pas négliger : Ecwid.OnCartChanged se déclenche à chaque modification du panier, y compris les retraits. Pour un événement add_to_cart propre côté GA4, il faut comparer l'état du panier avant/après pour ne pousser l'événement que sur un ajout réel, pas sur toute modification.

Récupérer les données utilisateur pour Enhanced Conversions et Advanced Matching

Question fréquente et légitime : l'objet order renvoyé par OnOrderPlaced contient-il de quoi alimenter les Enhanced Conversions Google Ads ou l'Advanced Matching Meta ? Réponse vérifiée dans la documentation Ecwid : oui. L'objet order.customer contient l'email du client, et order.billingPerson contient son nom et son numéro de téléphone (en plus de l'adresse complète). De quoi construire un objet user_data exploitable :

code
Ecwid.OnOrderPlaced.add(function(order) {
  window.dataLayer = window.dataLayer || [];
  dataLayer.push({
    event: 'purchase',
    user_data: {
      email_address: order.customer.email,
      phone_number: order.billingPerson.phone,
      address: {
        first_name: order.billingPerson.name,
        country: order.billingPerson.countryCode,
        postal_code: order.billingPerson.postalCode
      }
    },
    ecommerce: {
      transaction_id: order.vendorNumber,
      value: order.total,
      currency: order.currency
    }
  });
});

Point de sécurité important : ne poussez jamais l'email ou le téléphone en clair vers un tag qui les transmet tel quel à une régie publicitaire. Pour Google Ads, la balise de suivi des conversions améliorées via GTM applique elle-même le hachage SHA-256 des champs user_data mappés, vous n'avez pas à le faire manuellement. Pour Meta, le Pixel (fbq) hache automatiquement les paramètres standards de correspondance avancée (em, ph) côté navigateur avant l'envoi. Dans les deux cas, la donnée part hachée, jamais en clair, mais c'est le tag qui s'en charge, pas votre code.

Configuration GTM par plateforme

Une fois le dataLayer ci-dessus en place, voici comment le brancher concrètement à GA4, Google Ads et Meta Ads dans GTM.

GA4

Une balise Configuration GA4 (déclenchée sur toutes les pages), puis une balise Événement GA4 déclenchée sur l'événement dataLayer purchase, avec "Envoyer les paramètres d'e-commerce" activé sur "Objet Données Utilisateur : ecommerce". GA4 lit alors directement transaction_id, value, currency et items depuis le dataLayer sans mapping manuel champ par champ.

Trois éléments : une balise Conversion Linker (une fois, sur toutes les pages, pour la continuité des clics), une balise Suivi des conversions Google Ads déclenchée sur l'événement purchase avec l'ID de conversion/libellé de votre compte, la valeur mappée sur la variable de couche de données ecommerce.value et la devise sur ecommerce.currency. Pour activer les Enhanced Conversions, cochez l'option dans la balise et mappez chaque champ (email, téléphone, adresse) sur les variables de couche de données correspondantes de l'objet user_data défini plus haut : GTM applique le hachage automatiquement à l'envoi.

Meta Ads

Une balise Meta Pixel de base (déclenchée sur toutes les pages), puis une balise Événement Meta Pixel déclenchée sur purchase, type d'événement standard "Purchase", avec les paramètres value et currency mappés sur les variables de couche de données correspondantes. Pour l'Advanced Matching, activez les "Paramètres de correspondance avancée automatique" dans la balise de base, ou mappez manuellement em (email) et ph (téléphone) depuis l'objet user_data si vous préférez un contrôle explicite plutôt que la détection automatique de champs de formulaire.

Consentement avant les tags marketing

Comme sur n'importe quelle plateforme e-commerce, les balises Google Ads, Meta ou tout autre pixel marketing connectées via ce conteneur GTM ne doivent se déclencher qu'après consentement de l'utilisateur, et c'est encore plus vrai pour les champs user_data ci-dessus, qui touchent des données personnelles directement. Si votre boutique Ecwid est en iframe, vérifiez que votre CMP est bien positionnée sur la page qui contient l'iframe et que son signal de consentement est accessible aux tags qui tournent dans le conteneur de l'iframe, un point de configuration qui se rate facilement sur une architecture embarquée.

Une implémentation plus complexe à discuter ?

Discuter de votre tracking
Christophe Dubois
Christophe Dubois

Consultant tracking & data, freelance senior depuis 2012. Architecture de mesure, server-side, attribution.

Remonter en haut

Un projet similaire à cadrer ? Parlons-en.

Freelance google tag manager
POUR ALLER PLUS LOIN

Articles liés

RGPD - Consent Mode

Consent Mode v2 sur WooCommerce : CMP, GTM et conversions

Consent Mode v2 sur WooCommerce : CMP, GTM Consent Initialization, tags GA4/Ads, et comment éviter de tuer vos conversions.

16 Sep. 2026 ·9 min
Audit Tracking

Auditer le tracking PrestaShop : conversions, funnels et ROAS faussés

Audit tracking PrestaShop : plugins vs GTM, écarts commandes/GA4/Ads, Consent Mode, funnels et plan de correction ROAS.

16 Sep. 2026 ·10 min
Audit Tracking

Auditer le tracking Shopify : pourquoi vos achats remontent mal

Audit tracking Shopify : écarts achats vs GA4/Ads/Meta, pixels doublons, checkout, Consent Mode et plan de correction actionnable.

16 Sep. 2026 ·10 min
Google Tag Manager

Comment tracker un formulaire Brevo (ex-Sendinblue) avec GTM

Tracker un formulaire Brevo avec GTM : script MutationObserver sur #success-message, dataLayer generate_lead, Element Visibility et pièges iframe.

16 Sep. 2026 ·9 min
Paid Acquisition

TikTok Pixel & Events API : implémentation avec GTM (web + server-side)

Installer TikTok Pixel et Events API via GTM : events ecom/lead, event_id pour dédup, server-side et checklist de debug TikTok.

16 Sep. 2026 ·11 min
Google Tag Manager

Installer Google Tag Manager sur WooCommerce (guide complet)

Installer GTM sur WooCommerce : dataLayer e-commerce, events GA4, Consent Mode, pièges plugins et checklist pour des achats fiables.

16 Sep. 2026 ·12 min
Google Tag Manager

Comment tracker un formulaire avec GTM (méthode universelle)

Méthode universelle pour tracker un formulaire avec GTM : dataLayer, submit vs thank-you, GA4, Ads, Meta, déduplication et checklist de recette.

16 Sep. 2026 ·11 min
Audit Tracking

Audit des conversions dupliquées Google Ads × Meta : comment les détecter et les corriger

Vos conversions Google Ads et Meta sont-elles comptées deux fois ? Méthode d’audit : pixel + CAPI, Conversion Linker, GTM, et corrections concrètes.

16 Sep. 2026 ·9 min
Google Tag Manager

Comment tracker un formulaire Pardot ?

Apprenez à tracker un formulaire Pardot avec Google Tag Manager et GA4. Méthode fiable pour formulaires iframe et Form Handlers Salesforce Account Engagement.

25 Mar. 2026 ·12 min
Google Tag Manager

Architecture complète tracking SaaS (web + mobile + offline) : le tutoriel ultime (2025)

Le but de ce guide est de te donner l’architecture complète , utilisée par les meilleurs SaaS (Notion, Stripe, Figma, Monday, HubSpot)

12 Nov. 2025 ·21 min
Google Tag Manager

Glossaire Server-Side GTM 2025

Glossaire Server-Side GTM 2025 : client, container, cookies 1st-party, CAPI. Lexique Dataheka pour comprendre et piloter une stack sGTM sans jargon Guide Datahe

21 Nov. 2025 ·12 min
Google Tag Manager

Comment détecter les faux positifs dans Google Tag Manager (GTM)

Les faux positifs sont l’une des causes les plus fréquentes de données erronées dans Google Tag Manager.

11 Nov. 2025 ·20 min
SERVICES ASSOCIÉS

Pour aller plus loin sur votre projet

EXPERTISE ASSOCIÉE

GTM & dataLayer

GTM & dataLayer

Un conteneur mal structuré suffit à fausser vos conversions, votre ROAS et vos arbitrages marketing.

Voir l'expertise
FAQ

Questions fréquemment posées

Pourquoi le tracking Ecwid ne capture-t-il que certaines pages ?

Si votre boutique est intégrée en iframe, le conteneur GTM connecté via l'app Ecwid ne suit que les événements à l'intérieur de cette iframe, dataLayer e-commerce inclus. Les pages du site en dehors de la boutique ont besoin de leur propre conteneur GTM installé directement dans le code du site.

L'app GTM d'Ecwid donne-t-elle accès aux données utilisateur (email, téléphone) ?

Oui, indirectement : l'événement Ecwid.OnOrderPlaced renvoie un objet order dont order.customer.email et order.billingPerson.phone contiennent ces informations, exploitables pour les Enhanced Conversions Google Ads ou l'Advanced Matching Meta une fois poussées dans un objet user_data du dataLayer.

Faut-il hacher soi-même l'email avant de l'envoyer à Google Ads ou Meta ?

Non. La balise Enhanced Conversions de Google Ads dans GTM hache automatiquement en SHA-256 les champs user_data mappés, et le Pixel Meta hache automatiquement ses paramètres standards de correspondance avancée (em, ph) côté navigateur. Il ne faut jamais transmettre ces données en clair à un tag tiers, mais ce n'est pas votre code qui doit s'en charger.

Comment éviter de compter un retrait du panier comme un ajout ?

Ecwid.OnCartChanged se déclenche sur toute modification du panier, ajout comme retrait. Pour un événement add_to_cart propre, comparez la quantité totale du panier avant et après le changement plutôt que de pousser l'événement sur chaque déclenchement.

Prendre rendez-vous