
Integrare il cookie banner con GTM: tag che si attivano solo dopo il consenso, senza perdere dati
Trigger Consent Initialization, listener da CMP, attivazione condizionale dei tag: come integrare correttamente il cookie banner con Google Tag Manager.
In questa pagina
Introduzione
Il cookie banner è obbligatorio. I tag pubblicitari sono obbligatori per fare marketing. La quadratura del cerchio si fa in GTM con i trigger giusti: tag che partono solo dopo il consenso, dati che arrivano modellati quando il consenso non c'è, conformità che funziona senza distruggere il tracciamento.
C'è un equivoco che ti costa caro, e che riguarda quasi tutte le PMI italiane con cui parlo. L'equivoco è questo: "il cookie banner ce l'ho, sono in regola". No. Il cookie banner serve a chiedere il consenso, ma quello che conta davvero, per il Garante e per il GDPR, è quello che succede dopo. Se i tuoi tag pubblicitari partono prima che l'utente clicchi "Accetta", il banner è solo decorativo, e nei casi peggiori è una prova della tua mancata conformità. La buona notizia è che si fa benissimo: GTM ha tutti gli strumenti, ti spiego come.

Cosa rischi se i tag partono prima del consenso
Le sanzioni del Garante in Italia, sul fronte cookie e tracciamento, sono partite forte dal 2022 e non si sono fermate. Le PMI tendono a pensare "tanto colpiscono le grandi", ma negli ultimi due anni l'autorità ha emesso provvedimenti anche su realtà medio-piccole, con sanzioni che, sebbene molto inferiori al massimo teorico di 20 milioni di euro o 4% del fatturato globale, sono comunque nell'ordine delle decine di migliaia di euro. Aggiungi i costi legali, il danno reputazionale, e l'eventuale class action da parte di utenti, e ottieni un rischio che vale la pena prevenire con due ore di lavoro tecnico.
Il problema è quasi sempre lo stesso: tag GA4, Google Ads, Meta Pixel, Hotjar, Microsoft Clarity sparati al caricamento della pagina con trigger "All Pages", senza alcuna condizione sul consenso. L'utente apre il sito, i tag partono, il banner appare un secondo dopo, ma i cookie pubblicitari sono già stati piazzati. È esattamente quello che il Garante ha vietato.
L'architettura corretta in tre componenti
L'architettura che mette tutto in regola ha tre pezzi che lavorano insieme. Primo pezzo: una CMP certificata IAB TCF v2.2, installata in cima alla pagina, che gestisce il banner e raccoglie il consenso. Le CMP "fai da te" o i plugin non certificati ti espongono perché non rispettano i requisiti tecnici del framework europeo.
Secondo pezzo: GTM con un trigger "Consent Initialization" e Consent Mode v2 configurato. Il Consent Initialization è un trigger speciale di GTM che parte prima di tutti gli altri, e serve a impostare lo stato di default del consenso. Senza questo, tutto quello che viene dopo è strutturalmente sbagliato.
Terzo pezzo: i tag pubblicitari e di analytics configurati con "Additional consent checks" attivati, cioè con dichiarazione esplicita delle categorie di consenso richieste (di solito `analytics_storage` per GA4 e `ad_storage` + `ad_user_data` + `ad_personalization` per Google Ads e Meta). GTM legge lo stato del consenso e decide se far partire il tag o tenerlo in attesa.
Le CMP italiane ed europee più usate
Panoramica rapida, dal punto di vista di chi le ha integrate sul campo. Iubenda: italianissima, ottimo supporto in italiano, integrazione con WordPress facilissima, certificata. Costa di più delle alternative ma per le PMI italiane è la scelta più rapida. Cookiebot (di Cybot, danese): potente, certificata, scansiona automaticamente il sito ogni mese e aggiorna l'elenco cookie. Più tecnica ma molto solida.
OneTrust: leader globale, super completa, ma costosa e overkill per le PMI. Usercentrics: tedesca, ottima integrazione con Consent Mode v2 di Google. Didomi: francese, scelta frequente nel B2B europeo. Per la stragrande maggioranza delle PMI italiane, Iubenda e Cookiebot coprono il 90% dei casi.
Una nota importante: Klaro, Cookie Notice di WordPress, e altri plugin gratuiti generici, non sono CMP certificate IAB TCF v2.2 e non vanno usati su siti che fanno advertising professionale.
Il trigger Consent Initialization in GTM
Il trigger Consent Initialization è il primo che parte nel ciclo di vita di GTM, prima ancora del trigger "All Pages". Si crea così: GTM > Triggers > New > Trigger Configuration > Consent Initialization - All Pages. Niente filtri, niente condizioni: parte sempre.
Su questo trigger associ un singolo tag, di tipo "Custom HTML" o (meglio) il tag "Consent Mode" se la tua CMP non ne crea uno automaticamente. Lo scopo: impostare i valori di default per Consent Mode prima di qualunque altro tag. Se la CMP fa già questo (Iubenda, Cookiebot, Usercentrics di solito sì), il Consent Initialization serve come safety net e va comunque configurato.
Default consent state: la riga di codice che salva tutto
Lo stato di default va impostato a `denied` per tutte le categorie pubblicitarie, e a `granted` solo per le categorie necessarie al funzionamento del sito (`security_storage`, `functionality_storage`). Lo snippet, che va eseguito prima del container GTM o dentro il trigger Consent Initialization:
```javascript gtag('consent', 'default', { 'ad_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': 'denied', 'functionality_storage': 'granted', 'security_storage': 'granted', 'wait_for_update': 500 }); ```
Il parametro `wait_for_update` dice ai tag GTM di aspettare 500 millisecondi che la CMP aggiorni lo stato del consenso prima di decidere se partire o meno. Senza questa attesa, i tag fanno in tempo a partire in stato denied e mandano segnali sbagliati a Google.
Errore catastrofico: impostare il default a `granted` per le categorie pubblicitarie. È esattamente l'opposto di quello che va fatto: significa che, prima del consenso esplicito, i tag pensano di poter partire liberamente. Sei fuori legge dal primo millisecondo.
Update consent state dalla CMP via dataLayer
Quando l'utente clicca "Accetta tutti" sul banner, la CMP deve fare due cose. Prima: aggiornare lo stato di Consent Mode di Google (chiamando `gtag('consent', 'update', {...})` con i valori corretti). Seconda: fare un push nel `dataLayer` di un evento personalizzato (di solito `iubenda_consent_given` per Iubenda, `cookie_consent_update` per Cookiebot, eccetera) che GTM può usare come trigger per attivare tag aggiuntivi.
In GTM si crea un trigger di tipo "Custom Event" che ascolta quell'evento, e si associano i tag che devono partire dopo il consenso. Ma attenzione: il modo più pulito è usare il "Consent Settings" sul singolo tag (Advanced Settings > Consent Settings > Require additional consent for tag to fire), dichiarando le categorie richieste. GTM si occupa automaticamente di aspettare e far partire il tag quando il consenso arriva.
Questo è il pattern che funziona meglio sui siti reali: il singolo tag ha le sue dipendenze di consenso dichiarate, GTM gestisce l'attesa, e non hai bisogno di duplicare trigger per "prima del consenso" e "dopo il consenso".
Test pratico in tre scenari
Lo scenario uno è il "reject all": apri il sito in incognito, clicca "Rifiuta tutti" sul banner, e verifica con Tag Assistant + Network tab che nessun tag pubblicitario faccia partire request. GA4 manda una request con `gcs=G100` (è il segnale denied modellato), Google Ads e Meta non mandano niente, Hotjar non parte. Se vedi una request da Meta Pixel in questo scenario, sei fuori legge.
Scenario due, "accept all": apri il sito in incognito, clicca "Accetta tutti", e verifica che tutti i tag partano e che `gcs=G111`. Le conversioni in GA4 e Google Ads arrivano normali.
Scenario tre, "reject ads, accept analytics": clicca "Personalizza" e accetta solo i cookie analitici. GA4 deve partire (segnale granted analytics), Google Ads e Meta no. È il caso più sofisticato e quello che distingue un setup serio.
Errori tipici che producono sanzioni
Tag pubblicitari su trigger "All Pages" senza condizione di consenso: è il numero uno, lo vedo settimanalmente. Default consent `granted` (errore di chi pensa "così intanto i dati li raccolgo, poi vediamo"): è esattamente quello che il Garante punisce. CMP non certificata (un banner WordPress gratuito che non rispetta IAB TCF v2.2): tecnicamente non vali la pena di averlo.
Niente granular consent (un solo bottone "Accetta" senza distinzione tra categorie): non rispetta il requisito di consenso specifico per finalità. Cookie wall (l'utente non può accedere al sito se non accetta tutto): vietato in Europa, salvo casi limitatissimi. Tag che partono al caricamento e poi vengono "spenti" dopo il rifiuto: troppo tardi, l'azione è già stata fatta e i dati sono già stati inviati.
Cosa fare dopo l'integrazione
L'integrazione corretta ha un effetto collaterale fastidioso ma necessario: il consent rate (la percentuale di utenti che accetta tutti i cookie) determina la qualità dei dati di GA4 e Google Ads. In Italia il consent rate medio sta intorno al 60-70%, con punte più basse su siti molto orientati alla privacy o pubblici sensibili. Tutto il traffico che rifiuta non viene tracciato direttamente, ma Consent Mode v2 e Modeled Conversions di GA4 ricostruiscono il dato in modo aggregato (questo è il "boost" che ottieni con Consent Mode v2 rispetto al non averlo). Per approfondire vedi Consent Mode v2 step-by-step su GA4 e GTM.
Imposta un audit mensile: 10 minuti per controllare in Tag Assistant che nei tre scenari (reject, accept, granular) il comportamento sia ancora quello atteso. Un aggiornamento di plugin CMP o di GTM può cambiare il comportamento senza preavviso, ed è il momento in cui torni fuori conformità senza accorgertene. Per il quadro completo c'è la checklist di audit del tracciamento in dieci punti, e se gli eventi smettono di funzionare dopo aver toccato il CMP la guida è debug GA4 quando gli eventi non funzionano.
Se il pensiero "siamo in regola ma non ne sono sicuro" ti suona familiare, esiste una via corta: 329 128 68 25. Conformità GDPR e tracciamento pubblicitario funzionante non sono in conflitto, ma fare convivere le due cose richiede mestiere. Il resto è negli approfondimenti di tracciamento e analytics e strumenti per l'advertising, nei servizi di Google Ads e Meta e nei siti web SEO e AI.
Hai bisogno di un chiarimento?
Contattaci per ricevere indicazioni precise sul servizio piu adatto.
