Torna al blog

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 granted

L’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.

Smetti di perdere dati per gli ad blocker

Diecimila richieste al mese, gratis, per tutto il tempo che vuoi. Quattro minuti per scoprire se serve.