Digital Marketing & Beyond

Procédure validée : bascule tracking server-side vers client-side

Kapitales · Shopify · Mai 2026 · V2 avec code vérifié sur theme.liquid

🔍 Données techniques vérifiées (Kapitales)

Toutes les informations ci-dessous ont été vérifiées directement sur le theme.liquid de Kapitales, croisées avec les emails de Melchior Bengtsson (Sirdata) et la documentation officielle Sirdata. Aucune supposition.

⚙️ Configuration actuelle Kapitales

GTM Web Container
GTM-TN92TCN
Sirdata Config ID
40054 (xg1IK)
Sous-domaine Sirdata
mjqrsgprru.kapitales.fr
Endpoint script Sirdata
/shopify/loader
Lignes Sirdata theme.liquid
Lignes 17 et 18
Custom Pixel Shopify
À identifier dans Customer Events
Source des informations Mail Melchior du 1er avril 2026 (sujet "Re: Résiliation sGTM Kapitales"), screenshot theme.liquid Kapitales fourni le 12 mai 2026, doc officielle Sirdata https://server-side.docs.sirdata.net/sirdata-server-side/f.a.q-server-side/resiliation

📊 Tracker de progression

Démarre les phases pour suivre ta progression
Astuce Coche les cases au fur et à mesure que tu avances. La progression se sauvegarde dans ton navigateur, tu peux fermer la page et revenir plus tard sans rien perdre.

🗂️ Phase 0 : préparation et sauvegardes

0
Sauvegardes obligatoires avant toute action
30 minutes · J-1 ou matin du J-Day
Règle absolue Ne touche à RIEN avant d'avoir validé les 8 cases ci-dessous. Une sauvegarde manquante = un rollback impossible.
✓ Sauvegardes à faire
Snapshot GTM web GTM-TN92TCN. Dans GTM, aller dans Admin > Versions du conteneur. Créer une version manuelle nommée Pre-bascule-Sirdata-mai-2026. Noter le numéro de version.
Export JSON du conteneur GTM web. Admin > Exporter le conteneur. Télécharger le JSON dans un dossier kapitales-bascule-tracking-mai-2026 sur ton disque.
Screenshot du theme.liquid actuel. Capture la zone autour des lignes 17 et 18 (déjà fait, le screenshot du 12 mai 2026 confirme la config).
Localisation du Custom Pixel Sirdata. Aller dans Paramètres > Événements client dans l'admin Shopify. Repérer le pixel nommé probablement Sirdata sGTM ou similaire. Faire une capture du code complet pour pouvoir le réinstaller si besoin.
Baseline GA4 (J-7). Exporter les sessions, transactions, et revenu des 7 derniers jours.
Baseline Google Ads (J-7). Exporter le CPA, ROAS et taux de conversion par campagne.
Baseline Meta Ads (J-7). Exporter ROAS, achats, CPA des campagnes actives.
Identifier la version GTM avant Sirdata. Dans Admin > Versions du GTM web, retrouver la dernière version avant octobre 2025 (passage en server-side). Noter son numéro. C'est le rollback ultime.

🔧 Phase 1 : reconfiguration GTM Web (sans publier)

1
Retirer server_container_url des balises
1 à 2 heures · En workspace, pas en Live
Important Tout le travail GTM Web se fait dans un workspace dédié. Aucune publication tant que les phases 2, 3, 4 et 5 ne sont pas terminées.
✓ Actions GTM Web
Créer un workspace dédié. Dans GTM-TN92TCN, créer un workspace nommé Bascule-client-side-mai-2026.
Lister toutes les balises avec server_container_url. Identifier les balises GA4, Google Ads et Meta qui pointent vers https://mjqrsgprru.kapitales.fr. Faire une liste exhaustive.
Retirer server_container_url des balises GA4. Pour chaque balise GA4 Event, supprimer le paramètre de configuration server_container_url. Garder le measurement_id intact.
Retirer server_container_url des balises Google Ads. Pour chaque balise Google Ads Conversion. Garder Conversion ID et Label intacts.
Retirer server_container_url des balises Meta. Si présent. Garder le Pixel ID intact.
Désactiver les balises iframe. Les balises avec suffixe (in iframe) conditionnées par Sirdata - Utils - GTM loaded in iframe = true. Les passer en désactivées (pas supprimées, pour rollback éventuel).
Test en mode aperçu. Tag Assistant ouvert, navigation sur kapitales.fr, vérification que les balises hors checkout (page_view, view_item, add_to_cart) se déclenchent et n'envoient plus vers le sous-domaine Sirdata.
NE PAS PUBLIER. Le workspace reste en attente. Publication uniquement après les phases 2 à 5.

✂️ Phase 2 : modification du theme.liquid Kapitales

2
Remplacer les 2 lignes Sirdata par le snippet GTM classique
15 minutes · L'étape la plus critique
Point critique confirmé par Sirdata Si tu retires les 2 lignes Sirdata sans remettre le snippet GTM classique, le GTM ne se charge plus du tout sur le site et TOUT le tracking s'effondre, y compris ce qui devrait fonctionner sans Sirdata. La procédure ci-dessous est validée par la doc officielle Sirdata.

📍 Localisation exacte (vérifiée sur ton theme.liquid)

Dans Boutique en ligne > Thèmes > Actions > Modifier le code, ouvrir layout/theme.liquid. Les 2 lignes Sirdata se trouvent aux lignes 17 et 18, juste entre les commentaires <!-- Google Tag Manager --> et <!-- End Google Tag Manager -->.

🔄 Le diff exact à faire

❌ À SUPPRIMER (lignes 17 et 18)

<script type="text/javascript">window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });</script> <script type="text/javascript" src="https://mjqrsgprru.kapitales.fr/shopify/loader" async></script>

✅ À INSÉRER À LA PLACE

<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TN92TCN');</script>
Note importante sur le bloc noscript Dans Shopify, le bloc <noscript> est généralement déjà présent ailleurs dans le theme.liquid, juste après l'ouverture du <body>. Vérifie sa présence. Si absent, ajoute le code ci-dessous juste après <body>.
📝 Bloc noscript (optionnel, à ajouter après <body> si absent)
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TN92TCN" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

🪜 Étapes pas à pas

✓ Modification theme.liquid
Ouvrir Shopify admin. Aller dans Boutique en ligne > Thèmes. Cliquer sur les 3 points du thème actif puis Modifier le code.
Ouvrir layout/theme.liquid. Dans la colonne de gauche, dossier layout, fichier theme.liquid.
Aller aux lignes 17 et 18. Vérifier que c'est bien le code Sirdata avec mjqrsgprru.kapitales.fr/shopify/loader. Si ce n'est pas le cas, arrêter et m'appeler.
Sélectionner les 2 lignes Sirdata. De <script type="text/javascript">window.dataLayer jusqu'à la fin de </script> de la ligne 18.
Copier le snippet GTM ci-dessus avec le bouton "Copier".
Coller à la place. Les 2 lignes Sirdata disparaissent, le snippet GTM classique prend leur place.
NE PAS encore sauvegarder. Vérifier la présence du bloc noscript ailleurs dans le fichier. Si absent, l'ajouter après <body>.
Sauvegarder. Cliquer sur "Save" en haut à droite. Shopify versionne automatiquement, ton rollback est natif via Anciennes versions du thème.
Test immédiat. Ouvrir kapitales.fr en navigation privée, F12, console, taper dataLayer puis Entrée. Si tu vois un tableau d'événements, le GTM est chargé. Si "undefined", le snippet est mal placé.
Vérifier l'URL du gtm.js. Onglet Network, filtrer par gtm.js, recharger. La requête doit partir de www.googletagmanager.com/gtm.js et plus de mjqrsgprru.kapitales.fr.

🗑️ Phase 3 : suppression du Custom Pixel Sirdata

3
Retirer le Custom Pixel des Customer Events Shopify
10 minutes
Attendre avant la suppression Ne supprime le Custom Pixel Sirdata QUE quand les apps Google et Meta (phases 4 et 5) sont déjà installées et fonctionnelles. Sinon tu perds 100% des conversions checkout pendant la fenêtre intermédiaire.
✓ Actions Custom Pixel
Aller dans Customer Events. Admin Shopify > Paramètres > Événements client.
Identifier le pixel Sirdata. Il s'appelle probablement Sirdata sGTM ou similaire. Cliquer dessus.
Capturer le code complet du pixel. Avant suppression, faire un copier-coller du code JavaScript du pixel dans un fichier custom-pixel-sirdata-backup.js. Ton parachute en cas de rollback.
Passer le pixel en Disconnected. Pour observer 24h avant suppression définitive (optionnel mais prudent).
Supprimer définitivement. Une fois la stabilité confirmée, supprimer le Custom Pixel Sirdata.

📊 Phase 4 : installation app Google & YouTube

4
Tracking Google natif Shopify pour gérer la sandbox checkout
45 minutes

L'app Google & YouTube est l'outil officiel Shopify pour gérer la sandbox checkout côté Google. Elle injecte les balises GA4 et Google Ads Conversion directement dans le checkout via l'API native Shopify, ce que GTM Web seul ne peut pas faire.

✓ Installation et configuration
Installer l'app. Boutique d'applications Shopify, chercher Google & YouTube. Installer (gratuit, par Google).
Connecter le compte Google. Avec le compte qui a accès au Google Ads et au GA4 Kapitales. Autoriser toutes les permissions.
Connecter Google Ads Kapitales. Activer le suivi des conversions automatique. L'app crée ou détecte une action de conversion Shopify dédiée. Noter son ID.
Connecter GA4 Kapitales. Sélectionner la propriété GA4. Activer Enhanced E-commerce. L'app envoie view_item, add_to_cart, begin_checkout, add_payment_info et purchase.
Activer Consent Mode V2. Indispensable EEE depuis mars 2024. Vérifier que le mode consentement remonte correctement depuis la CMP Sirdata (la CMP reste, c'est seulement le sGTM qui part).
Gérer les doublons potentiels. Si une balise GA4 ou Google Ads dans GTM Web envoie aussi purchase, désactiver soit la balise GTM, soit l'event correspondant dans l'app. Recommandation : laisser l'app gérer le checkout, GTM Web gère le storefront.
Test en commande test. Passer une commande test (code 100% si possible). Vérifier remontée dans Google Ads (15 min) et GA4 (Realtime + DebugView).

📘 Phase 5 : installation app Facebook & Instagram (Meta)

5
Tracking Meta natif Shopify avec CAPI incluse
45 minutes
✓ Installation et configuration
Installer l'app. Boutique d'applications Shopify, chercher Facebook & Instagram. Installer (gratuit, par Meta).
Se connecter au Business Manager Meta. Avec le compte qui a accès au BM Kapitales.
Sélectionner le Pixel Kapitales. Récupérer le Pixel ID actuel utilisé en server-side et le sélectionner. Si nécessaire, en créer un nouveau.
Activer la Conversions API (CAPI). Dans les paramètres de l'app. C'est ce qui sauve les conversions checkout malgré la sandbox Shopify standard.
Activer Advanced Matching. Email et téléphone hashés transmis pour améliorer le taux de match (Event Match Quality).
Test en commande test. Vérifier dans Events Manager Meta > Test Events que le Purchase remonte.
Vérifier l'Event Match Quality. Cible 6+/10 après quelques jours. Si moins, vérifier Advanced Matching.

🚀 Phase 6 : publication coordonnée + tests + surveillance

6
Publication GTM et validation complète
1 heure de publication, 3 à 7 jours de surveillance

🎯 Séquence exacte de publication

✓ Ordre critique des opérations
Confirmer que les phases 4 et 5 sont OK. Apps Google et Meta installées, fonctionnelles, tests positifs.
Confirmer que la phase 2 est OK. Snippet GTM classique chargé via googletagmanager.com, plus via mjqrsgprru.kapitales.fr.
Supprimer le Custom Pixel Sirdata (phase 3). Les conversions checkout sont déjà couvertes par les apps natives.
Publier le workspace GTM Web. Version nommée Bascule-client-side-mai-2026. Les balises ne pointent plus vers le sous-domaine Sirdata.
Attendre 30 minutes. Propagation de la nouvelle config GTM sur tous les navigateurs et caches CDN.

✅ Tests immédiats (dans l'heure)

✓ Validation technique
Commande test complète sur kapitales.fr. Vérification Google Ads (purchase remonte sous 15 min).
GA4 DebugView : funnel complet view_item, add_to_cart, begin_checkout, add_payment_info, purchase.
Meta Events Manager > Test Events : Purchase, AddToCart, ViewContent OK.
Pas de doublon : Google Ads ne montre pas la même transaction 2x.
Tag Assistant : aucune balise ne pointe vers mjqrsgprru.kapitales.fr.
Consent Mode V2 : ad_storage, analytics_storage, ad_user_data, ad_personalization transmis.

📅 Surveillance J+1 à J+7

Jour Action Seuil d'alerte
J+1 Comparer volumes GA4 et Google Ads vs baseline J-7 Baisse GA4 > 40% ou zéro conv = rollback
J+2 à J+3 Vérifier Meta Events Manager (Event Match Quality) EMQ < 4 ou volume divisé par 2 = investiguer
J+3 à J+5 Stabilisation, NE PAS modifier budgets ni enchères Phase de réapprentissage Google Ads et Meta
J+7 Si stable, lancer la phase 7 (désactivation Sirdata) Sirdata reste actif comme filet de sécurité jusque là

🛑 Phase 7 : désactivation Sirdata côté plateforme

7
Coupure définitive du conteneur server-side
10 minutes · À J+7 minimum après bascule réussie
Pas de préavis contractuel Sirdata Confirmé par Clémence Guillon le 31 mars 2026. La facturation s'arrête automatiquement dès que les hits tombent à zéro. Pas de délai de résiliation à respecter.
✓ Désactivation finale
Vérifier que les hits Sirdata sont à zéro. Dans la plateforme Sirdata, conteneur GTM-TCTBSLPT, le volume de hits doit être à zéro depuis 3 à 5 jours.
Mail à Melchior. "Bonjour Melchior, la bascule client-side de Kapitales est finalisée. Les hits server-side sont à zéro depuis [date]. Tu peux procéder à la désactivation du conteneur sGTM."
Alternative : désactivation toi-même. Se connecter à https://sgtm.sirdata.io/containers. Onglet Server-Side > Mes Conteneurs. Accéder au conteneur Kapitales. Cliquer sur Désactiver.
Mail récapitulatif à Baptiste. Date de bascule, date de désactivation Sirdata, comparaison baseline vs post-bascule.

🔙 Plan de rollback (si problème)

Fenêtre de rollback Tant que Sirdata n'est pas désactivé en phase 7, le rollback complet est possible en 1 heure. Une fois Sirdata désactivé, il faudrait redéployer un nouveau conteneur, ce qui prend plusieurs jours.

🚨 Quand déclencher le rollback

Symptôme Seuil critique Action
Conversions Google Ads Baisse > 40% sur 24h ou zéro conversion Rollback immédiat
Sessions GA4 Baisse > 50% sur 24h Rollback immédiat
Meta Pixel Plus aucun event reçu Rollback de la phase 5 uniquement
Site KO (page blanche) Erreur JavaScript sur kapitales.fr Rollback immédiat de la phase 2

🔧 Procédure de rollback complète

Élément Procédure Durée
GTM Web GTM-TN92TCN Versions > Sélectionner Pre-bascule-Sirdata-mai-2026 > Publier en tant que version active 5 min
theme.liquid Shopify Thèmes > Anciennes versions > Restaurer la version d'avant ton intervention 5 min
Custom Pixel Sirdata Customer Events > Créer un nouveau Custom Pixel > Coller le code du fichier custom-pixel-sirdata-backup.js 15 min
App Google & YouTube Désactiver le suivi des conversions (ne pas désinstaller) 5 min
App Facebook & Instagram Désactiver Pixel + CAPI (ne pas désinstaller) 5 min

📞 Contacts utiles en cas de blocage

Personne Rôle Email
Melchior Bengtsson Technical Account Manager Sirdata · Connaît le tracking Kapitales depuis le début meb@sirdata.fr
Clémence Guillon Sales Manager Sirdata · Procédure de résiliation cgu@sirdata.fr
Support Sirdata Support technique général support@sirdata.com
Doc officielle résiliation Procédure complète Voir la doc