Molto ImportanteMolto Importante
Cross-domain tracking in GA4: come seguire l'utente tra siti diversi senza spezzare le sessioni

Cross-domain tracking in GA4: come seguire l'utente tra siti diversi senza spezzare le sessioni

Configurazione cross-domain in GA4: 'Configura i tuoi domini', _gl parameter, sessioni unificate. Quando serve e come si verifica che funzioni davvero.

In questa pagina

Introduzione

Hai un sito principale e un e-commerce su dominio separato. Stesso brand, due URL. Senza cross-domain tracking, GA4 conta l'utente come due utenti, due sessioni, attribuzione spezzata, Smart Bidding confuso. È un fix da venti minuti che evita errori da migliaia di euro.

C'è una distorsione silenziosa che colpisce praticamente ogni account GA4 con più di un dominio, e che produce report sbagliati senza mai dare un errore visibile. La chiami "fenomeno del self-referral": Google ti dice che il tuo principale canale di acquisizione è... te stesso. Suona ridicolo, e infatti lo è. Significa che l'attribuzione delle tue campagne è rotta, che le sessioni sono moltiplicate per due, che il tasso di rimbalzo è gonfiato, e che le decisioni che stai prendendo sui dati partono da numeri inventati da un setup mancante. La buona notizia: si fixa in mezz'ora. La cattiva: nessuno lo controlla se non glielo dici.

"Due ingranaggi connessi da catena con anello rosso: il parametro gl che unifica"

Quando serve cross-domain tracking

Lo scenario è semplice da riconoscere: il tuo brand vive su più di un dominio. Sito istituzionale su `azienda.it` e shop su `shop.azienda.com` (Shopify lo fa spesso). Sito principale e checkout su una piattaforma esterna (Stripe Checkout, Calendly per le prenotazioni, gestionali esterni come Fiscozen). Landing page su un dominio promozionale separato (`offerta-blackfriday.it`) e conversione che avviene sul sito principale.

In tutti questi casi GA4, di default, vede l'utente che esce dal primo dominio come una sessione finita, e l'utente che entra sul secondo come una sessione nuova, con sorgente "referral" pari al primo dominio. Stesso essere umano, due GA4 lo conta come due. Se hai un dominio solo, ovviamente, niente di tutto questo ti riguarda.

Cosa succede senza cross-domain (i sintomi)

I sintomi sono inequivocabili una volta che sai dove guardare. Primo: in "Acquisition > Traffic acquisition" trovi il tuo stesso dominio nella lista dei referrer. Se vedi `azienda.it / referral` come canale che porta sessioni a `shop.azienda.com`, hai il problema. Secondo: il numero di sessioni è circa il doppio di quello che dovrebbe essere, e il tasso di sessioni per utente sale a 1.8 o 2.0 senza motivo. Terzo: le conversioni vengono attribuite quasi tutte al canale "referral" anziché a Google Ads o Google organic, e Smart Bidding non capisce più cosa sta funzionando.

Quarto sintomo, il più costoso: i percorsi di conversione in "Advertising > Attribution > Conversion paths" mostrano un sacco di touchpoint inutili — sempre con il tuo stesso dominio. Stai pagando la pubblicità che hai fatto e poi te la stai sabotando da solo nella reportistica.

Setup in GA4: la sezione "Configura i tuoi domini"

Il setup è banale, una volta che sai dove guardare. In GA4 vai su Admin (la rotellina in basso a sinistra) > Data Streams > clicca sul tuo stream web > Configure tag settings (in basso) > Configure your domains. Si apre una finestra dove aggiungi una riga per ogni dominio che fa parte del tuo "perimetro". Match type "contains" e il dominio senza protocollo (`azienda.it`, non `https://azienda.it`).

Importante: questo setting funziona solo se il tag GA4 sui due dominî è lo stesso (stesso Measurement ID). Se hai due property GA4 separate per i due dominî, il cross-domain non si può fare e devi prima unificarli. La regola d'oro: una property GA4 per brand, non per dominio.

Come funziona il parametro _gl

Sotto al cofano, il cross-domain di Google funziona con un parametro speciale nell'URL, `_gl`. Quando un utente clicca un link da `azienda.it` verso `shop.azienda.com`, lo script GA4 aggiunge `?_gl=1*xyz...` all'URL. Il sito di destinazione legge quel parametro e capisce che l'utente è lo stesso, mantiene il `client_id` e quindi la sessione resta unica.

Il parametro `_gl` viene aggiunto automaticamente solo se i due dominî sono in "Configure your domains" e se il link viene cliccato (non funziona su redirect lato server, e questo è uno dei problemi più frequenti). Se il tuo flusso passa per un redirect 301 o 302, il `_gl` viene perso e il cross-domain fallisce. Ne riparliamo nella sezione errori.

Verificare che funzioni davvero

Tre verifiche, da fare nell'ordine. Prima: apri il sito principale, clicca su un link che porta al secondo dominio, e guarda l'URL della pagina di destinazione. Deve avere `?_gl=...` in coda. Se non c'è, il cross-domain non sta funzionando.

Seconda: apri DebugView in GA4 da due browser diversi. In uno simula un utente che passa dal sito principale al secondo dominio. Devi vedere lo stesso `client_id` in entrambe le sessioni, e una singola sessione che continua dal primo all'altro. Se vedi due `client_id` diversi, c'è ancora qualcosa che non va.

Terza: dopo 48 ore di traffico reale, guarda il report "Traffic acquisition" e cerca il tuo stesso dominio nei referrer. Se sparito o ridotto a poche unità (può restare qualcosa per casi limite), il fix ha funzionato.

Errori tipici e come si correggono

Errore numero uno: ti sei dimenticato un sotto-dominio nella lista. Tipico: hai messo `azienda.it` ma non `shop.azienda.com`, perché pensavi che `azienda.it` con match type "contains" coprisse anche il sotto-dominio. Non è così: ogni host va aggiunto esplicitamente. Apri Configure your domains e controlla.

Errore numero due: i redirect lato server cancellano il `_gl`. Se il flusso è `azienda.it/checkout > redirect > shop.azienda.com`, il redirect 301 strappa la query string e il cross-domain salta. Soluzione: cambiare il redirect lato server in modo che preservi la query string (di solito un piccolo intervento sul server), oppure inserire un link diretto al posto del redirect dove possibile.

Errore numero tre: JavaScript di terze parti che riscrive l'URL al caricamento (succede con alcuni plugin SEO o anti-bot). Se vedi il `_gl` sparire al primo refresh della pagina di destinazione, è quasi sempre un plugin che fa pulizia. Devi escludere il parametro `_gl` dalla pulizia (la maggior parte dei plugin ha una whitelist).

Errore numero quattro: i due dominî hanno tag GA4 con Measurement ID diversi. In questo caso non c'è cross-domain che tenga: prima unifichi la property, poi configuri il cross-domain.

Cosa cambia nei report dopo il fix

Aspettati uno shock nelle prime 48 ore. Il numero di sessioni nei report si dimezza (o quasi), perché finalmente conti gli utenti veri e non i fantasmi raddoppiati. Il tasso di conversione sembra raddoppiare (stesse conversioni, metà delle sessioni), e questo è il numero reale che avevi sempre avuto. Il referral self sparisce dai canali, e l'attribuzione torna a Google Ads, organic search, direct e gli altri canali veri.

Smart Bidding ringrazia: con dati di attribuzione puliti, gli algoritmi di Google Ads iniziano finalmente a ottimizzare sul comportamento giusto, e nei due-tre cicli successivi (di solito 2-4 settimane) vedi il CPA scendere o le conversioni salire a parità di budget. È uno dei rari interventi tecnici con un ROI così visibile e veloce, vedi anche debug GA4 quando gli eventi non funzionano per altri fix ad alto impatto e audit tracciamento web in dieci punti per fare una pulizia completa.

Se hai più di un dominio nel tuo ecosistema e non sai se il cross-domain è configurato, sai cosa fare: cinque minuti di Admin in GA4. Se dopo cinque minuti hai capito che non lo sai gestire, sai chi chiamare: 329 128 68 25. Il cross-domain pulito è il prerequisito perché i servizi di Google Ads e Meta producano davvero il ROI che dovrebbero, e per le PMI che gestiscono siti web seri con più dominî è un controllo non negoziabile. Tutti gli approfondimenti di tracciamento e analytics e gli strumenti per l'advertising li trovi nelle relative categorie.

Hai bisogno di un chiarimento?

Contattaci per ricevere indicazioni precise sul servizio piu adatto.