Attribuzione dei lead in GA4 se la vendita chiude nel CRM
Se la tua vendita si chiude settimane dopo il clic, GA4 non la vedrà mai da solo. Devi inviargliela tu, e hai meno margine di quanto pensi: il Measurement Protocol accetta di retrodatare un evento fino a 72 ore, e solo 24 se vuoi che erediti la sessione originale. Google Ads, invece, arriva fino a 90 giorni dall’ultimo clic. La differenza non è un dettaglio tecnico: decide dove ha senso chiudere il cerchio e quale identificatore devi salvare il giorno in cui entra il lead.
Perché GA4 e il tuo CRM non dicono mai la stessa cosa?
Perché misurano due momenti diversi dello stesso processo. GA4 misura la sessione: qualcuno arriva, naviga, invia un modulo. Il tuo CRM misura la trattativa: quel contatto entra in pipeline, riceve una chiamata, chiede un preventivo e firma quaranta giorni dopo.
Tra i due momenti c’è un vuoto che nessuno dei due sistemi colma da solo. GA4 non sa se quel modulo è diventato una vendita da 12.000 euro o un contatto che non ha mai risposto al telefono. Il CRM sa quanto vale la trattativa, ma non ha idea che il contatto sia arrivato da un annuncio di ricerca a marchio.
La conseguenza la vedi ogni mese: ottimizzi le campagne in base ai moduli inviati, non in base alle vendite. E i moduli inviati sono l’unica metrica che sai già essere ingannevole, perché il canale che porta più moduli non è quasi mai quello che porta più fatturato.
Colmare quel vuoto significa fare una cosa sola: inviare la chiusura al sistema pubblicitario con l’identificatore che aveva il lead il giorno in cui è entrato. Il resto di questo articolo è il calendario e la meccanica di quell’invio.
Per quanto tempo GA4 può accettare una vendita che si chiude settimane dopo?
Qui sta il malinteso più costoso. Non esiste una finestra sola: ce ne sono sette, ognuna si conta da un momento diverso e nessuna è negoziabile.
| Meccanismo | Limite | Contato da | Cosa succede se lo superi |
|---|---|---|---|
| Measurement Protocol · ereditare gli attributi della sessione | 24 ore | l’inizio della sessione online | L’evento non eredita sorgente, mezzo o campagna di quella sessione. Richiede anche l’invio del session_id |
| Measurement Protocol · retrodatare l’evento | 72 ore | il momento dell’evento | Non puoi retrodatare oltre. Il timestamp_micros forzato deve cadere dentro la sessione |
| Importazione di eventi offline in GA4 | i 2 giorni di calendario precedenti, più oggi | la data dell’evento nel file | Se non invii un timestamp, viene usata l’ora del caricamento |
| Finestra di conversione di GA4 · eventi chiave non di acquisizione | 90 giorni per impostazione predefinita | l’evento chiave, contando a ritroso | Si può abbassare a 60 o 30 giorni. La modifica vale solo in avanti |
| Finestra di conversione di GA4 · eventi chiave di acquisizione | 30 giorni per impostazione predefinita | first_open o first_visit, contando a ritroso |
L’unica alternativa pubblicata è abbassarla a 7 giorni |
| Google Ads · conversioni offline | 90 giorni | l’ultimo clic associato | La conversione non viene importata e non compare mai nelle statistiche |
| Google Ads · conversioni migliorate per i lead | 63 giorni | l’ultimo clic associato | Stesso effetto, con 27 giorni in meno di margine |

Le tre righe in arancione sono quelle che scadono prima che il commerciale abbia fatto la seconda chiamata. Se il tuo ciclo di vendita supera i tre giorni, e nel B2B li supera quasi sempre, retrodatare l’evento con il Measurement Protocol non è un’opzione: il limite di 72 ore è già passato quando la trattativa entra in fase di proposta.
Questo lascia due strade praticabili. Inviare l’evento con la data di oggi, accettando che nei report figuri il giorno dell’invio e non quello della firma. Oppure portare la chiusura a Google Ads, che con 90 giorni dall’ultimo clic copre la stragrande maggioranza dei cicli di vendita reali.
Due impostazioni vicine che si comportano in modo opposto. Cambiare il modello di attribuzione dei report si applica ai dati storici e futuri: sposti il selettore e cambiano i report dei mesi passati. Cambiare la finestra di conversione, in quella stessa schermata, vale solo in avanti.
La conseguenza pratica è scomoda: puoi reinterpretare il passato, ma non puoi allargarlo. Se il tuo ciclo di vendita è più lungo della finestra che avevi impostato, le chiusure già rimaste fuori non tornano cambiando l’impostazione oggi.
Questa asimmetria merita un promemoria nel calendario, non solo una lettura. Se stai per allungare la finestra di conversione perché hai scoperto che il tuo ciclo dura settanta giorni, sappi che stai sistemando i prossimi mesi e non quelli passati.
Quali identificatori devi salvare il giorno in cui entra il lead?
Nessuno di questi identificatori si può ricostruire in seguito. O li catturi nel momento in cui il lead compila il modulo, o quel lead resta senza origine per sempre.
| Identificatore | Che cos’è | Dove vive il giorno 0 | A cosa ti servirà |
|---|---|---|---|
client_id |
L’identificatore che GA4 assegna al browser | Nel cookie di GA4 del visitatore | È obbligatorio per inviare l’evento con il Measurement Protocol. Nell’importazione offline serve questo oppure l’app_instance_id dell’app |
gclid |
L’identificatore del clic su un annuncio di Google Ads | Come parametro nell’URL di destinazione | È l’identificatore che Google Ads documenta per importare le conversioni offline: collega la vendita al clic che l’ha avviata |
| Parametri UTM | Sorgente, mezzo e campagna dichiarati nel link | Nell’URL di destinazione | Per ricostruire l’origine dentro il CRM e perché il commerciale veda da dove arriva il lead |
session_id |
L’identificatore della sessione specifica | Come parametro dell’evento in GA4 | Solo se vuoi che l’evento erediti sorgente, mezzo e campagna da quella sessione, e solo entro le 24 ore successive |
user_id |
Il tuo identificatore di persona | Non esiste: lo generi tu | Per unire lo stesso cliente su più dispositivi. Massimo 256 caratteri, e non può contenere nulla che permetta a terzi di identificare la persona |
L’indirizzo email del lead non funziona come user_id. La documentazione di GA4 lo dice chiaramente: l’identificatore utente non può contenere informazioni che permettano a terzi di identificare la persona. Un indirizzo email la identifica in modo diretto, e un’email sottoposta ad hashing resta la stessa email per chiunque abbia la lista. Quello che funziona è l’identificatore interno del contatto nel tuo CRM: opaco, stabile e privo di significato fuori dal tuo database.
Il punto delicato non è tecnico, è organizzativo: questi campi devono esistere nella scheda del contatto prima che arrivi il primo lead. Un CRM in cui ogni contatto porta con sé la propria origine funziona come un sistema informativo dell’azienda, non come una rubrica con i telefoni. La differenza si vede il giorno in cui qualcuno chiede quale campagna ha pagato il trimestre.

Dove chiudi il cerchio: in GA4 o in Google Ads?
Non è una domanda retorica: le due destinazioni servono a cose diverse e hanno margini molto diversi.
| GA4 | Google Ads | |
|---|---|---|
| A cosa serve | Vedere la chiusura nei report di acquisizione e di canale | Far imparare alle offerte automatiche dalle vendite reali invece che dai moduli inviati |
| Margine dalla chiusura | 72 ore per retrodatare con il Measurement Protocol; i 2 giorni di calendario precedenti più oggi se la importi | 90 giorni dall’ultimo clic, o 63 con le conversioni migliorate per i lead |
| Identificatore richiesto | client_id o app_instance_id |
gclid, oppure i dati della conversione migliorata |
| Cosa non fa | Non riscrive lo storico delle sessioni e non permette di retrodatare oltre le 72 ore | Non compare nei report di GA4: sono due sistemi diversi con due database diversi |
| Cosa succede con una chiusura a 45 giorni | Rientra nella finestra di conversione di 90 giorni, ma non si può più retrodatare: viene registrata con la data di invio | Rientra in entrambi i casi, con margine da vendere |
Il criterio pratico è semplice. Se investi in Google Ads e usi offerte automatiche, la priorità è Google Ads: l’algoritmo ha bisogno di imparare dalle vendite reali, e 90 giorni gli bastano. Se quello che ti serve è un report di canali che rifletta il fatturato e non i moduli, la destinazione è GA4, con la consapevolezza che la data non sarà esatta.
Nulla ti obbliga a scegliere. Molti team inviano a entrambi, con lo stesso webhook che parte alla chiusura della trattativa.
Come si costruisce con Clientify
La parte che dipende dal CRM è la meno vistosa e la più determinante: catturare, conservare e inviare. Con Clientify sono quattro passaggi.
1. Crea i campi personalizzati nella scheda del contatto. Uno per il client_id, uno per il gclid e tre per sorgente, mezzo e campagna. Sono campi di testo normali: quello che conta è che esistano prima di ricevere traffico.
2. Attiva il pixel di Analytics. In Clientify si salva l’ID di misurazione in Impostazioni, dentro Il mio account, nella sezione dei pixel di analisi. L’ID lo trovi in GA4 dentro Amministratore, in Flussi di dati. Con questo, le landing page e i moduli di Clientify inviano già i dati alla tua proprietà.
3. Cattura gli identificatori dal modulo. I moduli di Clientify ammettono campi nascosti che leggono il cookie e l’URL. Attenzione a un limite reale: se il modulo del tuo sito web è esterno a Clientify, il pixel non lo copre e la cattura non avviene. È il primo dei due punti di rottura del diagramma precedente.
4. Invia la chiusura con un webhook. In Impostazioni, dentro Connessioni, trovi i webhook. L’evento che ti interessa è quello della trattativa salvata: si attiva quando la trattativa passa a vinta e porta con sé i campi del contatto, identificatori compresi. Da lì, il tuo endpoint chiama il Measurement Protocol o l’API di conversioni offline di Google Ads.
L’API di Clientify ammette fino a 1.000 richieste al minuto, quindi il volume di chiusure non è mai il collo di bottiglia. Il collo di bottiglia è il passo 3: se l’identificatore non entra, gli altri tre passaggi non hanno nulla da spostare.
Se lavori con più agenti sullo stesso canale, vale la pena rivedere anche come l’Inbox condivisa registra lo stato e la tracciabilità delle conversazioni: è lo stesso principio applicato al canale invece che al modulo.
Perché il canale di Clientify non coincide con quello di GA4?
Perché usano criteri diversi, e questa è la discrepanza che genera più chiamate al supporto.
Clientify definisce il Canale Online con la data della prima visita al sito web. GA4 ha ritirato il modello di primo clic a novembre 2023, insieme a lineare, decadimento temporale e basato sulla posizione. Da allora restano il modello basato sui dati e due varianti di ultimo clic, con ultimo clic a pagamento e organico come impostazione predefinita.
Tradotto: se un contatto ti trova per la prima volta da una ricerca organica e sei mesi dopo torna da un annuncio e chiude, Clientify attribuirà la vendita all’organico e GA4 all’annuncio. Entrambi hanno ragione secondo il proprio criterio.
C’è una seconda distinzione interna facile da confondere: il Canale Online non è la Sorgente del contatto. Il primo descrive come è arrivato al sito web; il secondo, come è entrato nel CRM. Un contatto può avere come Canale Online la ricerca organica e come Sorgente del contatto un’importazione manuale.
Domande frequenti
Quanto tempo ho per inviare a GA4 una conversione che avviene nel CRM?
Dipende dal meccanismo. Con il Measurement Protocol puoi retrodatare l’evento fino a 72 ore, e solo 24 ore se vuoi che erediti gli attributi della sessione originale. L’importazione di eventi offline accetta i due giorni di calendario precedenti più oggi. Google Ads è molto più generoso: fino a 90 giorni dall’ultimo clic.
Se cambio il modello di attribuzione in GA4, cambiano i dati storici?
Sì. Il cambio del modello di attribuzione dei report si applica ai dati storici e futuri, quindi i report cambiano retroattivamente. La finestra di conversione funziona al contrario: le sue modifiche valgono solo in avanti. Sono due impostazioni che vivono nella stessa schermata e si comportano in modo opposto.
Posso usare l’email del lead come user_id in GA4?
No. La documentazione di GA4 dice che l’identificatore utente non può contenere informazioni che permettano a terzi di identificare la persona, e un indirizzo email la identifica in modo diretto. Usa invece un identificatore interno del CRM: opaco, stabile e non più lungo di 256 caratteri.
Devo inviare la chiusura a GA4 o a Google Ads?
A Google Ads se quello che vuoi sono offerte automatiche che imparano dalle vendite reali, perché accetta fino a 90 giorni dal clic. A GA4 se quello che vuoi è vedere la chiusura nei report dei canali. Non si escludono a vicenda, ma ogni destinazione ha la sua finestra e il suo identificatore.
Perché il mio CRM e GA4 riportano canali diversi per lo stesso lead?
Perché misurano momenti diversi. Clientify definisce il Canale Online con la data della prima visita al sito web, mentre GA4 ha ritirato il modello di primo clic a novembre 2023 e oggi attribuisce con l’ultimo clic o con il suo modello basato sui dati. La discrepanza è di progettazione, non un’impostazione sbagliata.
Da dove iniziare domani
L’ordine conta, perché ogni passo dipende dal precedente.
Primo, crea i campi. Cinque campi personalizzati nella scheda del contatto. Non serve altro e nulla funziona senza.
Secondo, verifica che il modulo li riempia. Compila il tuo modulo come farebbe un visitatore, con parametri UTM nell’URL, e apri la scheda del contatto creato. Se i campi sono vuoti, la catena si spezza qui e il resto è inutile.
Terzo, decidi la destinazione. Google Ads se investi in ricerca a pagamento e vuoi che le offerte imparino. GA4 se quello che ti serve è il report di canali.
Quarto, collega il webhook della chiusura. Solo quando i tre passi precedenti danno dati corretti.
Il quinto passo non è tecnico ed è quello che rende utile tutto il resto: decidere quali dati raccogliere e quali no. Un modulo con quattordici campi non ti darà un’attribuzione migliore, ti darà meno lead. Vale la pena leggere come le informazioni giuste fanno la differenza prima di aggiungere il decimo campo obbligatorio.
Salva l’origine il giorno in cui entra il lead
7 giorni gratis, senza carta di credito. Crea i campi, catturali dai tuoi moduli e scopri da dove arrivano davvero le vendite che chiudi.
Prova Clientify gratis