Addingwell
Guide technique complet du plugin d'infrastructure pour Shopify : installation, DataLayer GA4, pixel personnalisé du tunnel de paiement, injection de GTM, contournement des bloqueurs de publicité, cookie restore, cookies d'attribution, DataLayer Monitor.
1Rôle et objectif
Addingwell est le plugin d'infrastructure qui automatise toute la couche technique du tracking sur Shopify :
- Injection automatique du DataLayer GA4 (au moins 11 événements e-commerce)
- Pixel personnalisé pour les événements du tunnel de paiement (begin_checkout, purchase)
- Injection de GTM sur toutes les pages de la boutique
- Contournement des bloqueurs de publicité grâce à un proxy CDN first-party
- Cookie restore pour contourner l'ITP de Safari
- Hébergement du serveur sGTM (GTM côté serveur)
Addingwell remplace toute configuration manuelle du DataLayer. Le thème n'a besoin d'aucun code personnalisé pour le tracking.
2Architecture
Ce qu'Addingwell installe automatiquement
Boutique Shopify ├── DataLayer GA4 (toutes les pages) │ └── 11+ événements e-commerce standards ├── Pixel personnalisé (tunnel de paiement) │ └── begin_checkout + purchase ├── Conteneur GTM Web (injection) │ └── Script injecté sur toutes les pages ├── Proxy CDN (contournement des bloqueurs) │ └── Domaine first-party pour les scripts ├── Cookie Restore (ITP Safari) │ └── Restauration des cookies first-party └── Serveur sGTM └── Domaine personnalisé + région au choix
Sa place dans le dispositif de tracking
Shopify
→ Couche thème
→ Passerelle Cookiebot → Shopify Privacy API
→ Addingwell
→ DataLayer GA4 + DataLayer Monitor (pixel personnalisé)
→ GTM Web
→ Cookiebot CMP (Consent Mode v2, EEE + Royaume-Uni)
→ balise GA4 → sGTM
→ Meta Pixel → sGTM
→ balise Google Ads → sGTM
→ sGTM (serveur Addingwell)
→ GA4 (serveur)
→ Meta CAPI (serveur)
→ Google Ads Enhanced Conversions (serveur)
→ Cookies d'attribution (fbp, fbc, gclid, wbraid, gbraid)Avantages
- Aucune configuration dans le thème : tout est automatique
- Compatible avec tous les thèmes Shopify
- Aucun code Liquid personnalisé à écrire pour le tracking
- Se met à jour tout seul quand Shopify fait évoluer ses API
- Prise en charge native des marchés multidevises
3Installation
Créer un compte et installer le plugin
- 1Créez un compte sur addingwell.com (facturation active obligatoire)
- 2Installez l'app Addingwell depuis le Shopify App Store
- 3Dans les paramètres du plugin, activez les fonctionnalités ci-dessous
Fonctionnalités à activer
| Fonctionnalité | Rôle |
|---|---|
| DataLayer GA4 | Au moins 11 événements e-commerce automatiques |
| Injection GTM | GTM sur toutes les pages de la boutique |
| Pixel du tunnel de paiement | Événements du tunnel de paiement (begin_checkout, purchase) |
| Contournement des bloqueurs | Proxy CDN qui passe outre les bloqueurs de publicité |
| Cookie restore | Contourne l'ITP de Safari, attribution sur une longue fenêtre |
Configurer le pixel du tunnel de paiement
- 1Admin Shopify > Paramètres > Événements clients
- 2Cliquez sur « Ajouter un pixel personnalisé », puis collez le code fourni par Addingwell
Autorisation « Not required »
Le pixel personnalisé utilise l'autorisation « Not required » (non requise). Il s'appuie sur le Google Advanced Consent Mode via GTM, et non sur la Shopify Privacy API. Ne modifiez jamais cette autorisation.
Configurer le serveur sGTM
- 1Créez le serveur dans le tableau de bord Addingwell
- 2Domaine personnalisé : tags.ma-boutique.com (votre sous-domaine)
- 3Région recommandée : Europe multi-region
Configurer le DNS (domaine personnalisé)
Le domaine personnalisé (p. ex. tags.ma-boutique.com) sert à la fois de point d'entrée au sGTM et de proxy CDN pour GTM. C'est lui qui rend possible le tracking first-party (contournement des bloqueurs de publicité et de l'ITP de Safari).
| Type | Nom | Valeur |
|---|---|---|
| CNAME | tags | fournie par Addingwell |
La valeur exacte du CNAME s'affiche dans Addingwell > Server > Custom Domain à la création du serveur. Propagation DNS : de quelques minutes à 48 h selon le registrar.
4DataLayer GA4
Événements e-commerce injectés
| Événement GA4 | Page | Description |
|---|---|---|
| page_view | Toutes | Chargement de la page |
| view_item_list | Collection | Affichage d'une liste de produits |
| select_item | Collection | Clic sur un produit |
| view_item | Produit | Affichage de la fiche produit |
| add_to_cart | Produit / Collection | Ajout au panier |
| remove_from_cart | Panier | Retrait du panier |
| view_cart | Panier | Affichage du panier |
| begin_checkout | Paiement | Début du paiement (pixel personnalisé) |
| add_shipping_info | Paiement | Informations de livraison saisies |
| add_payment_info | Paiement | Informations de paiement saisies |
| purchase | Remerciement | Achat confirmé (pixel personnalisé) |
Structure d'un événement
dataLayer.push({
event: "view_item",
ecommerce: {
currency: "EUR",
value: 49.90,
items: [{
item_id: "SKU-001",
item_name: "T-Shirt Premium",
price: 49.90,
quantity: 1
}]
}
})Vérification rapide
- 1Ouvrez la console du navigateur sur la boutique
- 2Tapez dataLayer et inspectez les événements
- 3Naviguez : page → collection → produit → panier
- 4Vérifiez page_view, view_item_list, view_item, add_to_cart
Addingwell génère cette structure automatiquement. Inutile d'écrire vous-même un dataLayer.push().
5Pixel du tunnel de paiement
Le tunnel de paiement Shopify est isolé dans un iframe. Addingwell passe donc par un pixel personnalisé pour en capter les événements.
Événements captés
- begin_checkout : le processus d'achat commence
- purchase : achat confirmé, avec transaction_id, value, items
Autorisation « Not required »
Le pixel personnalisé utilise l'autorisation « Not required ». C'est voulu : il s'appuie sur le Google Advanced Consent Mode via GTM, et non sur la Shopify Privacy API. Ne modifiez jamais cette autorisation.
Parcours des événements du tunnel de paiement
Tunnel de paiement Shopify (iframe)
↓
Pixel personnalisé Addingwell
↓
dataLayer.push({ event: "purchase", ... })
↓
Conteneur GTM Web
↓
GA4 → sGTM → destinationsInjection de GTM
Addingwell injecte automatiquement le snippet GTM Web sur toutes les pages de la boutique Shopify.
- Aucune modification de theme.liquid
- Injection optimisée (asynchrone, non bloquante)
- Compatible avec tous les thèmes
- Le snippet se met à jour tout seul
- Fonctionne avec le proxy CDN qui contourne les bloqueurs de publicité
L'injection de GTM par Addingwell est la méthode recommandée. Si Addingwell est installé, n'ajoutez pas GTM à la main dans le thème.
Contourner les bloqueurs de publicité
Requête classique (bloquée) navigateur → googletagmanager.com ✗ (bloqueur) Requête via le proxy CDN (acceptée) navigateur → cdn.ma-boutique.com → googletagmanager.com ✓
- Proxy CDN first-party sur le domaine de la boutique
- Les scripts GTM et GA4 sont servis depuis ce même domaine
- Les bloqueurs de publicité laissent passer les requêtes first-party
- Vous récupérez 15 à 30 % de données qui seraient sinon perdues
6Cookie Restore et attribution
Le problème de l'ITP de Safari
L'ITP de Safari limite à 7 jours (voire 24 h dans certains cas) la durée de vie des cookies first-party posés en JavaScript. Les identifiants de tracking (_ga, _fbp, _fbc) expirent beaucoup trop vite.
La solution : Cookie Restore
- Addingwell intercepte les cookies avant leur expiration
- Il les réécrit via un endpoint côté serveur
- Les cookies posés côté serveur échappent à l'ITP
- Leur durée de vie retrouve sa valeur normale (2 ans pour _ga)
Impact
Sans cookie restore, l'attribution sur Safari est plafonnée à 7 jours. Avec, les fenêtres d'attribution retrouvent leur durée normale.
Cookies d'attribution (1P)
Addingwell conserve les cookies d'attribution en first-party (cookie restore). Ils résistent à l'ITP de Safari et aux purges du navigateur : l'attribution reste fiable.
| Cookie | Plateforme | Rôle |
|---|---|---|
| _fbp | Meta | Browser ID : identifie le navigateur pour la correspondance CAPI |
| _fbc | Meta | Click ID : capte le fbclid des publicités Meta |
| _gcl_aw (gclid) | Google Ads | Click ID : attribution des conversions Google Ads |
| _gcl_gb (gbraid) | Google Ads | Click ID : attribution multi-appareils (app → web) |
| _gcl_gw (wbraid) | Google Ads | Click ID : attribution web vers app, iOS 14.5+ |
Le sGTM lit ces cookies et les transmet automatiquement à chaque destination. Le cookie restore d'Addingwell les réécrit en first-party via le domaine personnalisé, ce qui contourne l'ITP de Safari (7 jours → durée complète).
7DataLayer Monitor
Le DataLayer Monitor est un pixel personnalisé Shopify qui ajoute une couche d'observabilité au tracking. Il instrumente dataLayer.push() et gtag(), charge le snippet Addingwell et fournit des outils de débogage en temps réel.
Fonctionnalités
| Fonctionnalité | Description |
|---|---|
| Instrumentation de dataLayer | Intercepte chaque dataLayer.push() pour la journalisation et l'audit |
| Instrumentation de gtag() | Capte les appels gtag() (config, event, consent, set) |
| Console mise en forme | Logs structurés et colorés dans la console DevTools |
| Audit des doublons | Repère les événements envoyés plusieurs fois (fenêtre configurable) |
| Masquage des données personnelles | Masque les données sensibles (e-mail, téléphone) dans les logs de la console |
| Mode débogage | S'active avec ?awdebug=1 dans l'URL : logs détaillés |
| Envoi du contexte de page | Publie des page_location, page_referrer et page_title fiables à partir de init.context |
| Événements clients Shopify | S'abonne aux événements standards de Shopify et les journalise |
| Chargeur Addingwell | Charge le snippet Addingwell dans le contexte du pixel personnalisé |
Installer le pixel personnalisé
- 1Admin Shopify > Paramètres > Événements clients > Ajouter un pixel personnalisé
- 2Nom : « AW × BE. DataLayer Monitor »
- 3Autorisation : « Not required » (non requise), car le pixel s'appuie sur le Google Advanced Consent Mode via GTM
- 4Vente de données : indiquez qu'il ne s'agit pas d'une vente de données
- 5Collez le script DataLayer Monitor (v3.0.0)
- 6Connectez le pixel, puis enregistrez
Pour activer le mode débogage, ajoutez ?awdebug=1 à n'importe quelle URL de la boutique. Les logs détaillés s'affichent dans la console DevTools, avec un badge de couleur par type d'événement.
Un seul pixel de paiement actif
Ce pixel personnalisé remplace le pixel de paiement Addingwell par défaut. N'activez jamais les deux en même temps : vous auriez des doublons.
8Configuration
Prérequis
- Compte Addingwell actif (facturation obligatoire)
- Boutique Shopify connectée
- ID du conteneur GTM Web (GTM-XXXXXXX)
- Domaine personnalisé configuré pour le proxy CDN et le sGTM (recommandé)
Étapes de configuration
- 1Installez l'app Addingwell depuis le Shopify App Store
- 2Connectez la boutique dans le tableau de bord Addingwell
- 3Renseignez l'ID du conteneur GTM Web
- 4Activez le proxy CDN (contournement des bloqueurs de publicité)
- 5Activez Cookie Restore (contournement de l'ITP)
- 6Créez le serveur sGTM et configurez le DNS du domaine personnalisé
- 7Vérifiez que GTM est bien injecté sur la boutique
Configuration du sGTM
| Paramètre | Valeur |
|---|---|
| Domaine personnalisé | tags.ma-boutique.com (sous-domaine de la boutique) |
| Région | Europe multi-region (recommandée) |
| DNS | CNAME : valeur fournie par Addingwell |
9Vérification
Phase 1 : infrastructure Addingwell
- 1Plugin Addingwell actif dans Shopify (Applications > Addingwell)
- 2DataLayer GA4 présent : tapez dataLayer dans la console
- 3Pixel de paiement personnalisé configuré dans Addingwell
- 4Cookie restore actif : champ shopify_y présent dans le DataLayer
- 5Requêtes sGTM first-party visibles dans l'onglet Réseau (domaine personnalisé)
- 6Le domaine personnalisé du sGTM répond avec un statut 200
Vérifier le DataLayer
- 1Ouvrez la console du navigateur sur la boutique
- 2Tapez dataLayer et inspectez les événements
- 3Naviguez : page → collection → produit → panier
- 4Vérifiez page_view, view_item_list, view_item, add_to_cart
- 5Passez une commande test jusqu'au bout → vérifiez begin_checkout et purchase
Vérifier GTM
- Ouvrez le mode Aperçu de GTM
- Les événements doivent apparaître dans le panneau de débogage
- Vérifiez que les variables ecommerce sont remplies
Vérifier le proxy CDN
- Ouvrez l'onglet Réseau (Network) du navigateur
- Les requêtes GTM et GA4 doivent pointer vers le domaine personnalisé
- Aucune requête directe vers googletagmanager.com
Vérifier les cookies d'attribution
- DevTools > Application > Cookies
- Vérifiez la présence de _fbp, _fbc et _gcl_aw (gclid)
- Les cookies doivent porter le domaine de la boutique (first-party)
10Dépannage
Vérifier :
- 1App Addingwell installée et connectée
- 2Boutique active dans le tableau de bord Addingwell
- 3Aucun conflit avec un autre script de DataLayer
Vérifier :
- Pixel personnalisé actif dans Paramètres → Événements clients
- Autorisation = « Not required »
- Aucune erreur JavaScript dans la console du tunnel de paiement
- Vérifiez que le déclencheur purchase existe dans GTM
- Vérifiez que la requête sGTM répond 200
Vérifier :
- ID du conteneur GTM correct dans Addingwell
- Aucun snippet GTM ajouté à la main dans le thème (conflit)
- App Addingwell activée
Vérifier :
- Cookie Restore activé dans Addingwell > Settings
- Vérifiez le champ shopify_y dans le DataLayer
- Vérifiez les enregistrements DNS du domaine personnalisé du sGTM
- Le domaine personnalisé du sGTM répond avec un statut 200
Vérifier :
- Cookie restore désactivé dans Addingwell
- Domaine personnalisé du sGTM non configuré
- Les cookies doivent apparaître dans DevTools > Application > Cookies, avec le domaine de la boutique
Vérifier :
- Vérifiez qu'un seul pixel de paiement personnalisé est actif (DataLayer Monitor OU le pixel Addingwell, pas les deux)
- Vérifiez dans GTM qu'aucun événement n'a deux déclencheurs actifs
- Ajoutez ?awdebug=1 à l'URL pour afficher l'audit des doublons dans la console
Vérifiez la couche que vous venez d'installer
Scannez la boutique : 41 contrôles lisent ce qu'elle envoie maintenant à GA4, Meta et Google Ads.