Plateformes

Comment configurer Google Tag Manager avec Cookiequiet

Chargez Cookiequiet dans le head de la page au-dessus de la balise Google Tag Manager avec data-consent-mode="1", et placez le bloc de consentement par défaut de Google entre les deux pour que le conteneur ne s’exécute jamais sans valeur par défaut. Les balises Google du conteneur suivent alors le Consent Mode v2 via leurs contrôles intégrés ; pour les autres balises, déclenchez sur l’événement cq_consent avec les indicateurs cq_analytics, cq_marketing et cq_functional.
Publié le 20 octobre 2026 · Par l’équipe Cookiequiet

Étapes

Ordonner le head : Cookiequiet, valeurs par défaut, conteneurCollez la balise Cookiequiet en premier dans le head, puis le bloc de consentement par défaut de Google (chaque type refusé sauf security_storage, avec wait_for_update à 500), puis le code du conteneur GTM aussi haut que possible dans le head. La partie noscript reste juste après la balise body ouvrante.
Activer la présentation du consentementDans Tag Manager, allez dans Admin, puis Paramètres du conteneur, et activez « Consent Overview » (présentation du consentement). L’icône de bouclier dans la liste des balises montre alors quelles balises ont un consentement configuré.
Laisser les balises Google sur leurs contrôles intégrésLes balises Google Analytics, Google Ads, Floodlight et Conversion Linker s’adaptent d’elles-mêmes à l’état du consentement. Elles n’ont besoin d’aucun déclencheur supplémentaire : Cookiequiet envoie la mise à jour du consentement quand le visiteur choisit.
Créer les variables de couche de donnéesSous Variables, créez trois variables de couche de données nommées cq_analytics, cq_marketing et cq_functional, qui lisent les clés du même nom.
Créer les déclencheurs cq_consentSous Déclencheurs, créez un déclencheur Événement personnalisé avec le nom d’événement cq_consent, limité à certains événements personnalisés où cq_analytics est égal à true ; répétez pour cq_marketing et cq_functional.
Associer les déclencheurs aux balises non GoogleDonnez à Hotjar, LinkedIn, TikTok, Meta Pixel et aux autres balises non Google le déclencheur cq_consent correspondant à la place de « All Pages », réglez-les pour se déclencher une fois par page, et ajoutez éventuellement « Require additional consent for tag to fire » dans leurs paramètres de consentement.
Prévisualiser et testerOuvrez la prévisualisation (Tag Assistant). Au chargement, l’onglet Consent montre chaque type refusé ; après Tout accepter, il montre la mise à jour et les balises se déclenchent ; après Tout refuser, aucun cookie _ga ou _fbp n’est déposé. Publiez le conteneur.

L’ordre des scripts dans le head

La règle de Google pour le Consent Mode est simple : l’état de consentement par défaut doit être défini avant le chargement de la balise Google ou du conteneur, sinon les valeurs par défaut ne fonctionnent pas. Cookiequiet pousse les valeurs refusées par défaut dès qu’il s’exécute quand la balise porte data-consent-mode="1". Comme la balise est différée et que le conteneur se charge de façon asynchrone, une page longue pourrait laisser le conteneur s’exécuter en premier ; la parade standard, documentée par Google, est un bloc de valeurs par défaut inline juste avant le conteneur. Votre head se lit alors ainsi :

html
<!-- 1. Cookiequiet -->
<script src="https://cookiequiet.com/cq.js" data-site="YOUR_SITE_KEY" data-consent-mode="1" data-auto-block="1" defer></script>
​
<!-- 2. État de consentement par défaut, avant le conteneur -->
<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>
​
<!-- 3. Google Tag Manager, aussi haut que possible dans le head -->
<script>(function(w,d,s,l,i){ /* le code du conteneur, depuis Admin, Installer Google Tag Manager */ })(window,document,'script','dataLayer','GTM-XXXXXXX');</script>

La partie noscript du conteneur reste juste après la balise body ouvrante. Cookiequiet ne retient pas le conteneur lui-même : Google Tag Manager ne dépose aucun cookie, et le charger avec des valeurs refusées par défaut correspond à ce que Google appelle l’implémentation avancée, celle qui produit des pings sans cookies et des données modélisées.

Ce que Cookiequiet envoie au dataLayer

  • gtag('consent', 'default', ...) : chaque type refusé sauf security_storage, avec wait_for_update: 500, poussé quand la balise s’exécute.
  • gtag('consent', 'update', ...) après chaque choix, et à chaque chargement de page où un choix est enregistré : la mesure d’audience donne analytics_storage ; le marketing donne ad_storage, ad_user_data et ad_personalization ; le fonctionnel donne functionality_storage et personalization_storage.
  • Un événement dataLayer cq_consent avec trois booléens, cq_functional, cq_analytics et cq_marketing, poussé aux mêmes moments.

Les visiteurs hors des régions où le bandeau s’affiche (si vous utilisez le ciblage géographique) obtiennent chaque catégorie accordée d’emblée : la mise à jour atteint donc le conteneur dès leur première page vue aussi.

Comment configurer le conteneur

  1. Consent Overview. Dans « Admin », puis « Paramètres du conteneur », activez « Consent Overview » (présentation du consentement). L’icône de bouclier dans la liste « Balises » trie les balises entre « consentement configuré » et « consentement non configuré » et permet d’en modifier plusieurs à la fois.
  2. Balises Google. Google Analytics, Google Ads, Floodlight et Conversion Linker ont des contrôles de consentement intégrés : elles lisent l’état du consentement et adaptent ce qu’elles envoient. Gardez leurs déclencheurs habituels ; voir les guides Google Analytics 4 et Google Ads pour ce que fait chaque signal.
  3. Autres balises. Pour Hotjar, LinkedIn Insight, TikTok, le modèle Meta Pixel, Microsoft Clarity et les balises similaires, utilisez l’événement cq_consent :

- Variables : créez trois variables de couche de données, cq_analytics, cq_marketing, cq_functional. - Déclencheurs : créez un déclencheur Événement personnalisé avec le nom d’événement cq_consent, limité à certains événements personnalisés, condition cq_marketing equals true (et de même pour les deux autres). - Balises : remplacez « All Pages » par le déclencheur correspondant et réglez les options de déclenchement des balises sur une fois par page, puisque l’événement peut se produire deux fois sur une page où le visiteur change d’avis. - Éventuellement, sous Paramètres avancés, puis Paramètres de consentement, sélectionnez « Require additional consent for tag to fire » (exiger un consentement supplémentaire pour déclencher la balise) et ajoutez ad_storage ou analytics_storage : Tag Manager refuse alors de déclencher la balise tant que ce type est refusé, quel que soit le déclencheur.

  1. Balises d’événement. Les balises de conversion ou de formulaire qui se déclenchent sur leurs propres événements gardent leurs déclencheurs ; donnez-leur plutôt le contrôle de consentement supplémentaire, pour qu’elles soient ignorées tant que le consentement est refusé.

Un déclencheur Initialisation du consentement est prévu pour un outil de consentement chargé depuis l’intérieur du conteneur. Cookiequiet est chargé depuis la page, ce qui est plus fiable : un script injecté par une balise HTML personnalisée se charge de façon asynchrone, et les balises sur Initialisation et « All Pages » ne l’attendent pas.

Comment tester

  1. Ouvrez « Prévisualiser » dans Tag Manager et chargez votre site. Dans Tag Assistant, ouvrez l’onglet « Consent » : sur le premier événement, chaque type est refusé, avec les lignes default et update listées.
  2. Cliquez sur « Tout accepter » : un événement cq_consent apparaît dans le résumé, l’onglet Consent montre la mise à jour en accordé, et les balises associées aux déclencheurs se déclenchent.
  3. Rechargez dans une fenêtre de navigation privée et cliquez sur « Tout refuser » : aucune balise déclenchée par cq_consent ne se déclenche, et le navigateur n’a aucun cookie _ga ni _fbp.
  4. « Publier » le conteneur. Le registre des consentements dans le tableau de bord Cookiequiet enregistre les deux choix.

Limites à connaître

  • Cookiequiet n’est pas une CMP certifiée par Google pour l’IAB TCF : les sites qui affichent des annonces AdSense, Ad Manager ou AdMob aux visiteurs de l’EEE, du Royaume-Uni ou de la Suisse ont besoin d’une CMP certifiée pour ces annonces. Le suivi des conversions, la mesure d’audience et les pixels fonctionnent avec l’intégration Consent Mode décrite ici.
  • Les balises déclenchées depuis un conteneur côté serveur suivent les mêmes signaux côté client ; l’événement dataLayer et les commandes de consentement l’atteignent via le conteneur web.
  • Le consentement Microsoft UET est disponible sur demande et suit la catégorie marketing, ce qui compte si le conteneur charge aussi Microsoft Advertising.

Questions

Non, et il n’en faut pas. Cookiequiet parle au conteneur avec les commandes de consentement de Google et un événement dataLayer : vous configurez le conteneur avec les paramètres de consentement intégrés, des variables de couche de données et un déclencheur Événement personnalisé.
C’est possible, mais moins fiable : un script injecté par une balise se charge de façon asynchrone et les autres balises ne l’attendent pas. Chargez la balise depuis le head de la page au-dessus du conteneur, avec le bloc de valeurs par défaut inline, comme montré ci-dessus.
Parce que vous n’avez pas indiqué à Tag Manager de quel type de consentement elles ont besoin. Les balises Google ont des contrôles intégrés et n’ont besoin de rien ; pour les autres, associez un déclencheur cq_consent et, si vous voulez un blocage ferme, ajoutez « Require additional consent for tag to fire ».
Google appelle cela l’implémentation basique : rien n’est envoyé avant le consentement, mais Google ne peut pas modéliser les données manquantes. L’implémentation avancée ci-dessus charge le conteneur avec des valeurs refusées par défaut ; les balises Google envoient des pings sans cookies et Google modélise les conversions et le comportement. Les deux sont valables ; le choix vous appartient.
Dans Tag Assistant, regardez l’événement qui l’a déclenchée. Si elle s’est déclenchée sur « Container Loaded » ou « All Pages », il lui faut le déclencheur cq_consent ou le contrôle de consentement supplémentaire. Si l’onglet Consent ne montre aucune valeur par défaut sur le premier événement, le bloc de valeurs par défaut manque ou se trouve sous le conteneur.

Mettez un bandeau discret sur votre site dès aujourd’hui

Gratuit pour un site avec toutes les fonctions essentielles, sans carte ni période d’essai qui expire. Passez un site en Starter pour €3 par mois pour le mettre à vos couleurs par IA sans la mention Cookiequiet, ou en Pro pour €9 pour le concevoir avec l’agent IA.