AccueilRessources → Consent Mode V2 sur Shopify

Consent Mode V2 sur Shopify : le guide d'implémentation propre

Nicolas Malabre · Publié le 27 juillet 2026 · Lecture 7 min
Pour installer Consent Mode V2 sur Shopify proprement : 1) posez le consentement par défaut sur « denied » (ad_storage, ad_user_data, ad_personalization, analytics_storage) avant le chargement de GTM ; 2) branchez l'API Customer Privacy de Shopify sur une commande gtag('consent','update') quand le visiteur choisit ; 3) testez en refusant, pour confirmer qu'aucun tag ne part avant l'accord.

Pourquoi Shopify ne le fait pas correctement tout seul ?

Shopify fournit bien une bannière et une API Customer Privacy pour recueillir le choix du visiteur. Mais recueillir le consentement et le transmettre à Google sont deux choses différentes. Par défaut, la bannière coche une case côté Shopify — elle ne pilote pas les signaux du Consent Mode que Google Ads et GA4 attendent. Résultat : les tags se chargent quand même, et souvent avant même que le visiteur ait cliqué.

6 / 8Sur 8 boutiques Shopify scannées en 2026 (toutes avec une bannière cookies active), 6 laissaient au moins un tag publicitaire — pixel Meta ou balise Google Ads — se déclencher avant le clic sur la bannière. La bannière était là pour la forme ; elle ne bloquait rien.

Étape 1 — Poser le default « denied » avant le moindre tag

C'est la règle n°1, et celle qu'on rate le plus : la commande consent 'default' doit s'exécuter en tout premier, avant le chargement de GTM ou de gtag. Tant que le visiteur n'a rien choisi, tout ce qui touche à la publicité est refusé.

<!-- Tout en haut du <head>, AVANT GTM -->
gtag('consent', 'default', {
  ad_storage: 'denied',
  ad_user_data: 'denied',        // nouveau — V2
  ad_personalization: 'denied',  // nouveau — V2
  analytics_storage: 'denied',
  functionality_storage: 'granted',
  security_storage: 'granted',
  region: ['FR','ES','IT','DE','BE','NL','...EEE'],
  wait_for_update: 500
});

Les deux paramètres ad_user_data et ad_personalization sont l'ajout de la V2 : sans eux, Google coupe le remarketing et les audiences pour le trafic européen depuis mars 2024.

Étape 2 — Brancher la Customer Privacy API de Shopify sur l'update

Quand le visiteur clique sur la bannière, Shopify émet un événement. On l'écoute, et on traduit son choix en commande consent 'update' pour Google :

document.addEventListener('visitorConsentCollected', function (e) {
  var c = e.detail || {};
  gtag('consent', 'update', {
    ad_storage:        c.marketing ? 'granted' : 'denied',
    ad_user_data:      c.marketing ? 'granted' : 'denied',
    ad_personalization:c.marketing ? 'granted' : 'denied',
    analytics_storage: c.analytics ? 'granted' : 'denied'
  });
});

C'est ce maillon — la commande update — qui manque dans la plupart des installations : le default « denied » est parfois posé, mais rien ne vient jamais le mettre à jour, donc même les visiteurs qui acceptent ne sont jamais mesurés.

Étape 3 — Vérifier que rien ne part avant l'accord

Un Consent Mode ne se déclare pas « installé », il se teste :

  1. Refusez sur la bannière, puis ouvrez l'onglet Réseau (Network) : aucune requête vers facebook.com/tr ou google-analytics avec cookie ne doit partir.
  2. Dans GA4 DebugView, vérifiez que le trafic « refusé » remonte en pings modélisés (sans identifiant), pas en événements complets.
  3. Acceptez, et confirmez que la commande update passe bien tout en « granted » — dans l'aperçu Tag Assistant ou la console.

Les 3 erreurs qu'on retrouve presque partout

ErreurConséquence
CMP chargée après GTMLes tags partent avant que le consentement soit connu — le default arrive trop tard
Default « granted » par défautTout est autorisé d'entrée : la bannière ne sert à rien, exposition juridique directe
Commande update manquanteLe consentement n'est jamais transmis : même les « oui » ne sont pas mesurés

Ces réglages débordent vite du navigateur : dès que vous passez en tracking server-side, le consentement doit aussi être transmis au serveur — une CAPI Meta qui envoie sans respecter le consentement échange un problème de mesure contre un problème RGPD. Consent Mode et server-side se pensent ensemble, pas l'un après l'autre.

Basique ou avancé : lequel choisir ?

En mode basique, les tags Google ne se chargent pas tant que le refus tient — vous ne modélisez rien. En mode avancé, ils se chargent mais n'envoient que des pings anonymes sans cookie, ce qui permet à Google de modéliser les conversions perdues. Pour un e-commerce qui dépense en publicité, le mode avancé récupère nettement plus de signal — c'est celui que je recommande par défaut.

FAQ

Faut-il une CMP tierce en plus de la bannière Shopify ?
Pas obligatoirement. L'API Customer Privacy de Shopify suffit à recueillir le choix. Une CMP certifiée TCF n'est utile que si vous avez besoin de la string TCF pour des partenaires publicitaires — et elle doit alors se charger avant GTM et alimenter la même commande consent update.
Consent Mode V2 est-il vraiment obligatoire ?
Pour garder les audiences et le remarketing Google dans l'EEE, oui. Depuis mars 2024, Google exige les signaux ad_user_data et ad_personalization. Sans eux, la personnalisation publicitaire est coupée pour le trafic européen.
Quelle différence entre ad_user_data et ad_personalization ?
ad_user_data autorise l'envoi de données utilisateur à Google à des fins publicitaires ; ad_personalization autorise leur usage pour la publicité personnalisée (remarketing). Les deux sont distincts du consentement analytics et doivent être pilotés séparément.
Ça marche aussi avec le Custom Pixel de Shopify ?
Le Custom Pixel tourne dans un bac à sable (sandbox) isolé, ce qui complique le pilotage du consentement côté client. C'est l'une des raisons pour lesquelles, sur Shopify, on fiabilise souvent la mesure côté serveur — sujet que je traite dans le guide sur le tracking server-side.
Nicolas Malabre

Nicolas MalabreMedia buyer senior — 10 ans d'achat média Google Ads & Meta. Je scanne des stacks e-commerce chaque semaine et je répare la couche de mesure des marques qui dépensent en publicité. Profil Malt ↗

Pas sûr que votre consentement soit bien branché ?

Je scanne votre Shopify avant le call et je vous montre, requêtes réseau à l'appui, quels tags partent avant l'accord — et comment poser un Consent Mode V2 propre.

Diagnostic gratuit — 30 min

Vous repartez avec le diagnostic, que l'on travaille ensemble ou non.