Compliance

Analytics e privacy sul sito: misurare senza vendere i visitatori

Misurare il traffico senza vendere i visitatori: perché GA4 e un banner cookie predefinito spesso non bastano in UE, e quali alternative restano sul tavolo.

13 min di letturaIntermedioGuidaDi Stefano Sciortino
Indice
  1. Introduzione
  2. Perché GA4 e il banner del tema spesso non bastano
  3. IP, fingerprint, consenso
  4. IP
  5. Fingerprint
  6. Consenso
  7. First-party e third-party
  8. First-party
  9. Third-party
  10. Le opzioni sul tavolo
  11. GA4 con Consent Mode: a cosa serve, dove non arriva
  12. Plausible, Umami, self-hosted
  13. Log del server
  14. Cosa deve fare un banner (non cosa deve scrivere di poetico)
  15. Come lo trattiamo su questo sito (scelta, non parere legale)
  16. Problemi comuni
  17. "Il commercialista / l'agenzia dice che GA4 è obbligatorio"
  18. "Abbiamo il banner Iubenda / Cookiebot e siamo a posto"
  19. "Senza cookie perdiamo il 40% dei dati"
  20. "Il sito è statico, non abbiamo un backend"
  21. "Umami self-hosted e il VPS è extra-UE"
  22. Conclusione

Introduzione

Vuoi sapere se le pagine servono o se il form di contatto lo trova qualcuno. Giusto. Il modo di default, oggi, è: plugin Google Analytics 4, banner cookie del tema, "Accetta tutti" enorme, "altro" nascosto. In Italia e in UE quella combo è spesso fuori regola. Non perché "Google è illegale". Perché tracci prima del consenso, profili più di quanto dichiari, e il rifiuto è un percorso a ostacoli.

Questa non è una consulenza legale. È una guida di prodotto e di implementazione: cosa stai misurando, chi se ne va una copia, cosa deve fare un banner perché non sia teatro.

Percorso:

  • perché GA4 + banner predefinito fallisce i test del Garante e dell'ePrivacy
  • IP, fingerprint, consenso: tre parole che decidono se stai trattando dati personali
  • first-party contro third-party, senza mitologia
  • opzioni: GA4 con Consent Mode (e i limiti), Plausible / Umami / self-hosted, log del server
  • cosa deve fare un banner: bloccare prima, rifiutare facile quanto accettare
  • come lo impostiamo noi su relicsoftware.it: una scelta, non un modello da copiare alla cieca

Per obblighi, informative e diritti degli interessati, il pezzo da affiancare è GDPR sul sito di una PMI. Qui restiamo su misura e cookie.

Se il sito è una vetrina con un form, ti bastano poche metriche: pagine, referrer, conversione del form. Non ti serve un dossier sul singolo visitatore. Parte da questo, non dal piano "Marketing Plus" di un plugin.

Perché GA4 e il banner del tema spesso non bastano

GA4, installato come fa il tutorial del plugin, fa tre cose insieme:

  1. carica uno script di Google al primo hit, prima che tu clicchi qualcosa
  2. scrive cookie (_ga, _ga_*, a volte altri) e manda identificatori a un titolare extra-UE
  3. costruisce un client id, e con i segnali del browser può avvicinarsi a un dispositivo, non a "visite anonime"

Il banner del tema, di default, spesso:

  • compare dopo che lo script ha già sparato
  • ha "Accetta" evidente e "rifiuta" in un secondo livello, o solo "X" che significa accetta
  • non è granulare: analytics e marketing nello stesso mucchio
  • non risparmia gli script se l'utente ignora il banner e scorre

In Italia le linee guida cookie del Garante (10 giugno 2021) e le regole ePrivacy dicono un'altra storia: i cookie non necessari richiedono un consenso prima. Lo scroll non è consenso. La casella pre-spuntata no. Il "proseguendo navighi accetti" no.

Un banner che informa e uno script che gira lo stesso è un avviso, non un consenso. Il Garante guarda il comportamento del sito, non il testo legale in footer.

GA4 può stare in un sito UE. Serve blocco preventivo, informativa vera, trasferimento dichiarato, rifiuto simmetrico, revoca. Il plugin "inserisci Measurement ID" non fa questo. Consent Mode da solo nemmeno: ci torniamo. "È solo statistica" non chiude se c'è un id persistente, un destinatario extra-UE o Ads / pixel di remarketing.

IP, fingerprint, consenso

Tre pezzi. Se ne salti uno, la discussione sul tool è fuffa.

IP

L'indirizzo IP identifica o può identificare una connessione. Il GDPR lo tratta come dato personale. I log del server lo hanno. GA4 lo riceve in transito anche se poi lo "anonimizza". Ridurre l'IP (tagliare ottetti, proxy tuo) abbassa il rischio. Non trasforma il resto del payload in "dato anonimo" se resta un id persistente.

Fingerprint

Tela, font, risoluzione, fuso, lingua. Messo insieme, spesso identifica un browser meglio di un cookie. Il Garante tratta cookie e altri identificatori insieme. "Niente cookie, solo fingerprint" non è una scappatoia. Un analytics "cookieless" si valuta su cosa manda e a chi, non su document.cookie vuoto.

Consenso

Per ePrivacy (direttiva 2002/58 e recepimento), leggere o scrivere sul dispositivo, fuori da eccezioni strette, richiede consenso. Tecnici (carrello, load balancer, memoria del banner): eccezione. Audience tipica, e GA4 standard: no.

Il consenso, nel GDPR, è libero, specifico, informato, inequivocabile. In pratica sul banner:

  • prima del trattamento non necessario
  • puoi dire di no senza essere punito (sito usabile)
  • capisci cosa accetti (categorie, non un PDF di 40 pagine come unica info)
  • un'azione positiva: click su Accetta, non il silenzio

L'esenzione "analytics statistici" che qualcuno cita dal Garante ha condizioni pesanti: niente identificazione incrociata, niente terze parti che usano i dati per i fatti loro, mascheramento IP, ecc. Lo stack GA4 standard non ci entra. Non inventarti l'esenzione per evitare il banner.

First-party e third-party

First-party: il dominio che l'utente ha digitato (o un sottodominio tuo) imposta il cookie o raccoglie l'hit. I dati arrivano a te, o a un server che comandi.

Third-party: lo script chiama un altro dominio (google-analytics.com, facebook.net). Quel soggetto riceve l'hit, può incrociare visite su milioni di siti, applica le sue finalità.

First-party

  • Cookie sul tuo dominio, o hit sul tuo host
  • Tu sei titolare in modo ovvio
  • Resta dato personale se identifica
  • Più facile da spiegare in informativa

Third-party

  • Il browser parla con Google, Meta, ecc.
  • Esce una copia dei dati
  • Trasferimenti extra-UE, clausole, rischi
  • Pubblicità e "modelli" vivono di questo

Un cookie first-party di GA4 (_ga sul tuo dominio) non rende il trattamento first-party in senso sostanziale. Lo script manda comunque i ping a Google. First-party è "chi riceve e decide", non il prefisso del cookie.

Umami sul tuo VPS: first-party, se non inoltri altrove. Plausible Cloud: spesso senza cookie, ma i conteggi stanno da un fornitore. Leggi contratto e informativa, non il claim "privacy-friendly".

Cambia la domanda da "è first-party?" a "chi ha una copia e per quale fine?". Quella è la domanda da scrivere nell'informativa.

Le opzioni sul tavolo

Non esiste il tool virtuoso universale. Esiste il minimo che ti basta e il vincolo che accetti (Google Ads, self-host, zero JS).

Consent Mode è un'API di Google: gli dici denied / granted su analytics e ads. In v2, per certi prodotti Ads, Google pretende i segnali. Il tag può:

  • non scrivere cookie se denied
  • mandare comunque ping "senza cookie" usati per modelli statistici

Limiti, detti chiari:

  • non sostituisce il consenso. Se parti con granted, o carichi il tag in modo che tratti prima della scelta, Consent Mode è vernice
  • i ping cookieless possono restare dati personali (IP, user agent, pagina). Non è "anonimo perché lo dice la dashboard"
  • trasferimenti verso Google: restano. SCC, informativa, valutazione. Consent Mode non li cancella
  • se non fai Ads, il vantaggio dei modelli è piccolo. Stai pagando complessità per un grafico

Quando ha senso: hai già scelto GA4 per motivi di business (Ads, confronto con altri property, abitudine del marketer) e hai un banner vero che tiene i tag spenti (o in denied) finché non c'è un sì. Misurazione Google + CMP seria è un progetto, non un checkbox.

Incollare gtag.js nell'head e "poi mettiamo il banner" è la configurazione che troviamo di più. Consent Mode aggiunto dopo, con default granted, non la ripara.

Plausible, Umami, self-hosted

Tre varianti dello stesso impulso: meno script invasivi, metriche da sito (pageview, referrer, paesi grezzi), niente journey da advertising.

SceltaCosa ottieniCosa ti prendi in carico
Plausible CloudPoco JS, spesso senza cookie, dashboard sempliceFornitore UE (verifica il contratto attuale), abbonamento, loro server
Umami CloudSimile, open source anche in cloudStesso genere: titolare / responsabile, dove stanno i dati
Umami o Plausible sul tuo serverI conteggi restano da teAggiornamenti, backup, HTTPS, chi accede alla dashboard

Nessuno ti assolve in automatico. Id persistente o fingerprint: rivaluti consenso. Aggregato, senza riuso per ads: più difendibile, e va descritto. Self-host non è "più GDPR" se il server è aperto. È più controllo se lo tieni.

Log del server

Access log di nginx o del reverse proxy: path, status, a volte referrer, IP, user agent. Per una PMI che vuole sapere "la guida Linux la aprono?" può bastare.

Vantaggi:

  • niente JS sul browser
  • niente cookie analytics
  • niente seconda azienda nel giro, se il log sta sul tuo host

Limiti:

  • IP e user agent sono ancora dati. Retention corta (settimane, non anni) e niente cruscotto da agenzia
  • niente eventi fine ("click sul CTA") se non li logghi tu in applicazione
  • se il CDN o l'hosting tiene log propri, sono un altro trattamento da conoscere

Come scegliere senza teatro

  • Ti basta pageview e referrer? Log o Umami/Plausible. Evita GA4
  • Ti serve GA4 per Ads o per un team che già ci vive? Banner vero + blocco + Consent Mode, e informativa sui trasferimenti

  • Non vuoi JS di terzi? Log, o self-host, o niente: a volte il form e Search Console bastano

  • Non usare tre tool "così siamo coperti". Ogni script è un titolare o un responsabile in più

Cosa deve fare un banner (non cosa deve scrivere di poetico)

Il Garante e l'ePrivacy guardano l'interfaccia e la rete, non la metafora del "rispettiamo la tua privacy".

Checklist operativa del banner

  • Blocco prima del consenso: GA4, pixel, iframe di tracciamento non partono. Né nel head né al scroll

  • Rifiuta facile quanto Accetta: stesso livello, stesso peso visivo. Non un link grigio sotto un muro di testo

  • Categorie: necessari sempre on; analitici e (se ci sono) marketing staccati. Niente "accetta tutti" come unica azione utile

  • Il sito funziona se rifiuti: niente paywall finto, niente overlay eterno. I necessari restano

  • Revoca: un link stabile (footer: "Preferenze cookie") che riapre il pannello. Non solo "cancella i cookie del browser"

  • Memoria della scelta: un cookie tecnico che ricorda sì / no. Poi il banner non deve rincorrere ogni pagina

  • Informativa: chi, cosa, dove, quanto dura, come cambiare idea. Link, non un riassunto falso

Cose che non contano come consenso: continuare a navigare, chiudere la X se la X accetta, un timer, un "accetta i necessari" che in realtà accende analytics.

Dark pattern da togliere:

  • verde Accetta / grigio microscopico Rifiuta
  • "personalizza" con tutte le voci già su ON
  • secondo banner a ogni visita se hai già rifiutato (salvo scadenza dichiarata, ragionevole)

Testa con le devtools. Tab Rete, filtro google / gtag/ collect. Ricarica in anonimo. Se vedi hit analytics prima del click, il banner è scenografia. Ripeti dopo "Rifiuta".

Il testo del banner sta in italiano, concreto. Categorie con nomi che un titolare capirebbe. Non "esperienza personalizzata" per dire remarketing.

Come lo trattiamo su questo sito (scelta, non parere legale)

Su relicsoftware.it abbiamo preso una posizione di prodotto, scritta anche in /cookie e /legal:

  • opt-in: analytics spento finché non accetti
  • niente cookie di marketing, pixel, retargeting
  • se gli analitici partono, è GA4, con IP dichiarato come anonimizzato, dopo il consenso
  • la scelta sta in un cookie tecnico (relic_cookie), poi puoi cambiarla dal footer

Non è "il modo legalmente certificato". È la scelta di non vendere i visitatori a una rete ads e di non fingere che uno script Google sia invisibile. Potremmo togliere GA4 e self-hostare: altri pro e contro, operativi.

Se copi il testo e lasci gtag nel tema che parte comunque, hai copiato la prosa. Il meccanismo è: lo script non parte finché il consenso analitico è granted (o sta in denied e non tratta). Verificalo.

Trattiamo analytics come una decisione di prodotto con vincoli di legge, non come un plugin da accendere. Non è un parere legale sul tuo caso.

Problemi comuni

"Il commercialista / l'agenzia dice che GA4 è obbligatorio"

Non lo è. È uno strumento. Search Console, log, un Umami, il numero di email vere dal form: misurano altre cose, spesso più vicine al business. Se l'agenzia la usa per le campagne, il costo è banner e informativa fatti bene, non un "lo mettono tutti".

"Abbiamo il banner Iubenda / Cookiebot e siamo a posto"

Un CMP può fare il lavoro. Può anche essere configurato male: scan che non vede lo script iniettato dal GTM, default granted, categorie sbagliate. Il CMP non è un'indulgenza. Dopo l'installazione, rifai il test rete.

Sì, se rifiutano. È il punto del consenso libero. Gonfiare i numeri con ping non consensuali non è una metrica, è un rischio. Se ti servono i numeri per una decisione (che pagina riscrivere), un campione onesto basta. Se ti servono per rivendere audience, hai un altro mestiere e un altro regime.

"Il sito è statico, non abbiamo un backend"

Il consenso sta in un cookie tecnico. Gli analytics partono dopo. Serve l'ordine di caricamento, non un monolitico.

"Umami self-hosted e il VPS è extra-UE"

Hai spostato trasferimento e fornitore. Da scrivere. Non è automaticamente più pulito di un cloud UE. Conta chi entra in dashboard.

Una setup onesta si riconosce così: in finestra anonima, zero hit analytics finché non accetti; dopo "Rifiuta", zero hit; dopo "Accetta", solo le categorie dette; in footer si cambia idea.

Conclusione

Misurare un sito e vendere i visitatori non sono la stessa attività. GA4 più il banner di default del tema, in Italia, è la strada che più spesso viola l'ordine: tratta prima, rifiuta difficile, terza parte in silenzio. IP e fingerprint restano dati. First-party è chi tiene la copia, non il nome del cookie.

Scegli lo strumento sul minimo utile: log o analytics leggero se ti bastano le pagine; GA4 solo se ti serve davvero, con blocco e Consent Mode visti in rete, non a parole. Il banner o è un cancello o è un adesivo. Il Garante e l'ePrivacy guardano il cancello.

Il resto degli adempimenti (informative, diritti, fornitori) sta nella guida GDPR per il sito. Qui il lavoro è più stretto: non far partire ciò che l'utente non ha accettato, e non misurare persone se ti bastavano pagine.


Risorse utili (autorevoli):

Approfondimenti

Parliamone

Questo articolo riguarda la tua azienda?

Se uno dei problemi descritti riguarda anche i tuoi sistemi, possiamo valutare insieme la situazione. Il primo confronto è gratuito.