Evento purchase in GA4: come configurarlo bene con Google Tag Manager
È l'evento su cui si fondano report e campagne. Basta un numero d'ordine vuoto o una cifra con l'IVA dentro per cambiare ogni conto a valle.
Di Gennaro Napoletano · 8 minuti di lettura
Scritto con l'aiuto dell'AI, riletto da Gennaro Napoletano.

In breve
L’evento purchase di GA4 registra un ordine concluso e richiede transaction_id, items e, se invii value, anche currency. Google indica value come somma di prezzo per quantità, senza tasse e spedizione, che hanno campi propri. Con Google Tag Manager si scrive nel data layer sulla pagina di conferma e lo inoltra un tag di evento GA4.
Quali parametri servono all’evento purchase?
Quelli obbligatori sono tre: il numero d’ordine, gli articoli e la valuta se mandi un valore. Gli altri rendono utile il dato.
| Parametro | Obbligatorio | Che cosa contiene |
|---|---|---|
transaction_id | Sì | Numero unico dell’ordine |
items | Sì | Articoli, ciascuno con item_id o item_name |
currency | Se invii value | Valuta, per esempio EUR |
value | Sì nei fatti | Somma di prezzo per quantità degli articoli |
| tax | No | Imposte dell’ordine |
| shipping | No | Costo di spedizione |
| coupon | No | Codice sconto usato |
customer_type | No | Cliente nuovo o di ritorno |
Ecco un esempio scritto nel data layer, per un negozio di esempio con numeri inventati: due articoli da 40 € e uno da 20 €, senza IVA, più 5 € di spedizione e IVA al 22% su tutto.
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "ORD-10045",
value: 100.00,
tax: 23.10,
shipping: 5.00,
currency: "EUR",
items: [
{ item_id: "SKU-1", item_name: "Tazza di esempio", price: 40.00, quantity: 2 },
{ item_id: "SKU-2", item_name: "Piattino di esempio", price: 20.00, quantity: 1 }
]
}
});
I conti: 40 € × 2 + 20 € × 1 = 100 €. L’IVA è il 22% di 105 €, cioè 23,10 €. Il cliente ha pagato 128,10 €.
IVA e spedizione stanno dentro il valore?
Secondo Google no: value è la somma di prezzo per quantità, senza tax e shipping. GA4 però accetta qualunque cifra, e c’è chi manda il totale pagato. Quello che conta è sapere quale regola stai usando, dichiararla e tenerla in ogni evento.
Sullo stesso ordine, con 25 € di pubblicità, ecco cosa cambia. Sono numeri inventati per l’esempio.
| Regola del valore | Value inviato | ROAS mostrato |
|---|---|---|
| Prodotti senza IVA (indicazione di Google) | 100,00 € | 4,00 |
| Prodotti e spedizione senza IVA | 105,00 € | 4,20 |
| Totale pagato, IVA compresa | 128,10 € | 5,12 |
L’IVA non è un ricavo: la incassi per conto dello Stato. Se resta nel valore, le metriche risultano più alte di quanto siano davvero, e un ROAS di pareggio calcolato sul margine senza IVA, soglia che comunque non copre i costi fissi, non è più confrontabile con il numero che leggi. Un prodotto in perdita può sembrare sopra la soglia.
Nota anche il prezzo dentro items: se c’è uno sconto, Google chiede il prezzo unitario già scontato, con lo sconto per unità in discount. Così la somma degli articoli resta coerente con value.
Trattamento fiscale, aliquote e regimi particolari vanno confermati con il commercialista. Qui si parla solo di quale numero inviare a GA4.

Una regola sola per ogni ordine
Numero d’ordine, IVA, spedizione e sconti trattati allo stesso modo per ogni piattaforma, e acquisti confrontati con gli ordini veri: è il lavoro della configurazione client side.
Come va gestito il transaction_id?
Deve essere il numero vero dell’ordine, diverso per ogni ordine, e mai vuoto. Google lo usa per togliere gli acquisti doppi, quindi un errore qui può far sparire vendite vere, oltre a farne comparire di false.
- Mai vuoto. Gli acquisti con
transaction_idvuoto vengono deduplicati insieme: tanti ordini diventano uno. - Mai fisso. Un valore scritto a mano nel tag, e uguale per tutti, porta a contare molto meno del reale.
- Senza dati personali. Niente email o nomi: lettere, numeri, trattini e spazi vanno bene.
- Su ogni evento e-commerce. Google chiede di inviare l’ID transazione con ogni evento e-commerce, per eliminare i doppioni dello stesso utente e per elaborare bene i rimborsi; negli stream di app si invia con l’SDK di Firebase. La pagina italiana della guida dice ancora che la deduplica vale solo per il web: quella inglese, aggiornata, non lo dice più.
La deduplica di GA4 non ti esonera dal problema: vale per GA4, non per le altre piattaforme. Se la stessa pagina fa partire anche la conversione di Google Ads, serve passare lo stesso numero anche lì, come spiega la guida alle conversioni Google Ads con Google Tag Manager. Il quadro di tutto quello che Google Ads deve ricevere da un negozio è in Google Ads e-commerce tracking.
Come si imposta il tag in Google Tag Manager?
Bastano un attivatore e un tag, se il data layer contiene già i dati. Questa è la procedura indicata da Google, adattata al solo acquisto.
- Crea un attivatore di tipo evento personalizzato (Custom Event), con nome evento
purchase. - Crea un tag di tipo evento GA4, Google Analytics: evento GA4 (Google Analytics: GA4 Event), collegato al tuo ID di misurazione.
- Come nome dell’evento scrivi
purchase, oppure usa la variabile integrata Event. - In Altre impostazioni (More Settings), sezione E-commerce (Ecommerce), attiva l’invio dei dati e-commerce, Invia dati di e-commerce (Send Ecommerce data), e come origine scegli Livello dati (Data Layer).
- Controlla le impostazioni del consenso del tag e collega l’attivatore.
- Prova con l’anteprima, poi pubblica.
Se gli articoli arrivano in un altro formato, sistemali nel data layer invece di riscriverli con variabili dentro al contenitore. Il dato resta pulito e il lavoro non si ripete per ogni piattaforma. Per l’elenco degli altri eventi vedi gli eventi e-commerce di GA4.
Perché l’evento parte due volte, o non parte?
Di solito perché la pagina di conferma si ricarica, o perché il cliente non ci arriva mai. I casi tipici si riconoscono così.
| Sintomo | Causa | Rimedio |
|---|---|---|
| Ricarica e nuovo evento | La pagina di conferma riscrive il data layer a ogni visita | Far scrivere l’evento solo alla prima visita dell’ordine |
| Stesso ordine da due fonti | Plugin e tag nel contenitore | Tenere una fonte sola |
| Ordini pagati che mancano | Il cliente non torna dal pagamento esterno | Controllare il ritorno dal sistema di pagamento |
| Acquisti con ID uguale | ID fisso nel tag | Prenderlo dal data layer |
| Meno acquisti del previsto | Consenso negato e tag configurato di conseguenza | Verificare che la differenza sia spiegabile |
La guida sulle conversioni doppie spiega come cercare la causa negli altri casi. Le perdite dovute a redirect e pagamenti esterni si leggono anche nell’articolo sul gclid perso, perché un cliente che non torna fa danni su entrambi i fronti.
Come si prova l’evento purchase?
Con un ordine di prova e cinque controlli in fila. Se puoi, lavora su una copia del negozio, così non sporchi le statistiche e non mescoli dati veri alle prove.
- Anteprima. In Tag Assistant il tag deve partire una volta sola sull’evento
purchase, con i dati giusti. - DebugView di GA4. Lo trovi in Amministrazione, sotto la visualizzazione dei dati: apri l’evento e controlla ciascun parametro.
- Ricarica. Aggiorna la pagina di conferma e guarda se parte un secondo evento.
- Rapporto «In tempo reale». Conferma che i dati arrivano alla proprietà giusta.
- Confronto il giorno dopo. Google indica circa 24 ore perché i dati di acquisto entrino nei report: controlla che importo e numero d’ordine coincidano.
DebugView, nel secondo controllo, si apre da qui:
Dove si trova in GA4
Amministrazione › Visualizzazione dati › DebugView
(Admin › Data display › DebugView)
Attenzione: DebugView non mostra gli eventi se il consenso alle statistiche è negato. Per fare la prova, accetta i cookie nella sessione di controllo.
Dopo la prova serve la verifica nel tempo: per qualche giorno confronta acquisti in GA4 e ordini del negozio. La configurazione client side comprende questo confronto, oltre alle prove con il consenso accettato e rifiutato.
Domande frequenti
Il valore di purchase deve includere gli sconti?
Sì, nel senso che il valore deve riflettere il prezzo realmente pagato. Google chiede il prezzo unitario già scontato negli articoli e lo sconto per unità nel campo discount.
GA4 toglie da solo gli acquisti doppi?
Sì, deduplica gli acquisti con lo stesso transaction_id. Le altre piattaforme, come Google Ads, hanno regole proprie, quindi il doppio invio va comunque eliminato alla fonte.
Posso inviare purchase dal server invece che dal browser?
Sì, con un contenitore server o con il Measurement Protocol. Così l’evento non dipende dal ritorno del cliente alla pagina di conferma, ma il lavoro di configurazione aumenta e il consenso va rispettato comunque.
Serve inviare tax e shipping se non entrano nel valore?
Non sono obbligatori, ma conviene: restano disponibili a parte e aiutano a ricostruire il totale pagato quando confronti GA4 con il gestionale.
Fonti
- Google Analytics: riferimento degli eventi
- Google Analytics: misurare l'e-commerce con Google Tag Manager
- Google Analytics: configurare gli acquisti
- Google Analytics: transazioni duplicate
- Google Analytics: DebugView
- Tag Manager: il tag evento di GA4
- Tag Manager: l'attivatore evento personalizzato

Gennaro Napoletano
Esperto di digital analytics e Google Tag Manager, da oltre 15 anni lavora sui dati degli e-commerce. Nel 2023 Google lo ha invitato nella sua sede di Dublino per i risultati di alcuni e-commerce gestiti da lui. Ha realizzato il portale di marginalità per e-commerce e aiuta aziende e agenzie a fidarsi dei propri numeri. Scopri chi è.
Continua a leggere
Conversioni doppie: come trovarle e toglierle da GA4 e Google Ads
Pagina di conferma ricaricata, due tag, plugin più GTM: come scoprire i doppioni e perché un ROAS gonfiato può nascondere una campagna in perdita.
Perché GA4, Google Ads e il gestionale danno numeri diversi
Attribuzione, date, consenso e valore: perché GA4, Google Ads e gestionale non coincidono, come confrontarli e quando il divario è davvero un problema.
Conversioni Google Ads con Google Tag Manager: come impostarle
Azione di conversione, Linker, valore dinamico e ID transazione: i passi in GTM e gli errori che fanno imparare male le campagne, con un ordine di esempio.
Se i numeri non tornano
Un tracciamento di cui ti puoi fidare
Consulenza su Google Tag Manager, client-side e server-side: si controlla ciò che c’è e si sistema ciò che non misura bene.