1. Perche il Tracciamento E-commerce e il Fondamento di Ogni Strategia Data-Driven
Senza un tracciamento e-commerce corretto, stai pilotando alla cieca. Non sai quali prodotti generano piu margine, dove gli utenti abbandonano il funnel, quale canale porta il fatturato reale. Nella mia guida all'E-commerce Marketing sottolineo come il tracciamento sia il prerequisito di ogni ottimizzazione. E nella guida completa al Web Analytics spiego come GA4 e GTM lavorano insieme per darti una visione completa.
Il tracciamento e-commerce in GA4 non e un "nice to have". E il sistema nervoso del tuo business online:
Degli e-commerce italiani ha un tracciamento incompleto o errato (dati interni 2025)
Delle transazioni non vengono tracciate per errori nel DataLayer o problemi di consent
Miglioramento ROAS medio dopo aver corretto il tracciamento e attivato Smart Bidding basato su revenue
Eventi e-commerce standard GA4 che ogni negozio online deve implementare correttamente
2. E-commerce Standard vs Enhanced E-commerce in GA4
In Universal Analytics esisteva una netta distinzione tra e-commerce standard e enhanced e-commerce. In GA4, questa distinzione non esiste piu: tutto il tracciamento e-commerce in GA4 e "enhanced" per definizione. Ma e utile capire la differenza per chi migra da UA.
| Aspetto | UA Standard | UA Enhanced | GA4 (unico) |
|---|---|---|---|
| Transazioni | Si | Si | Si (purchase) |
| Visualizzazione prodotto | No | Si | Si (view_item) |
| Aggiunta carrello | No | Si | Si (add_to_cart) |
| Step checkout | No | Si | Si (begin_checkout) |
| Impression lista | No | Si | Si (view_item_list) |
| Promozioni | No | Si | Si (view_promotion) |
GA4 semplifica ma richiede rigore
In GA4 non devi "abilitare" l'enhanced e-commerce. Basta inviare gli eventi nel formato corretto con i parametri giusti. La semplicita e un vantaggio, ma significa anche che se sbagli la struttura del DataLayer, GA4 non ti avvisa: semplicemente non raccoglie i dati.
3. DataLayer per E-commerce: La Struttura Corretta Evento per Evento
Il DataLayer e lo strato intermedio tra il tuo sito e Google Tag Manager. E un oggetto JavaScript che contiene i dati e-commerce strutturati. Come spiego nella guida a Google Tag Manager, il DataLayer e il fondamento di ogni implementazione di tracking avanzata.
Inizializzazione del DataLayer
Il DataLayer deve essere dichiarato prima del tag GTM nel codice HTML:
<script>
window.dataLayer = window.dataLayer || [];
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){...})(window,document,'script','dataLayer','GTM-XXXXX');</script>
view_item — Visualizzazione pagina prodotto
window.dataLayer.push({ ecommerce: null }); // Pulizia precedente
window.dataLayer.push({
event: "view_item",
ecommerce: {
currency: "EUR",
value: 89.90,
items: [{
item_id: "SKU-12345",
item_name: "Nike Air Max 90 Donna Bianche",
item_brand: "Nike",
item_category: "Scarpe",
item_category2: "Sneaker",
item_category3: "Donna",
item_variant: "Bianco",
price: 89.90,
quantity: 1,
index: 0,
item_list_id: "categoria_sneaker_donna",
item_list_name: "Sneaker Donna"
}]
}
});
add_to_cart — Aggiunta al carrello
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: "add_to_cart",
ecommerce: {
currency: "EUR",
value: 89.90,
items: [{
item_id: "SKU-12345",
item_name: "Nike Air Max 90 Donna Bianche",
item_brand: "Nike",
item_category: "Scarpe",
item_category2: "Sneaker",
item_variant: "Bianco - Taglia 38",
price: 89.90,
quantity: 1
}]
}
});
begin_checkout — Inizio checkout
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: "begin_checkout",
ecommerce: {
currency: "EUR",
value: 179.80,
coupon: "SUMMER10",
items: [{
item_id: "SKU-12345",
item_name: "Nike Air Max 90 Donna Bianche",
item_brand: "Nike",
price: 89.90,
quantity: 2
}]
}
});
purchase — Transazione completata
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "ORD-2026-00847",
value: 171.80,
tax: 30.92,
shipping: 0,
currency: "EUR",
coupon: "SUMMER10",
items: [{
item_id: "SKU-12345",
item_name: "Nike Air Max 90 Donna Bianche",
item_brand: "Nike",
item_category: "Scarpe",
item_category2: "Sneaker",
item_variant: "Bianco - Taglia 38",
price: 89.90,
quantity: 2,
coupon: "SUMMER10",
discount: 8.00
}]
}
});
Regola fondamentale: pulire prima di pushare
Nota il dataLayer.push({ ecommerce: null }) prima di ogni evento. Questo e essenziale per evitare che i dati dell'evento precedente "contaminino" quello successivo. Senza questa pulizia, potresti avere un evento purchase che eredita gli items di un view_item precedente, falsando i report.
4. Implementazione con GTM: Setup Step by Step
Una volta che il DataLayer e popolato correttamente dal sito, devi configurare Google Tag Manager per leggere questi dati e inviarli a GA4. Ecco il processo step by step.
Step 1: Creare le variabili DataLayer
In GTM, crea variabili di tipo "Data Layer Variable" per ogni dato e-commerce che vuoi utilizzare:
| Nome Variabile GTM | Data Layer Variable Name | Uso |
|---|---|---|
| DLV - Ecommerce Items | ecommerce.items | Array prodotti |
| DLV - Ecommerce Value | ecommerce.value | Valore transazione |
| DLV - Transaction ID | ecommerce.transaction_id | ID ordine univoco |
| DLV - Currency | ecommerce.currency | Valuta (EUR) |
| DLV - Shipping | ecommerce.shipping | Costo spedizione |
| DLV - Tax | ecommerce.tax | IVA |
Step 2: Creare i trigger
Per ogni evento e-commerce, crea un trigger di tipo "Custom Event":
- CE - view_item: Trigger tipo Custom Event, nome evento "view_item"
- CE - add_to_cart: Trigger tipo Custom Event, nome evento "add_to_cart"
- CE - begin_checkout: Trigger tipo Custom Event, nome evento "begin_checkout"
- CE - purchase: Trigger tipo Custom Event, nome evento "purchase"
Step 3: Creare i tag GA4 Event
Per ogni evento, crea un tag di tipo "GA4 Event" collegato al trigger corrispondente. Il tag deve inviare il nome evento e i parametri e-commerce:
Configurazione tag GA4 - purchase
Tag type: Google Analytics: GA4 Event
Measurement ID: {{GA4 Measurement ID}} (costante GTM)
Event Name: purchase
Parametro transaction_id: {{DLV - Transaction ID}}
Parametro value: {{DLV - Ecommerce Value}}
Parametro currency: {{DLV - Currency}}
Parametro shipping: {{DLV - Shipping}}
Parametro tax: {{DLV - Tax}}
Parametro items: {{DLV - Ecommerce Items}}
Trigger: CE - purchase
5. Gli 8 Eventi E-commerce GA4: Dal view_item al purchase
GA4 definisce 8 eventi e-commerce standard. Non tutti sono obbligatori, ma piu ne implementi, piu granulare sara la tua analisi del funnel di acquisto.
| Evento | Quando si attiva | Priorita | Parametri chiave |
|---|---|---|---|
| view_item_list | L'utente vede una lista prodotti (categoria, ricerca) | Raccomandata | item_list_id, item_list_name, items[] |
| select_item | L'utente clicca un prodotto dalla lista | Raccomandata | item_list_id, items[] |
| view_item | L'utente visita una pagina prodotto | Essenziale | currency, value, items[] |
| add_to_cart | L'utente aggiunge un prodotto al carrello | Essenziale | currency, value, items[] |
| remove_from_cart | L'utente rimuove un prodotto dal carrello | Raccomandata | currency, value, items[] |
| view_cart | L'utente visualizza il carrello | Raccomandata | currency, value, items[] |
| begin_checkout | L'utente inizia il processo di checkout | Essenziale | currency, value, coupon, items[] |
| purchase | L'utente completa l'acquisto | Critico | transaction_id, value, currency, tax, shipping, items[] |
Priorita di implementazione
Se hai risorse limitate, implementa nell'ordine: 1) purchase (critico per misurare il fatturato), 2) add_to_cart e begin_checkout (per analizzare il funnel), 3) view_item (per capire l'interesse), 4) tutti gli altri. I primi 4 coprono l'80% delle analisi necessarie.
6. Report E-commerce in GA4: Monetization, Funnel e Path Analysis
Una volta implementato il tracciamento, GA4 popola automaticamente una serie di report e-commerce. Come approfondisco nella guida al setup di GA4, devi configurare la proprieta come e-commerce per sbloccare tutti i report.
Monetization Reports
| Report | Cosa mostra | Metriche chiave |
|---|---|---|
| Monetization Overview | Dashboard con revenue totale, acquirenti, AOV | Revenue, Purchases, AOV, Items Purchased |
| E-commerce Purchases | Performance per singolo prodotto | Items Viewed, Add to Cart, Purchases, Revenue per item |
| Purchase Journey | Funnel visuale dall'inizio alla conversione | Drop-off rate per step, completion rate |
Funnel Exploration
Il report piu potente per l'e-commerce in GA4 e la Funnel Exploration (Explore → Funnel). Ti permette di costruire funnel personalizzati e vedere esattamente dove perdi utenti:
- Step 1: view_item (100% degli utenti che vedono un prodotto)
- Step 2: add_to_cart (tipicamente 8-15% degli utenti)
- Step 3: begin_checkout (tipicamente 40-60% di chi aggiunge al carrello)
- Step 4: purchase (tipicamente 50-70% di chi inizia il checkout)
La Funnel Exploration ti permette anche di segmentare per dispositivo, canale, campagna. Se vedi che il mobile perde il 80% al checkout mentre il desktop perde solo il 30%, sai esattamente dove intervenire.
7. Integrazione con Google Ads: Smart Bidding Basato su Revenue
Il tracciamento e-commerce non serve solo per i report: e il carburante dello Smart Bidding. Come approfondisco nella guida al tracciamento conversioni Google Ads, collegare GA4 a Google Ads con dati di revenue e il passo piu importante per ottimizzare le campagne.
Da Target CPA a Target ROAS
Con il tracciamento e-commerce attivo, puoi passare dal bidding basato su conversioni (Target CPA) al bidding basato su revenue (Target ROAS). La differenza e enorme:
TARGET CPA
Google ottimizza per avere il massimo numero di conversioni. Ma una conversione da 10 EUR viene trattata come una da 500 EUR.
Rischio: molte vendite piccole, poche grandi
TARGET ROAS
Google ottimizza per massimizzare il fatturato. Investe di piu sugli utenti che probabilmente spenderanno di piu.
Risultato: focus sulle vendite ad alto valore
Audience basate su valore
Con il tracciamento e-commerce puoi creare audience in GA4 basate sul comportamento d'acquisto:
- High-Value Buyers: utenti con purchase value > 200 EUR negli ultimi 90 giorni
- Cart Abandoners: utenti con add_to_cart ma senza purchase negli ultimi 7 giorni
- Repeat Buyers: utenti con 2+ purchase negli ultimi 180 giorni
- Category Browsers: utenti che hanno visto 3+ prodotti di una categoria senza acquistare
8. Debug e Validazione: DebugView, Tag Assistant, DataLayer Inspector
Il tracciamento e-commerce e complesso e gli errori sono la norma, non l'eccezione. Un setup senza debug e come un'auto senza cruscotto: non sai se funziona finche non e troppo tardi.
4 strumenti essenziali per il debug
| Strumento | Cosa verifica | Quando usarlo |
|---|---|---|
| GA4 DebugView | Eventi e parametri ricevuti da GA4 in tempo reale | Verifica finale post-implementazione |
| GTM Preview Mode | Trigger attivati, tag eseguiti, variabili valorizzate | Debug della configurazione GTM |
| DataLayer Inspector | Struttura e contenuto del DataLayer push per push | Verifica del DataLayer lato sviluppatore |
| GA4 Realtime Report | Dati che arrivano in GA4 in tempo reale | Verifica rapida post-pubblicazione |
Checklist di validazione per ogni evento
- Il DataLayer push contiene tutti i parametri richiesti (items, value, currency, transaction_id)
- I valori numerici (price, value, quantity) sono numeri, non stringhe
- Il transaction_id e univoco per ogni ordine (non si ripete su refresh della thank you page)
- Il value del purchase corrisponde al totale ordine reale (incluso/escluso IVA come deciso)
- L'ecommerce: null viene pushato prima di ogni nuovo evento e-commerce
9. I 7 Errori Piu Comuni nel Tracciamento E-commerce
Dopo aver analizzato decine di implementazioni e-commerce, ecco gli errori che trovo piu frequentemente e i danni che causano.
Errore #1: Transazioni duplicate su refresh della thank you page
Se l'utente ricarica la pagina di conferma ordine, l'evento purchase viene inviato di nuovo con lo stesso transaction_id. Soluzione: implementare un controllo lato server o cookie che impedisca il doppio invio, oppure GA4 deduplicheera in automatico se il transaction_id e identico.
Errore #2: Prezzi come stringhe invece che numeri
Inviare price: "89.90" (stringa) invece di price: 89.90 (numero). GA4 potrebbe non processare correttamente i calcoli di revenue. Verifica sempre nel DataLayer che price, value e quantity siano numerici.
Errore #3: Mancata pulizia dell'oggetto ecommerce
Senza il push di { ecommerce: null } prima di ogni evento, i dati del DataLayer si accumulano e un evento view_item puo "ereditare" gli items di un evento precedente. Risultato: report con dati completamente falsati.
Errore #4: Value incoerente tra eventi
Il value del purchase include IVA e spedizione, mentre il value dell'add_to_cart no. Questo rende impossibile confrontare i report e calcolare il drop-off reale. Decidi una convenzione (IVA inclusa o esclusa) e applicala a tutti gli eventi.
Errore #5: Nessun tracciamento del consent
Inviare eventi e-commerce senza verificare il consenso GDPR. In Italia, con la Consent Mode V2, devi gestire correttamente i segnali ad_storage, analytics_storage, ad_user_data e ad_personalization. Senza consent, i dati arrivano ma non possono essere usati per il remarketing.
Errore #6: Item_id non corrispondente al feed Shopping
Se l'item_id nel DataLayer GA4 non corrisponde all'ID prodotto nel feed Google Merchant Center, Google Ads non puo fare matching tra dati di performance e prodotti. Risultato: il Dynamic Remarketing non funziona e il Target ROAS perde efficacia.
Errore #7: Testare solo in staging e non in produzione
L'ambiente di staging spesso ha configurazioni diverse (URL diversi, cookie diversi, gateway di pagamento sandbox). Un test che funziona in staging puo fallire in produzione. Testa SEMPRE anche in produzione con ordini reali (e poi rimborsali).
10. Checklist Tracciamento E-commerce: 20 Punti per un Setup Perfetto
Usa questa checklist per verificare che il tuo tracciamento e-commerce GA4 sia completo e funzionante.
DataLayer e Implementazione
- DataLayer dichiarato PRIMA del tag GTM nel codice HTML
- Push di { ecommerce: null } prima di ogni evento e-commerce
- Tutti i valori numerici (price, value, quantity) sono numeri, non stringhe
- Currency impostata correttamente (EUR per l'Italia)
- Item_id univoco e corrispondente all'ID nel feed Google Merchant Center
Eventi Core
- view_item si attiva su ogni pagina prodotto
- add_to_cart si attiva al click sul pulsante aggiungi al carrello
- begin_checkout si attiva quando l'utente entra nel processo di checkout
- purchase si attiva sulla pagina di conferma ordine con transaction_id univoco
- Il purchase non si attiva due volte su refresh della thank you page
Configurazione GA4 e GTM
- Variabili DataLayer create in GTM per ogni parametro e-commerce
- Trigger Custom Event per ogni evento e-commerce
- Tag GA4 Event con tutti i parametri correttamente mappati
- purchase marcato come conversione in GA4 (Admin → Events → Mark as conversion)
- Consent Mode V2 implementata correttamente con la CMP
Validazione e Qualita Dati
- Revenue GA4 cross-verificata con il gestionale/piattaforma e-commerce (scostamento max 5%)
- Numero transazioni GA4 confrontato con ordini reali (scostamento max 10-15%)
- DebugView verificato per ogni evento con parametri corretti
- Test completato sia su desktop che mobile
- Test completato in ambiente di produzione con ordine reale
Vuoi un Tracciamento E-commerce che Funziona Davvero?
Setup professionale del tracciamento e-commerce GA4 con DataLayer, GTM, Consent Mode V2, integrazione Google Ads e validazione completa. Ogni euro tracciato e un euro che puoi ottimizzare.
Richiedi il Setup Tracciamento E-commerce