Menu de la documentation
Résolution des problèmes
Résoudre les problèmes CookieHug : la bannière ne s'affiche pas, les scripts ne sont pas bloqués, GTM, Debug Mode et signaux de consentement en retard.
FAQ / résolution des problèmes
Les scripts ne sont pas bloqués
- Vérifiez que
data-cookiehug-blockingmodevaut"auto"(ou n'est pas défini) - Le script est peut-être en liste blanche (les bibliothèques courantes comme jQuery ne sont pas bloquées)
- Pour un contrôle manuel, utilisez les attributs
data-cookiehug-consent
Google Tag Manager ne reçoit pas les signaux de consentement
- Vérifiez que
data-cookiehug-consentmoden'est pas réglé sur"disabled" - Vérifiez que
gtagoudataLayerest disponible sur la page - Contrôlez dans la console :
dataLayerdoit contenir des événements de consentement
Le consentement ne persiste pas d'une page à l'autre
- Vérifiez que le localStorage est disponible et non bloqué
- Vérifiez que les cookies ne sont pas effacés par les réglages du navigateur
- Vérifiez que le consentement n'a pas expiré (30 jours par défaut)
Comment tester le consentement sans effacer les cookies à chaque fois ?
Exécutez CookieHug.withdraw() dans la console du navigateur pour réinitialiser l'état du consentement. Cela efface toutes les données de consentement, remet Google Consent Mode sur denied et recharge automatiquement la page pour que les scripts précédemment autorisés soient de nouveau correctement bloqués.
Comment vérifier l'état du consentement dans la console ?
// État complet du consentement
console.log(window.CookieHug.consent);
// L'utilisateur a-t-il répondu ?
console.log(window.CookieHug.hasResponse);
// Quelles réglementations s'appliquent ?
console.log(window.CookieHug.regulations);Debug Mode et diagnostic
CookieHug embarque un Debug Mode qui vérifie de façon proactive si votre commande par défaut de Consent Mode (et un éventuel stub TCF) se charge avant le déclenchement de vos balises Google. Il n'affecte jamais la bannière ni le consentement — c'est un observateur qui signale les mauvaises configurations.
Trois façons de l'activer :
- ajoutez
?cookiehug_debug=1à l'URL de la page, - exécutez
localStorage.cookiehugDebug = '1'dans la console du navigateur, - ou activez le Debug Mode pour 24 h depuis le tableau de bord CookieHug (détail du domaine → diagnostic).
Une fois actif, un badge CookieHug debug apparaît en bas à droite (vert = OK, orange = avertissements, rouge = erreurs). Cliquez dessus pour obtenir le rapport complet dans la console. Les rapports remontent aussi dans le tableau de bord et déclenchent des alertes e-mail proactives ainsi qu'un bandeau dans l'interface.
Messages de debug
CHUG_ORDER_OK— la configuration est correcte : la commande par défaut s'est exécutée avant vos balises.CHUG_GA_BEFORE_SDK/CHUG_ORDER_LATE— une balise Google s'est déclenchée trop tôt. Voir Que faire quand une balise est en retard.CHUG_NO_DEFAULT_CONSENT— aucune commande par défaut détectée ; des balises ont pu s'exécuter sans consentement.CHUG_TCF_STUB_PRESENT— un stub TCF__tcfapia été détecté ; assurez-vous qu'il se charge avant vos balises.
Que faire quand une balise est en retard
Le Debug Mode signale une balise comme en retard (CHUG_GA_BEFORE_SDK / CHUG_ORDER_LATE) lorsqu'un script Google (GA4, Google Ads, GTM) se déclenche avant que CookieHug ne pose l'état de consentement par défaut. La balise risque alors de s'exécuter sans signal Consent Mode.
Étape 1 — vérifiez d'abord si la balise utilise Google Tag Gateway (GTG). C'est important : avec GTG, la balise Google est servie depuis votre propre domaine (first-party), les temps de chargement diffèrent donc et la balise peut être signalée en retard à tort.
Comment vérifier si la balise utilise GTG
- Ouvrez DevTools → Network et rechargez la page.
- Trouvez la requête qui charge la balise Google (p. ex.
gtag/js,gtm.js,collect). - Regardez le domaine de la requête : si la balise se charge depuis votre propre domaine (p. ex.
metrics.votredomaine.fr) au lieu degoogletagmanager.com/google-analytics.com, elle utilise probablement GTG → lisez Google Tag Gateway (GTG).
Si la balise n'utilise PAS GTG — corrigez l'ordre
Lorsque la balise se charge directement depuis les domaines de Google, « en retard » est un vrai problème d'ordre. Placez le script CookieHug en premier dans le <head>, avant tout gtag.js, gtm.js ou balise GA4, puis rechargez avec ?cookiehug_debug=1 et vérifiez que CHUG_ORDER_OK apparaît.
<head>
<!-- 1) CookieHug en premier -->
<script src="https://cookiehug.com/api/script/VOTRE-CLÉ-DE-LICENCE.js"></script>
<!-- 2) ensuite Google -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXX"></script>
</head>Google Tag Gateway (GTG)
Google Tag Gateway (GTG) permet de servir les balises Google (balise Google / GA4 / un conteneur GTM entier) depuis votre propre domaine (first-party) plutôt que directement depuis googletagmanager.com. Les requêtes transitent par une passerelle légère sur votre infrastructure (CDN/serveur), ce qui améliore la durabilité de la mesure dans les navigateurs qui restreignent les scripts tiers.
Impact sur le consentement — à lire en premier. GTG est souvent activé via une intégration CDN en un clic (par exemple directement depuis Cloudflare). Cette facilité a un coût : le CDN injecte et exécute la balise Google à votre place, si bien que le client perd souvent la maîtrise de l'ordre de chargement des scripts. La passerelle peut exécuter la balise Google *avant* que la commande par défaut de votre CMP n'ait été exécutée — c'est exactement ce qui produit un signal de consentement « en retard » dans le Debug Mode de CookieHug. GTG change *où et quand* la balise se charge, mais celle-ci lit toujours Consent Mode ; l'enjeu est de garantir que la commande par défaut passe en premier.
Documentation officielle de Google : Google tag gateway for advertisers · Get started guide · One-click CDN (Cloudflare) setup.
Comment vérifier qu'une balise est inscrite à GTG
- Ouvrez DevTools → Network et rechargez la page.
- Trouvez la requête qui charge la balise Google (p. ex.
gtag/js,gtm.js,collect). - Regardez le domaine de la requête : si elle part de votre propre domaine ou sous-domaine (p. ex.
metrics.votredomaine.fr) au lieu degoogletagmanager.com/google-analytics.com, la balise est inscrite à GTG. - Recoupez dans les paramètres Google Ads / GA4 → Google tag gateway, où figurent les domaines inscrits.
Pourquoi GTG peut être signalé en retard à tort
Le Debug Mode de CookieHug compare l'heure de départ des requêtes Google avec l'initialisation du SDK. Avec GTG, la balise se charge depuis votre propre domaine, souvent plus tôt ou plus vite, si bien que l'heuristique peut la marquer en retard alors que Consent Mode fonctionne correctement. Vérifiez toujours l'inscription à GTG avant de traiter un avertissement comme un vrai problème.
Signal en retard sur une balise inscrite à GTG — correctif recommandé
Si le Debug Mode signale un signal en retard (`CHUG_ORDER_LATE`) et que vous avez confirmé l'inscription de la balise à GTG, l'ordre de chargement est en général contrôlé par le CDN et non par vous. Choisissez l'une des options suivantes, par ordre de préférence :
- Recommandé — adoptez U+C (Consent Mode advanced). Pour les balises inscrites à GTG, U+C (Consent Mode advanced) est le mécanisme recommandé, car il est compatible avec le GTG manuel : la balise se charge toujours et ajuste elle-même son comportement d'après le signal de consentement, sans dépendre d'une course à l'ordre de chargement. Activez ensuite, dans votre produit Google, Data Transmission Controls et Global Consent Defaults selon vos besoins afin que l'expurgation et le consentement par défaut soient appliqués côté Google.
- Ou migrez tout dans un conteneur GTM et déployez GTM via GTG. Regroupez vos balises Google dans un seul conteneur GTM et servez-le à travers la passerelle. Le consentement est alors câblé une seule fois dans GTM (Consent Settings par balise), et la commande par défaut de CookieHug est respectée avant l'évaluation des balises du conteneur.
- Ou configurez GTG manuellement (au lieu de l'intégration CDN en un clic) afin que vous contrôliez l'ordre d'import des scripts — chargez la commande par défaut de Consent Mode de CookieHug avant la balise de la passerelle.
Comment travailler avec GTG dans CookieHug
- Gardez le script CookieHug en premier dans le
<head>— même avec GTG, la commande par défaut doit être envoyée avant l'initialisation de la balise. - Vérifiez que la commande par défaut est respectée : ouvrez GA4 → Admin → DebugView et contrôlez
analytics_storage/ad_storagesur les événements. - Dans la console, vérifiez
window.CookieHug.consent— la valeur doit correspondre au choix de l'utilisateur. - Si le consentement est respecté, considérez l'avertissement de retard GTG comme un faux positif dû au timing first-party.
- Si le consentement n'est pas respecté (la balise collecte des données malgré
denied), appliquez le correctif ci-dessus.