Comment configurer Google Analytics 4 avec Cookiequiet
Laissez la balise Google se charger, mais assurez-vous que la balise Cookiequiet avec data-consent-mode="1" se trouve au-dessus d’elle et que le bloc de consentement par défaut de Google s’exécute avant la balise : Google Analytics 4 reçoit alors analytics_storage refusé jusqu’à ce que le visiteur accepte, et ne dépose aucun cookie _ga avant. Si vous préférez ne pas charger GA4 du tout avant le consentement, marquez ses deux balises script avec type="text/plain" et data-cq-category="analytics".Étapes
Deux façons de faire tourner GA4 derrière un bandeau
Consent Mode (implémentation avancée). La balise Google se charge sur chaque page avec analytics_storage réglé sur refusé. Dans cet état, GA4 ne lit ni n’écrit ses cookies internes et envoie des pings sans cookies, des événements grossiers sans identifiants, que Google utilise pour la modélisation comportementale afin de combler le trou dans vos rapports. Quand le visiteur accepte la mesure d’audience, Cookiequiet envoie la mise à jour, GA4 dépose _ga et _ga_XXXXXXX et mesure normalement. Ordre du head :
html<script src="https://cookiequiet.com/cq.js" data-site="YOUR_SITE_KEY" data-consent-mode="1" data-auto-block="1" defer></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('consent', 'default', {ad_storage: 'denied',ad_user_data: 'denied',ad_personalization: 'denied',analytics_storage: 'denied',functionality_storage: 'denied',personalization_storage: 'denied',security_storage: 'granted',wait_for_update: 500});</script><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script><script>gtag('js', new Date());gtag('config', 'G-XXXXXXX');</script>
Cookiequiet pousse les mêmes valeurs refusées par défaut dès qu’il s’exécute ; le bloc inline est là pour que la valeur par défaut soit dans le dataLayer même sur une page longue où la balise Google asynchrone pourrait s’exécuter avant la balise différée. Google indique que les valeurs par défaut ne fonctionnent pas quand elles sont appelées après la balise.
Marquage (implémentation basique). Rien de GA4 ne se charge avant le consentement. Modifiez les deux balises script et laissez le reste intact :
html<script type="text/plain" data-cq-category="analytics" src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script><script type="text/plain" data-cq-category="analytics">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-XXXXXXX');</script>
Cookiequiet les active quand la mesure d’audience est accordée, et d’emblée lors des visites suivantes où le choix enregistré l’inclut. Pas de pings, pas de modélisation : les rapports ne contiennent que les visiteurs qui ont consenti. Google avertit que bloquer la balise jusqu’au consentement l’empêche de modéliser les données manquantes ; c’est le compromis.
Lequel choisir ? Le Consent Mode donne à Google plus de données sur les visiteurs qui ont refusé (les pings sans cookies atteignent quand même les serveurs de Google) et vous donne des chiffres modélisés. Le marquage n’envoie rien avant le consentement. Certaines autorités de contrôle lisent l’exemption pour la mesure d’audience de façon étroite ; l’article sur la mesure d’audience sans consentement passe en revue les positions.
Ce que Cookiequiet envoie à la balise Google
| Catégorie dans le bandeau | Types Consent Mode |
|---|---|
| mesure d’audience | analytics_storage |
| marketing | ad_storage, ad_user_data, ad_personalization |
| fonctionnel | functionality_storage, personalization_storage |
La mise à jour est envoyée après chaque choix et à chaque chargement de page où un choix est enregistré. Là où le bandeau n’est pas affiché à cause du ciblage géographique (par exemple des visiteurs américains sur un site qui n’affiche le bandeau que dans les pays réglementés), chaque catégorie est accordée d’emblée : GA4 mesure donc ces visiteurs comme avant.
D’où vient la balise
Les instructions de GA4 disent de coller la balise Google juste après la balise head ouvrante ; avec Cookiequiet, « juste après » devient « juste après la balise Cookiequiet et le bloc de valeurs par défaut ». Si une plateforme imprime la balise à votre place depuis un champ de réglages, cette copie échappe à votre contrôle : retirez l’ID à cet endroit et collez la balise vous-même. Les guides de plateforme indiquent le champ pour Shopify, Squarespace, Wix, Webflow et HubSpot. Avec Google Tag Manager, la balise GA4 utilise ses contrôles de consentement intégrés ; voir le guide Tag Manager.
Comment vérifier et tester
- Ouvrez le site dans Tag Assistant (l’outil de prévisualisation de Google Tag Manager fonctionne aussi pour gtag). Sur le premier événement, l’onglet « Consent » montre
analytics_storagerefusé, venant de la valeur par défaut. Après « Tout accepter », une ligne de mise à jour le montre accordé. - Dans Google Analytics, la page des paramètres de consentement dans Admin indique si vos flux reçoivent des signaux de consentement ; l’article de Google « Vérifier et mettre à jour les paramètres de consentement » explique les statuts.
- Dans une fenêtre de navigation privée, cliquez sur « Tout refuser » : aucun cookie
_ga. Effacez, cliquez sur « Tout accepter », rechargez :_gaet_ga_XXXXXXXsont déposés et le rapport Temps réel montre la visite en quelques minutes. - Le tableau de bord Cookiequiet affiche le taux de consentement, qui vous dit quelle part de votre trafic GA4 mesure désormais avec consentement ; l’article sur les taux de consentement donne des repères.
Les détails qui piègent
- Google Signals et les fonctions publicitaires de GA4 dépendent aussi de
ad_storage,ad_user_dataetad_personalization, que Cookiequiet accorde avec la catégorie marketing. Un visiteur qui accepte la mesure d’audience mais refuse le marketing est mesuré sans fonctions publicitaires. - Les deux balises script doivent être marquées, pas seulement l’externe ; un
gtag('config')inline non marqué mettrait en file d’attente un appel qui part dès que la bibliothèque se charge. - Durée de vie du cookie.
_gadure deux ans par défaut ; le tableau des cookies du bandeau le liste, et le scanner le nomme quand il trouve la balise. - Le tagging côté serveur change où vont les données, pas si le visiteur a consenti : les mêmes signaux s’appliquent.