Google Analytics 4: configurazione, eventi e report che servono davvero
Capitolo 7 di 14 della guida Digital marketing e misurazione
Proprietà, eventi chiave, consenso, conservazione a 14 mesi e i report utili, con la configurazione reale di un sito.
Fondatore di SEO SRL
Pubblicato il 15 min di lettura

Google Analytics 4 (GA4) è la versione attuale di Google Analytics: misura le azioni di siti e app come eventi, non come sessioni.
Indice dei contenuti (13 sezioni)
- Cos'è GA4 e cosa cambia rispetto a Universal Analytics
- Come ho configurato GA4 su seo.srl
- I passi per configurare GA4 da zero
- Gli eventi che invia seo.srl
- Gli eventi chiave: i cinque che ho scelto
- Le dimensioni personalizzate da registrare
- Conservazione dei dati: da 2 a 14 mesi
- Traffico interno e verifica in DebugView
- UTM sui post LinkedIn
- I report che servono davvero
- Errori di configurazione che si vedono più spesso
- Domande frequenti
- Fonti
Google Analytics 4 (GA4) è la versione attuale di Google Analytics: raccoglie i dati di siti e app e li organizza in eventi, non in sessioni. Con la configurazione di base misura le visite e poco altro. Quello che serve a un'azienda, cioè sapere da dove arrivano i contatti e quali pagine li producono, lo decidi tu con eventi chiave, parametri e consenso.
In questa pagina trovi come ho configurato GA4 su seo.srl, con le scelte e i loro limiti, e i passi per fare lo stesso sul tuo sito. Fa parte della guida al digital marketing e alla misurazione. Per i tag senza codice c'è la pagina su Google Tag Manager; qui spiego perché sul mio sito non lo uso.
Cos'è GA4 e cosa cambia rispetto a Universal Analytics
Secondo l'help di Google, GA4 usa dati basati sugli eventi anziché sulle sessioni. In Universal Analytics la visita era l'unità di misura e le azioni (pagina vista, clic, transazione) erano tipi diversi di "hit". In GA4 tutto è un evento: la pagina vista è l'evento page_view, lo scroll è scroll, l'invio di un modulo è un evento che decidi tu. Ogni evento porta con sé parametri, come l'indirizzo della pagina o il punto del sito da cui è partito.
Per chi ha ancora in mente Universal Analytics: le proprietà standard hanno smesso di elaborare dati il 1° luglio 2023 e l'accesso ai dati storici è terminato il 1° luglio 2024. Non c'è niente da recuperare e non c'è una versione parallela: GA4 è l'unico Google Analytics in uso.
Il modello a eventi ha una conseguenza pratica. GA4 non ti dice da solo cosa è importante per la tua azienda: raccoglie ciò che gli mandi e ciò che la misurazione avanzata aggiunge. Una proprietà appena creata e lasciata così mostra visite e pagine, ma non sa se qualcuno ha scritto, telefonato o si è iscritto.
Come ho configurato GA4 su seo.srl
Ogni scelta ha un motivo e un costo.
gtag.js diretto, senza Google Tag Manager
Ho inserito gtag.js direttamente nel codice del sito, senza Tag Manager. Il sito è scritto da me e gli eventi partono dal codice: un tag manager in mezzo aggiungerebbe un secondo posto dove controllare cosa viene inviato, un altro script da caricare e un'altra autorizzazione nelle regole di sicurezza del sito. Con pochi eventi e un solo sviluppatore, non mi serve cambiare i tag senza toccare il codice. Il limite è l'opposto: ogni modifica agli eventi è una modifica al codice e una pubblicazione. Se nel tuo team marketing e sviluppo sono persone diverse, la scelta giusta è quasi sempre Tag Manager.
Nessuna richiesta a Google prima del consenso
gtag.js si carica solo dopo il clic su "Accetta" nel banner, oppure al caricamento della pagina se la persona ha già accettato e la scelta ha meno di 6 mesi. Con "Rifiuta", o senza scelta, il browser non contatta né googletagmanager.com né google-analytics.com: niente script, niente eventi. Se la persona revoca il consenso dalle preferenze cookie, il sito smette di inviare, nega il consenso statistico e cancella i cookie _ga sul dominio.
Il costo è chiaro e lo dichiaro: misuro solo chi accetta. I numeri in GA4 sono un sottoinsieme delle visite reali e non c'è nessuna stima che riempia il resto. Per me è un compromesso accettabile: preferisco numeri più bassi e puliti a una raccolta che parte prima della scelta. Prima di confrontare GA4 con il traffico del server o con Search Console, ricordati che i due insiemi non coincidono.
Consent Mode v2 con i segnali pubblicitari sempre negati
Prima dell'invio di qualsiasi dato imposto lo stato predefinito del consenso. Google chiede che il comando default venga eseguito prima di qualunque comando che invia dati di misurazione e che arrivi prima di config; il comando update comunica poi la scelta dell'utente. Nel mio snippet l'ordine è questo:
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied'
});
gtag('consent', 'update', { analytics_storage: 'granted' });
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX', { send_page_view: false });
Con la versione 2 si aggiungono ai due segnali originali ad_user_data e ad_personalization, che riguardano i dati inviati a Google per la pubblicità e gli annunci personalizzati. Li lascio sempre su denied: il sito non usa cookie pubblicitari e GA4 qui serve a misurare, non a costruire pubblici. Se un giorno collegassi Google Ads dovrei rivedere questa scelta e la gestione del consenso.
Page view inviati dal sito, non da GA4
Il sito è una single page application: passando da una pagina all'altra il browser non ricarica la pagina. Per questo la configurazione ha due parti, che vanno scelte insieme.
- In
configho messosend_page_view: false, quindi gtag non invia ilpage_viewautomatico. - Il sito invia un
page_viewa ogni cambio di rotta, conpage_location,page_pathepage_title, quando il titolo della nuova pagina è già quello giusto. - Nello stream web ho disattivato nella misurazione avanzata le modifiche alla pagina in base agli eventi della cronologia del browser. Google spiega che quell'opzione monitora
pushState,popStateereplaceStatee può inviare a sua volta unpage_view: lasciata attiva insieme al mio invio manuale, ogni navigazione verrebbe contata due volte.
Le altre voci della misurazione avanzata le ho lasciate accese. Google le elenca: scroll, clic in uscita, ricerca nel sito, coinvolgimento video, download di file e interazioni con i moduli. Clic in uscita e download non li duplico con eventi miei.
I passi per configurare GA4 da zero
La sequenza che seguo, in ordine, con le voci di menu come le indica Google nell'help. Per creare la proprietà serve il ruolo Editor sull'account; per lo stream e l'ID di misurazione, Editor o superiore sulla proprietà (Google Analytics Help, creare proprietà e stream).
- Crea la proprietà. In Amministrazione clicca Crea, poi Proprietà. Inserisci il nome, il fuso orario e la valuta dei report, poi settore e dimensione dell'attività.
- Aggiungi lo stream web. In Amministrazione, sotto Raccolta e modifica dei dati, apri Stream di dati, poi Aggiungi stream e scegli Web. Inserisci l'indirizzo principale del sito e un nome.
- Copia l'ID di misurazione. Si trova nei dettagli dello stream e inizia con
G-. È pubblico, finisce nell'HTML del sito: non è un segreto. - Imposta la misurazione avanzata. Tienila attiva; se invii tu i
page_view, spegni le modifiche alla cronologia. - Collega il consenso come descritto sopra.
- Invia gli eventi del sito con parametri dai nomi coerenti.
- Segna gli eventi chiave, pochi.
- Registra le dimensioni personalizzate per i parametri che vuoi leggere nei report.
- Porta la conservazione dei dati a 14 mesi.
- Verifica in DebugView che gli eventi arrivino con i parametri giusti, prima e dopo il consenso.
- Imposta il filtro del traffico interno se la tua squadra visita spesso il sito.
Gli eventi che invia seo.srl
Google distingue gli eventi raccolti automaticamente o con la misurazione avanzata, quelli consigliati, che non vengono inviati automaticamente perché richiedono contesto (un esempio è generate_lead, che Google descrive come l'invio di un modulo o di una richiesta di informazioni) e quelli personalizzati, che scegli e nomini tu. Quando esiste un evento consigliato adatto, usalo con il suo nome: i report e gli strumenti di Google lo riconoscono. Il resto sono eventi personalizzati con nomi che dicono cosa è successo.
Questi sono gli eventi che il mio sito invia, con il momento in cui partono e se li ho segnati come chiave:
| Evento | Quando parte | Parametri | Evento chiave |
|---|---|---|---|
page_view | A ogni cambio di rotta, anche nella navigazione interna | page_location, page_path, page_title | No |
generate_lead | Invio riuscito del modulo dell'audit gratuito | form_location, form_name, page_path | Sì |
contact_form_submit | Invio riuscito del modulo della pagina contatti | form_name, page_path | Sì |
newsletter_cta_click | Clic sul richiamo alla newsletter a fine articolo | link_location, page_path, cta_id | No |
newsletter_popup_view | Apertura del pannello newsletter (una volta per sessione) | page_path, cta_id | No |
newsletter_signup_request | Modulo newsletter inviato, email di conferma partita | form_location, page_path | No |
newsletter_confirmed | Apertura del link di conferma, doppio opt-in completato | form_location, page_path | Sì |
click_whatsapp | Clic su un link WhatsApp | link_location, page_path, cta_id | Sì |
click_phone | Clic su un link telefonico | link_location, page_path, cta_id | Sì |
click_email | Clic su un link email | link_location, page_path, cta_id | No |
click_cta_audit | Clic verso la pagina o il modulo dell'audit | link_location, link_url, cta_id | No |
click_cta_contatti | Clic verso la pagina contatti | link_location, link_url, cta_id | No |
scroll_75 | Una volta per articolo, al 75% di lettura | page_path, percent_scrolled | No |
Un paio di scelte in questa tabella meritano una nota. I moduli inviano l'evento solo quando il server risponde di aver ricevuto il messaggio: un clic su "Invia" che fallisce non è un contatto. E scroll_75 esiste perché lo scroll della misurazione avanzata scatta solo al 90% della pagina, una soglia alta per articoli lunghi; il mio evento misura la lettura arrivata ai tre quarti, ma resta un evento normale e non conta come risultato.
I parametri hanno nomi fissi: form_location dice da quale modulo è partito l'invio, link_location se il clic era in testata, nel corpo o nel piè di pagina, cta_id quale richiamo è stato cliccato.
Gli eventi chiave: i cinque che ho scelto
Un evento chiave, per Google, misura un'azione particolarmente importante per il successo della tua attività. È il nuovo nome delle conversioni: Google ha annunciato il 21 marzo 2024 che le conversioni nei report e nelle esplorazioni sarebbero diventate eventi chiave. Il nome "conversione" resta per Google Ads, dove indica un'azione importante per misurare le prestazioni delle campagne e ottimizzare la strategia di offerta (Conversioni e eventi chiave, Google Analytics Help). Come usare questi dati per aumentare i contatti senza più traffico lo spiego nella pagina sulla CRO.
Sul mio sito ho segnato come chiave solo cinque eventi:
| Evento | Perché è un evento chiave |
|---|---|
generate_lead | Richiesta di audit gratuito inviata: è il contatto commerciale principale. |
contact_form_submit | Messaggio inviato dalla pagina contatti. |
newsletter_confirmed | Iscrizione valida con doppio opt-in. La sola richiesta non basta: finché non confermi, l'iscrizione non esiste. |
click_whatsapp | Contatto diretto, spesso l'inizio di una trattativa. |
click_phone | Come sopra, soprattutto da mobile. |
Gli altri eventi (click_email, i clic sulle CTA, newsletter_signup_request, scroll_75) restano normali. Servono a leggere il percorso che porta al contatto, ma non sono il contatto. Se segno tutto come chiave, il numero nei report non dice più se il sito ha portato lavoro.
Un caso a cui faccio attenzione, con la newsletter (la gestione del doppio opt-in è nella guida all'email marketing): newsletter_confirmed parte solo se la persona ha accettato i cookie statistici sul browser in cui apre il link di conferma. Di solito è lo stesso dispositivo, ma non sempre, e le iscrizioni confermate in GA4 sono quindi un minimo.
Le dimensioni personalizzate da registrare
I parametri che invio, come form_location o cta_id, arrivano a GA4 ma non compaiono nei report finché non crei la dimensione personalizzata corrispondente. Google spiega che per usare dati personalizzati nei report occorre prima definire la dimensione; per i parametri degli eventi l'ambito è Evento. Le ho registrate tutte con ambito Evento e con il nome uguale a quello del parametro:
form_locationform_namelink_locationlink_urlcta_id
Le crei in Amministrazione, Definizioni personalizzate. Le proprietà standard hanno un tetto per ambito (50 dimensioni sugli eventi), quindi registro solo i parametri che leggerò.
Conservazione dei dati: da 2 a 14 mesi
Per i dati a livello di evento le proprietà standard offrono due valori: 2 mesi o 14 mesi (Google Analytics Help, conservazione dei dati). L'impostazione riguarda solo le esplorazioni e le canalizzazioni: i report standard non sono toccati. Chi confronta un periodo con quello dell'anno prima, con 2 mesi, non ha i dati.
Io l'ho portata a 14 mesi da Amministrazione, alla voce Conservazione dei dati. La imposto il primo giorno, prima di avere dati da perdere.
Traffico interno e verifica in DebugView
Escludere le visite della tua squadra
Le visite di chi lavora sul sito falsano i numeri, soprattutto su un sito con poco traffico. Il filtro si basa sull'indirizzo IP o su un intervallo di indirizzi: definisci la regola di traffico interno nello stream web, che aggiunge a ogni evento il parametro traffic_type (di norma internal), poi crei il filtro dei dati in Amministrazione. Un filtro ha tre stati: Test, in cui puoi controllare cosa viene escluso, Attivo e Inattivo. Una volta attivo, l'effetto sui dati è permanente: i dati esclusi non vengono mai elaborati. Prima di attivarlo, guarda in Test che escluda solo ciò che pensi.
DebugView
DebugView mostra in tempo reale gli eventi e le proprietà utente raccolti da un dispositivo. Lo trovi in Amministrazione, sotto Visualizzazione dati. Per vedere il tuo dispositivo, attiva la modalità di debug: Google indica Tag Assistant oppure il parametro debug_mode nel comando config o nell'evento. Un avviso importante vale per la configurazione con consenso: se hai attivato il controllo del consenso e non hai accettato i cookie di Analytics, gli eventi in DebugView non compaiono. Su un sito come il mio il test comincia quindi dal banner: accetta, poi guarda l'evento arrivare.
Verifico due cose: prima del consenso non parte nessuna richiesta verso Google (lo vedo nella scheda Rete del browser); dopo, gli eventi compaiono in DebugView con tutti i parametri.
UTM sui post LinkedIn
I link dei miei post su LinkedIn portano parametri UTM con una convenzione fissa: utm_source=linkedin, utm_medium=social, utm_campaign con il tema del post e utm_content per distinguere profilo personale e pagina aziendale. GA4 legge le UTM dall'indirizzo della prima pagina vista, quindi non serve altro codice.
Le regole di Google che applico: servono sempre utm_source, utm_medium e utm_campaign, i valori distinguono maiuscole e minuscole (linkedin e LinkedIn sono due sorgenti diverse) e conviene una sola forma per piattaforma. Scrivo tutto in minuscolo e tengo un registro dei link.
Per leggerle: nel report Acquisizione traffico la dimensione "Sessione: sorgente/mezzo" mostra linkedin / social; come dimensione secondaria puoi aggiungere la campagna manuale o la pagina di destinazione. Il limite è lo stesso del consenso: se una persona arriva dal post, passa a un'altra pagina e solo dopo accetta, l'indirizzo con le UTM è già alle spalle e la sessione risulta diretta.
I report che servono davvero
GA4 ha decine di report. Sul mio sito ne guardo quattro.
Acquisizione traffico
Si trova in Report, Acquisizione, Acquisizione traffico (Google Analytics Help). Include sessioni, sessioni con engagement e eventi chiave, con la dimensione predefinita del raggruppamento dei canali. Cambiando la dimensione leggi sorgente/mezzo, campagna o sorgente. È il report per capire quale canale porta le visite e, con la colonna degli eventi chiave, quale porta i contatti.
Il raggruppamento predefinito comprende 19 canali, fra cui Assistenti AI: Google lo definisce come il canale da cui arrivano gli utenti da sorgenti come ChatGPT, Gemini, Deepseek, Copilot e Grok, e precisa che AI Overview e AI Mode di Google ne sono escluse e restano nella Ricerca organica. Le note di rilascio di Google lo annunciano il 13 maggio 2026 (Google Analytics release notes). Come isolare e leggere queste visite lo spiego in come misurare il traffico dalle AI in GA4; cosa fare perché i crawler delle AI vi arrivino lo trovi in come comparire nelle risposte delle AI.
Pagine e schermate
Si apre da Report, Coinvolgimento, Pagine e schermate. Mostra le visualizzazioni, gli utenti attivi, il tempo medio di coinvolgimento e gli eventi chiave per ogni pagina (Google Analytics Help). Serve a trovare le pagine che portano visite ma non contatti, e quelle con pochi accessi che producono risultati. Confronta pagine simili: un articolo e una pagina contatti hanno compiti diversi.
Eventi chiave per canale
Non è un report a parte: è la colonna degli eventi chiave dentro Acquisizione traffico, letta per canale e sorgente. È il punto in cui GA4 risponde alla domanda che interessa a chi decide un budget: quale canale porta richieste di contatto.
Esplorazioni
Le esplorazioni sono, per Google, tecniche avanzate più approfondite dei report standard: formato libero, funnel, percorso, coorte e altre. Si aprono da Esplora, nel menu a sinistra. Le uso per i passaggi del modulo e per confrontare percorsi, ed è il punto in cui la conservazione a 2 mesi fa danni. Se hai anche annunci, qui incroci i percorsi con il ROAS (il listino e il metodo di gestione sono nella pagina sulla gestione di Google Ads); per la visione d'insieme dei canali c'è il marketing multicanale.
Errori di configurazione che si vedono più spesso
Sono gli errori comuni di una proprietà GA4, quelli che ho evitato nella configurazione descritta sopra.
| Errore | Effetto | Correzione |
|---|---|---|
page_view doppi | Le visualizzazioni risultano gonfiate: ogni navigazione conta due volte | Se invii tu i page_view, disattiva send_page_view e le modifiche alla pagina in base alla cronologia del browser nella misurazione avanzata |
| Conservazione a 2 mesi | Le esplorazioni non vanno oltre due mesi | Portala a 14 mesi dal primo giorno |
| Evento chiave su un evento di scroll | Ogni lettura conta come risultato e i contatti si perdono nel mucchio | Segna come chiave solo le azioni con valore per l'attività: invii di moduli, telefonate, iscrizioni confermate |
| Nessun consenso o consenso dopo il caricamento | Dati raccolti prima della scelta, informativa non coerente | Stato predefinito su denied prima di config e caricamento del tag dopo la scelta |
| UTM incoerenti | La stessa sorgente appare con tre nomi e il traffico si frammenta | Una convenzione scritta, minuscole, sempre source, medium e campaign |
| Parametri non registrati | I dati arrivano ma non si leggono nei report | Crea le dimensioni personalizzate con ambito Evento |
| Nessun filtro per il traffico interno | Le visite del team gonfiano i numeri | Regola di traffico interno e filtro in Test, poi Attivo |
Domande frequenti
GA4 è compatibile con il GDPR in Italia?
Il Garante, con il provvedimento del 9 giugno 2022 su un sito editoriale, ha ritenuto illecito l'uso della versione gratuita di Google Analytics per il trasferimento dei dati dei visitatori negli Stati Uniti e ha ordinato l'adeguamento entro 90 giorni. Il provvedimento riguarda un caso e un momento preciso: la valutazione per il tuo sito va rifatta con il tuo responsabile della protezione dei dati. La mia scelta di caricare GA4 solo dopo il consenso e di tenere negati i segnali pubblicitari riduce i dati raccolti, ma non sostituisce l'informativa né quella valutazione.
Qual è la differenza tra GA4 e Search Console?
Search Console mostra il traffico della Ricerca Google verso il sito: quante volte compare, per quali query e con quanti clic. GA4 misura cosa fanno le persone una volta arrivate, da qualunque canale. I due strumenti non coincidono e non vanno sommati: usa Search Console per la visibilità e GA4 per il comportamento e i contatti.
Quanto tempo serve per vedere i dati in GA4?
In DebugView gli eventi del tuo dispositivo compaiono in tempo reale. Per una dimensione personalizzata appena creata Google indica circa 24-48 ore prima che sia utilizzabile nei report. Nei primi giorni, per questo, controlla soprattutto DebugView e rimanda l'analisi dei report.
Quanti eventi chiave posso segnare?
Una proprietà standard può avere fino a 30 eventi chiave, una proprietà 360 fino a 50. Puoi segnare un evento anche prima che sia arrivato il primo hit, creandolo con il suo nome. Il limite però non è il problema: con pochi eventi chiave i report restano leggibili.
Fonti
Pagine consultate il 15 ottobre 2026.
- Google Analytics Help, informazioni su GA4. support.google.com/analytics/answer/10089681?hl=it
- Google Analytics Help, Fine dell'elaborazione dei dati di Universal Analytics. support.google.com/analytics/answer/11583528?hl=it
- Google Analytics Help, creare proprietà e stream. support.google.com/analytics/answer/9304153?hl=it
- Google Analytics Help, Misurazione avanzata. support.google.com/analytics/answer/9216061?hl=it
- Google Analytics Help, Eventi consigliati. support.google.com/analytics/answer/9267735?hl=it
- Google Analytics Help, "Informazioni sugli eventi chiave". support.google.com/analytics/answer/9267568?hl=it
- Google Analytics Help, Contrassegnare gli eventi come eventi chiave. support.google.com/analytics/answer/13128484?hl=it
- Google Analytics Help, "Conversions vs. key events in Google Analytics". support.google.com/analytics/answer/13965727?hl=en
- Google, "More insightful measurement across Google Ads and Analytics", 21 marzo 2024. blog.google/products/marketingplatform/analytics/evolving-google-analytics-for-more-insightful-measurement/
- Google Analytics Help, Dimensioni personalizzate. support.google.com/analytics/answer/14240153?hl=it
- Google Analytics Help, conservazione dei dati. support.google.com/analytics/answer/7667196?hl=it
- Google Analytics Help, Filtro del traffico interno. support.google.com/analytics/answer/10104470?hl=it
- Google Analytics Help, DebugView. support.google.com/analytics/answer/7201382?hl=it
- Google for Developers, Consent mode. developers.google.com/tag-platform/security/guides/consent
- Google Analytics Help, Raccogli i dati delle campagne con URL personalizzati. support.google.com/analytics/answer/10917952?hl=it
- Google Analytics Help, Report Acquisizione traffico. support.google.com/analytics/answer/12923437?hl=it
- Google Analytics Help, Pages and screens report. support.google.com/analytics/answer/12926732?hl=en
- Google Analytics Help, Esplorazioni. support.google.com/analytics/answer/7579450?hl=it
- Google Analytics Help, Gruppo di canali predefinito. support.google.com/analytics/answer/9756891?hl=it
- Google Analytics Help, Release notes. support.google.com/analytics/answer/9164320?hl=en
- Garante per la protezione dei dati personali, provvedimento del 9 giugno 2022 (doc. web 9782890). garanteprivacy.it/home/docweb/-/docweb-display/docweb/9782890
- Google Search Console Help, "Informazioni su Search Console". support.google.com/webmasters/answer/9128668?hl=it

