Menu della documentazione
Risoluzione dei problemi
Risolvere i problemi con CookieHug: il banner non compare, gli script non vengono bloccati, GTM, Debug Mode e segnali di consenso in ritardo.
FAQ / risoluzione dei problemi
Gli script non vengono bloccati
- Verifica che
data-cookiehug-blockingmodesia su"auto"(o non sia impostato) - Lo script potrebbe essere in whitelist (le librerie comuni come jQuery non vengono bloccate)
- Per un controllo manuale usa gli attributi
data-cookiehug-consent
Google Tag Manager non riceve i segnali di consenso
- Verifica che
data-cookiehug-consentmodenon sia impostato su"disabled" - Verifica che
gtagodataLayersiano disponibili nella pagina - Controlla dalla console:
dataLayerdeve contenere eventi di consenso
Il consenso non persiste tra i caricamenti di pagina
- Verifica che il localStorage sia disponibile e non bloccato
- Verifica che i cookie non vengano cancellati dalle impostazioni del browser
- Verifica che il consenso non sia scaduto (30 giorni per impostazione predefinita)
Come provo il consenso senza cancellare i cookie ogni volta?
Esegui CookieHug.withdraw() nella console del browser per azzerare lo stato del consenso. Cancella tutti i dati di consenso, riporta Google Consent Mode a denied e ricarica automaticamente la pagina, così gli script precedentemente consentiti tornano a essere bloccati correttamente.
Come verifico lo stato del consenso dalla console?
// Stato completo del consenso
console.log(window.CookieHug.consent);
// L'utente ha risposto?
console.log(window.CookieHug.hasResponse);
// Quali normative si applicano?
console.log(window.CookieHug.regulations);Debug Mode e diagnostica
CookieHug include un Debug Mode integrato che verifica in modo proattivo se il tuo comando default di Consent Mode (e un eventuale stub TCF) si carica prima che partano i tag Google. Non influisce mai sul banner né sul consenso: è un osservatore che segnala configurazioni errate.
Si attiva in tre modi:
- aggiungendo
?cookiehug_debug=1all'URL della pagina, - eseguendo
localStorage.cookiehugDebug = '1'nella console del browser, - oppure attivando il Debug Mode per 24 h dalla dashboard CookieHug (dettaglio del dominio → diagnostica).
Una volta attivo, in basso a destra compare un badge CookieHug debug (verde = ok, ambra = avvisi, rosso = errori). Cliccandolo ottieni il report completo nella console. I report confluiscono anche nella dashboard e attivano avvisi e-mail proattivi oltre a un banner nell'interfaccia.
Messaggi di debug
CHUG_ORDER_OK— la configurazione è corretta: il comando default è stato eseguito prima dei tuoi tag.CHUG_GA_BEFORE_SDK/CHUG_ORDER_LATE— un tag Google è partito troppo presto. Vedi Cosa fare quando un tag è in ritardo.CHUG_NO_DEFAULT_CONSENT— nessun comando default rilevato; i tag potrebbero essere partiti senza consenso.CHUG_TCF_STUB_PRESENT— è stato rilevato uno stub TCF__tcfapi; assicurati che si carichi prima dei tuoi tag.
Cosa fare quando un tag è in ritardo
Il Debug Mode segnala un tag come in ritardo (CHUG_GA_BEFORE_SDK / CHUG_ORDER_LATE) quando uno script Google (GA4, Google Ads, GTM) parte prima che CookieHug imposti lo stato di consenso predefinito. Di conseguenza il tag può girare senza segnale di Consent Mode.
Passo 1 — verifica prima se il tag usa Google Tag Gateway (GTG). È importante: con GTG il tag Google viene servito dal tuo dominio (prima parte), quindi i tempi di caricamento appaiono diversi e il tag può essere segnalato in ritardo per errore.
Come verificare se il tag usa GTG
- Apri DevTools → Network e ricarica la pagina.
- Trova la richiesta che carica il tag Google (es.
gtag/js,gtm.js,collect). - Guarda il dominio della richiesta: se il tag si carica dal tuo dominio (es.
metrics.tuodominio.it) invece che dagoogletagmanager.com/google-analytics.com, probabilmente usa GTG → leggi Google Tag Gateway (GTG).
Se il tag NON usa GTG — correggi l'ordine
Quando il tag si carica direttamente dai domini di Google, «in ritardo» è un vero problema di ordine. Metti lo script di CookieHug per primo nell'<head>, prima di qualsiasi gtag.js, gtm.js o tag GA4, poi ricarica con ?cookiehug_debug=1 e verifica che compaia CHUG_ORDER_OK.
<head>
<!-- 1) prima CookieHug -->
<script src="https://cookiehug.com/api/script/LA-TUA-CHIAVE-DI-LICENZA.js"></script>
<!-- 2) poi Google -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXX"></script>
</head>Google Tag Gateway (GTG)
Google Tag Gateway (GTG) è un modo per servire i tag Google (tag Google / GA4 / un intero container GTM) dal tuo dominio (prima parte) anziché direttamente da googletagmanager.com. Le richieste passano da un gateway leggero sulla tua infrastruttura (CDN/server), migliorando la durabilità della misurazione nei browser che limitano gli script di terze parti.
Impatto sul consenso — leggi prima questo. GTG viene spesso attivato tramite un'integrazione CDN con un clic (per esempio direttamente da Cloudflare). Quella comodità ha un prezzo: il CDN inserisce ed esegue il tag Google al posto tuo, quindi il cliente perde spesso il controllo sull'ordine di caricamento degli script. Il gateway può eseguire il tag Google *prima* che il comando default del tuo CMP sia stato eseguito: è esattamente ciò che produce un segnale di consenso «in ritardo» nel Debug Mode di CookieHug. GTG cambia *dove e quando* il tag si carica, ma il tag continua a leggere Consent Mode; la sfida è garantire che il comando default venga eseguito per primo.
Documentazione ufficiale di Google: Google tag gateway for advertisers · Get started guide · One-click CDN (Cloudflare) setup.
Come verificare se un tag è iscritto a GTG
- Apri DevTools → Network e ricarica la pagina.
- Trova la richiesta che carica il tag Google (es.
gtag/js,gtm.js,collect). - Controlla il dominio della richiesta: se parte dal tuo dominio o sottodominio (es.
metrics.tuodominio.it) invece che dagoogletagmanager.com/google-analytics.com, il tag è iscritto a GTG. - Fai una controprova nelle impostazioni Google Ads / GA4 → Google tag gateway, dove sono elencati i domini iscritti.
Perché GTG può essere segnalato in ritardo per errore
Il Debug Mode di CookieHug confronta l'orario di avvio delle richieste Google con l'inizializzazione dell'SDK. Con GTG il tag si carica dal tuo dominio e spesso prima o più velocemente, quindi l'euristica può segnarlo in ritardo anche se Consent Mode funziona correttamente. Verifica sempre l'iscrizione a GTG prima di trattare un avviso come un problema reale.
Segnale in ritardo su un tag iscritto a GTG — rimedio consigliato
Se il Debug Mode segnala un segnale in ritardo (`CHUG_ORDER_LATE`) e hai confermato che il tag è iscritto a GTG, l'ordine di caricamento è di norma controllato dal CDN e non da te. Scegli una delle opzioni seguenti, in ordine di preferenza:
- Consigliato — adotta U+C (Consent Mode advanced). Per i tag iscritti a GTG, U+C (Consent Mode advanced) è il meccanismo consigliato perché è compatibile con il GTG manuale: il tag si carica sempre e adatta da sé il proprio comportamento in base al segnale di consenso, quindi non dipende dal vincere una gara sull'ordine di caricamento. Poi, nel prodotto Google, attiva Data Transmission Controls e Global Consent Defaults secondo le tue esigenze, così oscuramento e consenso predefinito vengono applicati lato Google.
- Oppure sposta tutto in un container GTM e distribuisci GTM tramite GTG. Raccogli i tuoi tag Google in un unico container GTM e servilo attraverso il gateway. Il consenso viene allora cablato una sola volta dentro GTM (Consent Settings per tag) e il comando default di CookieHug viene rispettato prima che i tag del container vengano valutati.
- Oppure configura GTG manualmente (anziché con l'integrazione CDN a un clic), così sei tu a controllare l'ordine di importazione degli script: carica il comando default di Consent Mode di CookieHug prima del tag del gateway.
Come lavorare con GTG in CookieHug
- Tieni lo script di CookieHug per primo nell'
<head>: anche con GTG il comando default deve essere inviato prima che il tag si inizializzi. - Verifica che il comando default venga rispettato: apri GA4 → Amministrazione → DebugView e controlla
analytics_storage/ad_storagesugli eventi. - In console controlla
window.CookieHug.consent: deve corrispondere alla scelta dell'utente. - Se il consenso viene rispettato, considera l'avviso di ritardo GTG un falso positivo dovuto ai tempi di prima parte.
- Se il consenso non viene rispettato (il tag raccoglie dati nonostante
denied), applica il rimedio qui sopra.