Guides par plateforme

Consent Mode v2 sur Shopify : la configuration pas à pas

Sommaire de l'article

Le Google Consent Mode v2 indique à vos balises Google ce que le visiteur a accepté. Il repose sur quatre signaux : ad_storage, analytics_storage, ad_user_data et ad_personalization. Depuis mars 2024, Google exige les deux signaux les plus récents pour les visiteurs de l'Espace économique européen si vous voulez conserver le remarketing, les audiences et la mesure complète des conversions dans Google Ads. Notre guide d'implémentation du Google Consent Mode v2 détaille le mécanisme ; cet article se concentre sur ce qui est propre à Shopify.

Le centre d'aide de Shopify le dit clairement : les données d'événements envoyées à Google pour les clients de l'EEE ne servent pas à la publicité personnalisée tant que le Consent Mode v2 n'est pas activé et qu'un consentement valable n'a pas été obtenu. Pour une boutique qui vit de Google Ads, une configuration absente ou cassée veut dire des listes de remarketing plus petites et des conversions moins fiables, en plus du risque juridique au regard du RGPD.

Sur Shopify, la difficulté n'est pas le code. C'est que les balises Google peuvent entrer par trois portes : le canal de vente Google & YouTube, un pixel personnalisé dans Settings → Customer events (Paramètres, Événements client), ou un script dans votre thème (gtag.js ou Google Tag Manager). Chaque porte suit une source de consentement différente.

Les deux voies du consentement vers Google sur Shopify

Voie 1 : les paramètres de confidentialité Shopify et l'application Google & YouTube

Shopify enregistre le choix du visiteur dans sa Customer Privacy API, avec quatre catégories : analytics, marketing, preferences et sale_of_data. Ce choix peut venir du bandeau cookies natif de Shopify (Settings → Customer privacy) ou d'une application de consentement tierce qui appelle setTrackingConsent() au clic du visiteur.

L'application Google & YouTube lit cet état de consentement et le transmet à Google. Les pixels d'application dans Customer events (Google, Meta, TikTok) suivent eux aussi la Customer Privacy API. C'est la voie que Shopify prend en charge nativement, et la seule qui couvre le checkout et la page de statut de commande, où le code de votre thème ne s'exécute pas.

Une exception : si vous ajoutez Google par un pixel personnalisé dans Customer events, Shopify précise que vous devez insérer vous-même le code du Consent Mode v2 dans ce pixel.

Voie 2 : une CMP dans theme.liquid avec le stub gtag

La seconde voie place le bandeau et le stub du Consent Mode dans theme.liquid, juste après <head> et au-dessus de {{ content_for_header }}. Le stub déclare les quatre signaux à denied dès la lecture du HTML, avant le chargement de toute balise Google. Quand le visiteur accepte ou refuse, le bandeau envoie gtag('consent', 'update', …) et charge, ou laisse bloquées, les balises que vous y avez déclarées.

Cette voie vous donne un seul bandeau et un seul registre des consentements pour toute la vitrine, avec le même comportement que sur vos autres sites. Sa limite est le checkout : Shopify n'y exécute pas le code du thème, donc le suivi des conversions sur la page de remerciement passe par Customer events, qui suivent la Customer Privacy API.

Quelle voie choisir ?

Une seule source de vérité par balise, jamais deux.

  • Vos balises Google viennent de l'application Google & YouTube (Merchant Center, Performance Max, conversions d'achat) : restez sur la voie 1. Utilisez le bandeau Shopify ou une application de consentement qui écrit dans la Customer Privacy API, et n'ajoutez pas un second gtag.js dans le thème.
  • Vos balises Google vivent dans le thème ou dans GTM (GA4 avec événements personnalisés, plusieurs comptes Ads, d'autres outils dans GTM) : la voie 2 est plus simple. Désactivez le partage de données dans le canal Google & YouTube pour qu'il n'envoie rien de lui-même, et laissez la CMP piloter le Consent Mode.
  • Vous utilisez les deux aujourd'hui : c'est une configuration fréquente, et la plus fragile. Le bandeau du thème dit « refusé » alors que le pixel du canal suit un état de consentement Shopify que personne n'a renseigné. Choisissez une voie et retirez le doublon.

Si vous ne savez pas ce que votre boutique charge aujourd'hui, vérifiez d'abord : lancez le scanner de cookies gratuit sur votre page d'accueil et une fiche produit pour voir en 30 secondes quels cookies sont déposés avant tout choix.

Le choix entre Consent Mode Basic et Advanced vaut pour les deux voies. En Basic, les balises Google attendent le consentement ; en Advanced, elles se chargent en mode sans cookies et envoient des pings anonymes après un refus. Notre comparatif Consent Mode Basic ou Advanced explique l'effet de chacun sur vos données.

Les menus ci-dessous sont nommés comme dans l'admin Shopify en anglais.

Avec la voie 1 (Customer Privacy API)

  1. Dans Settings → Customer privacy, sélectionnez les régions où un bandeau cookies doit s'afficher (au minimum l'EEE, le Royaume-Uni et la Suisse si vous y vendez).
  2. Activez le bandeau Shopify ou installez une application de consentement qui indique être reliée à la Customer Privacy API. Shopify demande aux marchands qui utilisent un bandeau tiers de l'intégrer à ces paramètres.
  3. Dans l'application Google & YouTube, connectez vos comptes Google Ads et Merchant Center et laissez le partage de données actif.
  4. Supprimez de theme.liquid tout gtag.js ou GTM qui ferait doublon avec les mêmes balises Google.
  5. Si vous passez par un pixel personnalisé pour Google, ajoutez-y le code du Consent Mode v2.

Avec la voie 2 (CMP dans le thème)

  1. Dupliquez votre thème par sécurité, puis ouvrez Online Store → Themes → … → Edit code → Layout → theme.liquid.
  2. Collez le snippet de la CMP juste après <head> : le stub du Consent Mode d'abord, puis le chargeur du bandeau. Tout ce qui est au-dessus échappe au blocage préalable.
  3. Si vous utilisez GTM, gardez son conteneur sous le snippet de la CMP, jamais au-dessus.
  4. Dans le canal Google & YouTube, désactivez le partage de données (ou retirez les identifiants de mesure) pour que le pixel du canal cesse d'envoyer des événements hors de votre bandeau.
  5. Déclarez GA4 et Google Ads comme services dans votre CMP pour qu'ils ne se chargent qu'après consentement.
  6. Retirez le bandeau natif de Shopify (Settings → Customer privacy → Cookie banner → Remove) pour que vos visiteurs ne voient jamais deux bandeaux.

Un exemple concret : avec FlowConsent, le snippet copié depuis le tableau de bord contient déjà le stub avec les quatre valeurs denied, wait_for_update, url_passthrough et ads_data_redaction, suivi du chargeur du bandeau. Vous collez un seul bloc et l'ordre est bon par construction.

Checkout, Customer events et pixels personnalisés

Trois particularités de Shopify piègent la plupart des marchands.

  • Le checkout n'exécute pas le code du thème. Votre bandeau n'apparaît ni au checkout ni sur la page de statut de commande, et l'ancien champ « additional scripts » a été retiré. Le visiteur fait son choix sur la vitrine.
  • Customer events tourne dans un bac à sable. Les pixels d'application et les pixels personnalisés s'exécutent hors de votre thème : un bandeau dans le thème ne peut pas les bloquer. Ils suivent la Customer Privacy API.
  • Les mises à jour de thème peuvent effacer vos modifications. Mettre à jour un thème depuis le Theme Store ne reprend pas forcément vos changements de code. Après chaque mise à jour, vérifiez que le snippet est toujours en haut de theme.liquid.
  1. Ouvrez la boutique en navigation privée et, avant de cliquer, regardez les requêtes vers google-analytics.com ou googleadservices.com. En mode Advanced, vous pouvez voir des pings portant gcs=G100 (tout refusé) ; en mode Basic, vous ne devez rien voir.
  2. Cliquez sur Refuser : aucun cookie _ga ni _gcl_au ne doit apparaître.
  3. Cliquez sur Accepter : les requêtes suivantes doivent porter gcs=G111.
  4. Dans Google Tag Assistant, l'onglet Consent doit montrer un état default avant toute balise, puis un update.

Notre guide pour vérifier que le Consent Mode v2 fonctionne détaille chaque test, et le guide RGPD des cookies Shopify couvre le reste de la conformité de la boutique.

Les erreurs fréquentes sur Shopify

  • Un gtag.js dans le thème et le canal Google & YouTube actif : double suivi et deux sources de consentement.
  • GTM collé au-dessus du snippet de consentement : la commande config part vers Google avant les valeurs par défaut.
  • Un bandeau tiers qui n'écrit pas dans la Customer Privacy API alors que les pixels d'application restent actifs : ces pixels suivent un état de consentement que vos visiteurs n'ont jamais donné.
  • Le bandeau Shopify et celui d'une CMP affichés ensemble : deux choix contradictoires.
  • Ne tester que le parcours « Accepter ». C'est le refus qui doit tenir juridiquement.

FlowConsent suit la voie 2. Vous collez un seul snippet en haut de theme.liquid : il règle les quatre signaux du Consent Mode v2 sur denied avant toute balise Google, puis envoie la mise à jour dès que le visiteur choisit. GA4, Google Ads ou le Meta Pixel sont déclarés comme services et ne se chargent qu'après consentement, et chaque choix est conservé dans une preuve de consentement exportable. L'installation prend une dizaine de minutes, le bandeau est hébergé en Europe, et l'offre est gratuite jusqu'à 25 000 sessions par mois (Pro à 14,99 € par mois jusqu'à 100 000). Le guide d'installation Shopify explique comment couper le partage de données Google & YouTube et retirer le bandeau natif de Shopify pour que FlowConsent reste la seule source de consentement de votre vitrine.

Questions

Questions fréquentes sur ce sujet.

Une question qui n'est pas dans la liste ? Écrivez-nous, on répond vite.

Shopify prend-il en charge le Google Consent Mode v2 ?

Oui. Quand vos paramètres de confidentialité client sont configurés, Shopify transmet le consentement du visiteur à Google via l'application Google & YouTube. Le choix peut venir du bandeau cookies natif de Shopify ou d'une application de consentement tierce reliée à la Customer Privacy API. Si vous chargez Google par un pixel personnalisé dans Customer events, Shopify indique que vous devez y ajouter vous-même le code du Consent Mode v2.

Faut-il l'application Google & YouTube pour le Consent Mode v2 sur Shopify ?

Non. L'application est une voie possible : elle lit le consentement dans la Customer Privacy API et le transmet à Google. L'autre voie est une CMP collée en haut de theme.liquid, qui règle les quatre signaux du Consent Mode sur denied avant toute balise Google et les met à jour après le choix du visiteur. L'essentiel est d'utiliser une seule voie par balise, pour qu'une balise ne suive jamais deux sources de consentement.

Pourquoi Google Analytics collecte-t-il encore des données après un refus sur ma boutique Shopify ?

En général parce qu'une balise Google entre dans la boutique en dehors de votre bandeau. Les causes les plus courantes : le canal Google & YouTube partage encore les données alors que votre bandeau est dans le thème, un pixel personnalisé sans code Consent Mode, ou un conteneur GTM collé au-dessus du snippet de consentement. Vérifiez Customer events et le haut de theme.liquid, puis testez de nouveau après un refus.

Le bandeau cookies apparaît-il au checkout Shopify ?

Non, pas un bandeau installé dans votre thème. Shopify n'exécute pas le code du thème au checkout, sur la page de remerciement ni sur la page de statut de commande, et l'ancien champ des scripts additionnels a été retiré. Le visiteur fait son choix sur la vitrine. Le suivi des conversions sur ces pages passe par Customer events, dont les pixels d'application suivent le consentement enregistré dans la Customer Privacy API.

Une boutique Shopify doit-elle choisir le Consent Mode Basic ou Advanced ?

Le mode Basic bloque les balises Google jusqu'à l'acceptation : rien ne part vers Google après un refus. Le mode Advanced charge les balises sans cookies et envoie des pings anonymes après un refus, que Google utilise pour modéliser les conversions. Advanced donne plus de données à Google Ads ; Basic est la lecture la plus prudente des règles de consentement. Les deux fonctionnent sur Shopify, avec une seule voie par balise.

Mettez votre site en conformité aujourd'hui.

Gratuit jusqu'à 25 000 sessions par mois. Sans carte bancaire, sans engagement.