GA4 E-commerce Tracking — Come Tracciare Acquisti e Transazioni Senza Sbagliare un Click
> cd .. / HUB_EDITORIALE > Visualizza in Inglese
Seo e analitica

GA4 E-commerce Tracking — Come Tracciare Acquisti e Transazioni Senza Sbagliare un Click

[2026-07-15] Author: Ing. Calogero Bono
> condividi
Zenithby Meteora Web Il sistema operativo della tua attività. Social, clienti, prenotazioni e fatture in un'unica piattaforma. Palestre, barber, professionisti. Scopri Zenith Demo gratis · senza carta

Hai un e-commerce, guardi i report di GA4 e i dati non combaciano con le vendite reali. Succede più spesso di quanto si creda. Noi lo vediamo ogni volta che prendiamo in mano un progetto già avviato: eventi doppi, purchase senza valore, sessioni perse. Il problema non è GA4. È il modo in cui lo hai configurato.

Perché il tracciamento e-commerce in GA4 è diverso da Universal Analytics?

Universal Analytics era a sessioni e hit. GA4 è a eventi e parametri. In UA l'enhanced e-commerce era un plugin: dovevi inviare un array dataLayer.push con la struttura ecommerce e GA lo interpretava. In GA4 non esiste più un oggetto ecommerce predefinito. Ogni interazione è un evento con parametri specifici: purchase, add_to_cart, view_item, ecc.

Questo cambiamento ha due conseguenze concrete:

  • Devi mappare tu gli eventi nel tag di Google Tag Manager o direttamente via gtag. Non c’è più la magia dell’oggetto pronto.
  • I parametri devono essere normalizzati — GA4 accetta solo determinati nomi per item_id, item_name, price, quantity. Se usi chiavi custom, il dato non viene popolato.

Noi, di Meteora Web, abbiamo gestito il sistema ERP di un negozio di abbigliamento dall’interno: marginalità, magazzino, season. Per questo sappiamo che se il dato di acquisto non arriva pulito a GA4, le analisi successive (ROAS, LTV, performance prodotto) sono aria fritta.

Sponsored Protocol

Quali sono gli eventi essenziali per enhanced e-commerce in GA4?

GA4 definisce una serie di eventi consigliati per l’e-commerce. Non sono obbligatori, ma se non li usi, perdi la maggior parte dei report predefiniti (come la canalizzazione acquisti, la vista prodotto, le prestazioni per articolo).

Gli eventi principali sono:

  • view_item — quando un utente visualizza la pagina prodotto.
  • add_to_cart — quando aggiunge al carrello.
  • remove_from_cart — quando rimuove.
  • begin_checkout — inizio checkout.
  • add_shipping_info — se hai step di spedizione.
  • add_payment_info — se hai step di pagamento.
  • purchase — acquisto completato.

Per ogni evento devi inviare una lista di item (array) con almeno: item_id, item_name, price, quantity. Altri campi come item_category, item_brand, discount sono opzionali ma arricchiscono i report.

Sponsored Protocol

Come implementare il purchase event con Google Tag Manager?

La maggior parte degli errori nasce qui. Vediamo il metodo pulito: push del dataLayer nella pagina di conferma ordine.

Supponiamo che il tuo backend (PHP, Laravel, Node, ecc.) stampi un JavaScript con i dati dell’ordine appena processato. Scriviamo il dataLayer.push per il purchase:

dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'ORD-2026-12345',
    value: 149.99,
    currency: 'EUR',
    items: [
      {
        item_id: 'SKU-1234',
        item_name: 'Maglione in lana merino',
        item_category: 'Abbigliamento/Maglieria',
        price: 79.99,
        quantity: 2
      },
      {
        item_id: 'SKU-5678',
        item_name: 'Cappello di lana',
        item_category: 'Accessori/Cappelli',
        price: 29.99,
        quantity: 1
      }
    ]
  }
});

Attenzione ai nomi dei campi: GA4 richiede transaction_id (stringa univoca), value (numero — tot. ordine), currency (ISO 4217, es. 'EUR'). items è un array di oggetti. Anche se invii un solo prodotto, deve sempre essere un array.

Sponsored Protocol

Poi in GTM crei un tag Google Analytics 4 – Evento GA4, innescato da un trigger personalizzato che ascolta l’evento 'purchase'. Nel tag dai all'evento il nome purchase e leggi i parametri dallo stesso dataLayer.

Come evitare l’invio duplicato del purchase?

Errore comune: l’utente ricarica la pagina di conferma e l’evento parte di nuovo. Soluzioni:

  • Imposta una variabile di sessione o un flag nel database che segna l’ordine già tracciato. Se il dato è già presente, non stampi il dataLayer.
  • Usa un cookie temporaneo nel browser che impedisce il push successivo quando la pagina viene ricaricata.
  • In GTM, spunta “Una volta per pagina” sul trigger. Non basta se la pagina è cacheata? Meglio una variabile nel backend.

Come verificare che il tracciamento funzioni con DebugView e BigQuery?

Non fidarti dei report standard dopo aver implementato. Usa DebugView di GA4: attiva la modalità preview da GTM, esegui un acquisto di test e controlla che l'evento purchase appaia con tutti i parametri. Verifica: transaction_id è presente? value è numerico? items contiene array non vuoto?

Sponsored Protocol

Se hai BigQuery collegato a GA4 (opzione avanzata ma potente), puoi fare una query diretta:

SELECT
  event_name,
  event_params.value.string_value AS transaction_id,
  event_params.value.double_value AS revenue
FROM `your-project.analytics_123456789.events_*`
CROSS JOIN UNNEST(event_params) AS event_params
WHERE event_name = 'purchase'
  AND event_params.key = 'transaction_id'
LIMIT 10;

Se il risultato è vuoto o i parametri sono null, c’è un problema di implementazione.

Noi, di Meteora Web, abbiamo un cliente e-commerce che aveva immagini da diversi MB: ottimizzandole abbiamo ridotto il peso del 60% senza perdita di qualità. Il sito è volato in velocità. Ma il vero problema era il purchase tracking: inviava value come stringa e GA4 lo ignorava. DebugView ha risolto in 10 minuti.

Cosa fare adesso

Non serve essere un esperto di analytics per avere il tracciamento corretto. Segui questi passaggi:

Sponsored Protocol

  1. Controlla la pagina di conferma ordine del tuo e-commerce. Il backend stampa un dataLayer con purchase e i parametri giusti? In caso contrario, fallo aggiungere dal tuo sviluppatore.
  2. Configura un tag GA4 event in GTM per l'evento purchase. Usa il trigger “Custom Event” con nome 'purchase'.
  3. Testa con DebugView facendo un acquisto reale (usando un coupon 100% sconto se non vuoi spendere).
  4. Impedisci il doppio invio lato server: quando l’ordine è già stato tracciato, non reinserire il dataLayer.
  5. Se vuoi la massima affidabilità, attiva l’export in BigQuery e verifica con SQL. Costa pochi euro al mese e ti dà il controllo totale.

Un sito si misura in fatturato, non in complimenti. Se il tuo GA4 non sa quanti vendi, non sai se stai guadagnando o perdendo. Partiamo da qui.

Per approfondire l’intero ecosistema GA4, leggi la nostra guida pillar: Google Analytics 4 Completo — dal setup ai report avanzati.

Vedi anche: Embeddings per Search Semantica — se vuoi arricchire i tuoi dati e-commerce con ricerca basata su significato.

> condividi
Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Ingegnere informatico, fondatore di Meteora Web e Zenith OS. System administrator e progettista di piattaforme, app e CMS proprietari, con esperienza in sviluppo full-stack, marketing digitale ed ecosistema Google.
[ Read Full Dossier ]

> METEORA_WEB // WEB AGENCY

Costruiamo la presenza digitale che la tua azienda merita.

Siti web, social, pubblicità online, e-commerce e hosting performante: ingegnerizzati con metodo da ingegneri informatici a Sciacca, per tutta Italia.

> MW_JOURNAL

> READ_ALL()