Blog
CookiePass e Google Consent Mode: cosa fa un banner del consenso al tuo traffico
Pubblicato · 4 min di lettura
Su questo sito usiamo CookiePass. È un servizio per il consenso ai cookie che implementa Google Consent Mode v2 come Google lo specifica, e quella proprietà conta più dei colori del banner: decide cosa invia il tuo tag Google a ogni pagina vista prima che il visitatore risponda, dopo un sì e dopo un no. Ecco come appare dal lato server, dove ognuno di quegli hit passa dal tuo container.
Cosa cambia davvero Consent Mode
Consent Mode non è un interruttore per i tuoi tag. Con Consent Mode il tag Google continua a scattare su ogni pagina; ciò che cambia è un contrassegno su ogni hit e ciò che Google ne fa. Con analytics_storage negato, il tag non imposta cookie, non conserva un client id tra le pagine e invia quello che Google chiama ping senza cookie: un hit che GA4 usa per la modellazione, non per i report che leggi.
Il contrassegno è un parametro di query chiamato gcs: due lettere e due cifre. La prima cifra è ad_storage, la seconda analytics_storage; 1 concesso, 0 negato.
gcs=G100 ad_storage denied, analytics_storage denied
gcs=G101 ad_storage denied, analytics_storage granted
gcs=G110 ad_storage granted, analytics_storage denied
gcs=G111 both granted
(no gcs) no Consent Mode on the page — treated as grantedL’ultima riga è quella che sfugge. Una pagina senza Consent Mode non invia gcs, e Google tratta ogni suo hit come consentito. Aggiungere un banner con Consent Mode non riduce ciò che viene inviato: inizia a dire la verità al riguardo.
Come lo collega CookiePass
Consent Mode v2 richiede una sequenza, non un’impostazione. Lo stato predefinito va dichiarato prima che il tag Google si carichi — negato per chi non ha ancora scelto —, un aggiornamento deve seguire nel momento in cui il visitatore decide, e lo stato va ripristinato a ogni visita successiva. Se l’ordine è sbagliato, la prima pagina vista di ogni sessione parte come consentita prima ancora che il banner sia disegnato.
Questa è la sequenza che CookiePass produce dal proprio script, quindi nulla di tutto ciò finisce nel tuo container di Tag Manager:
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
// …the visitor accepts…
gtag('consent', 'update', {
ad_storage: 'granted',
analytics_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});Questa è tutta l’integrazione. I tag di Google rispettano lo stato del consenso automaticamente, compresi quelli che SignalHost pubblica nel tuo container web. Nulla nel tuo container server ha bisogno di una condizione di consenso; aggiungerla a mano è il modo in cui un tag Google bloccato finisce accanto a tag evento non bloccati che inviano i dati direttamente a Google.
Cosa vede il tuo container server prima e dopo la scelta
Ogni hit percorre la stessa strada: il browser lo invia al tuo hostname, l’edge lo inoltra al tuo container server e il container lo passa a GA4. La differenza sta tutta nel payload.
- Prima della scelta: gcs=G100 su ogni hit, nessun cookie _ga e un client id nuovo a ogni pagina. GA4 riceve un ping senza cookie; il tuo container conta una richiesta.
- Dopo l’accettazione: gcs=G111, i cookie vengono impostati e la sessione si ricompone. Da qui in poi sono gli hit di cui sono fatti i tuoi report.
- Dopo il rifiuto: gcs=G100 su ogni pagina finché la scelta resta. Gli eventi della misurazione avanzata — scroll, file_download e gli altri — seguono la stessa regola di page_view.
Per questo la pagina del container mostra due numeri per evento quando c’è un banner: gli hit inviati con consenso analytics — ciò che Analytics riporterà come utenti e sessioni — e, dopo la barra, tutto ciò che il container ha inoltrato. session_start e first_visit non compaiono in nessuna colonna: Analytics li ricava da flag sul primo page_view invece di riceverli come eventi.
Cosa significa per i tuoi numeri di traffico
Aspettati che le due colonne non coincidano, e che lo scarto sia il numero più utile della pagina.
- Analytics riporta meno utenti e sessioni delle richieste che conta il tuo container. La differenza è la quota di visitatori che ha rifiutato o non ha mai risposto: il tuo tasso di consenso, misurato invece che stimato.
- GA4 può colmare parte dello scarto con la modellazione del comportamento, una volta che la proprietà supera le soglie di Google. I dati modellati compaiono nei report; mai nel tuo container, perché non vengono mai inviati.
- Con ad_storage negato, il monitoraggio delle conversioni di Google Ads non ha nulla da attribuire e il conversion linker nulla da collegare. Un container server non cambia questo, né dovrebbe: first-party non significa senza consenso.
- Il design del banner è ora una decisione di misurazione. Un tasso di consenso del 60% e uno dell’85% sono lo stesso sito con pulsanti diversi, e lo scarto tra le colonne ti dirà quale hai.
Una checklist
- Carica lo script del consenso prima del tag Google. Lo stato predefinito deve esistere prima del primo hit.
- Apri una pagina con il banner senza risposta e leggi gcs su una richiesta /g/collect nel pannello rete del browser. Deve dire G100.
- Accetta e rileggilo nella pagina successiva. Deve dire G111.
- Non aggiungere attivatori di consenso a nulla nel container server. Il tag web porta già lo stato.
- Torna sulla pagina del container un giorno dopo e leggi la coppia di numeri su page_view. Il primo diviso il secondo è il tuo tasso di consenso.
Abbiamo scelto CookiePass perché fa esattamente la sequenza qui sopra, era in produzione su questo sito in un pomeriggio e lascia che il banner prenda i colori del sito. I numeri della sezione precedente sono la prova che funziona.
