Questo articolo fa parte della guida alla migrazione da Universal Analytics Google Analytics 4. Consulta il sommario di questa guida.

[UA→GA4] Eseguire la migrazione della raccolta dei dati di e-commerce da UA a GA4

Best practice per la configurazione della raccolta dati di e-commerce nelle proprietà Google Analytics 4
Questo articolo è rivolto ai proprietari di siti web che vogliono raccogliere dati di e-commerce sia nelle proprietà Universal Analytics sia in quelle Google Analytics 4. Fornisce inoltre alcune informazioni sulle best practice per i proprietari di app per dispositivi mobili che utilizzano Google Analytics per Firebase.

I nomi di alcuni eventi e parametri di e-commerce sono cambiati nelle proprietà Google Analytics 4. Per aumentare al massimo l'utilità dei report sull'e-commerce e dei dati sugli eventi di e-commerce della tua proprietà GA4, utilizza i nomi e i parametri GA4 corretti.

Per eseguire la migrazione da UA a GA4:

  • Non modificare l'implementazione di UA.
  • Crea eventi duplicati per la proprietà GA4. Utilizza i nuovi nomi di eventi e parametri richiesti per le proprietà Google Analytics. Saranno disponibili due implementazioni indipendenti affiancate, ciascuna delle quali avrà funzioni leggermente diverse.

Evitare di condividere le implementazioni dell'e-commerce tra UA e GA4

Se utilizzi l'implementazione dell'e-commerce UA esistente (ad es. eventi del dataLayer e codice gtag.js) per una proprietà GA4, i report sull'e-commerce GA4 non saranno completi. La libreria gtag.js converte automaticamente solo alcuni parametri ed eventi UA al formato GA4.

D'altro canto, non devi semplicemente passare ai nomi degli eventi e dei parametri GA4. UA non raccoglie dati per eventi non riconosciuti. Ad esempio, tutti gli eventi di e-commerce GA4 utilizzano il parametro item_id anziché id.

Per questo motivo, le best practice prevedono due implementazioni: una per UA e una per GA4.

Poiché questo comporta l'invio di due eventi quando di solito ne inviavi solo uno, puoi utilizzare l'implementazione di UA e aggiungere solo gli ulteriori eventi/parametri richiesti per inviare dati alle proprietà GA4. Tuttavia, ciò richiede una profonda comprensione dei due diversi insiemi di eventi e parametri. Se mantieni gli oggetti e la struttura del dataLayer di UA:

  • Devi aggiungere nuovi eventi/parametri GA4 per poter utilizzare tutte le funzionalità di creazione report delle proprietà GA4.
  • Se un evento UA è stato ritirato in GA4, devi creare un evento duplicato con il nome GA4 aggiornato.

Nozioni di base su eventi e parametri

Un evento indica come interpretare i dati relativi a prodotti, elenchi e/o promozioni che invii. I parametri passano informazioni più specifiche su un evento.

  • Per GA4, i parametri sono incorporati in un array di item (dettagli). Tale array è diverso dal dataLayer di UA, in cui era necessario specificare informazioni aggiuntive sulle azioni per eventi distinti.
  • La codifica dell'e-commerce è soggetta a limitazioni per gli eventi e i parametri GA4. Puoi specificare fino a 25 parametri personalizzati per evento (l'array di item occupa solo uno slot) e fino a 50 dimensioni personalizzate e 50 metriche personalizzate per progetto (dettagli).

Parametri obbligatori per l'e-commerce in GA4

(I parametri obbligatori sono indicati in grassetto)

Se non includi i parametri obbligatori per eventi specifici per l'e-commerce (ad es. items, item_id e item_name), questi eventi non verranno inclusi nei report sull'e-commerce di GA4, ma verranno registrati come eventi personalizzati.

Nome evento

Parametri

view_item

currency, items, value

view_item_list

items, item_list_name, item_list_id

select_item

items, item_list_name, item_list_id

add_to_wishlist

currency, items, value

add_to_cart

currency, items, value

view_promotion

items, promotion_id, promotion_name, creative_name, creative_slot, location_id

select_promotion

items, promotion_id, promotion_name, creative_name, creative_slot, location_id

view_cart

currency, items, value

remove_from_cart

currency, items, value

begin_checkout

coupon, currency, items, value

add_payment_info

coupon, currency, items, payment_type, value

add_shipping_info

coupon, currency, items, shipping_tier, value

purchase

affiliation, coupon, currency, items, transaction_id, shipping, tax, value

refund

affiliation, coupon, currency, items, transaction_id, shipping, tax, value

I parametri (coupon, affiliation, item_list_name, item_list_id) possono essere passati a livello di evento o di articolo. Se sono presenti sia a livello di evento che a livello di articolo, quest'ultimo ha la precedenza.

Parametro evento

Parametri a livello di articolo

Elementi (vedi sotto)

affiliation, coupon, currency, discount, index, item_id, item_brand, item_category, item_category2, item_category3, item_category4, item_category5, item_list_name, item_list_id, item_name, item_variant, price, quantity

La tabella seguente descrive i singoli parametri dell'array di articoli disponibili per la raccolta.

Nome parametro array di articoli

Descrizione

affiliation

Il nome o il codice dell'affiliato (eventuale partner/fornitore) associato a un singolo articolo

coupon

Il nome/codice del coupon (se disponibile) associato a un singolo articolo

discount

Lo sconto (se disponibile) associato a un singolo articolo

item_brand

Il brand dell'articolo

item_category

La categoria dell'articolo

item_category2

La seconda gerarchia di categorie o tassonomia aggiuntiva per l'articolo

item_category3

La terza gerarchia di categorie o tassonomia aggiuntiva per l'articolo

item_category4

La quarta gerarchia di categorie o tassonomia aggiuntiva per l'articolo

item_category5

La quinta gerarchia di categorie o tassonomia aggiuntiva per l'articolo

item_id

L'ID dell'articolo (obbligatorio)

item_name

Il nome dell'articolo (obbligatorio)

item_variant

La variante, il codice univoco o la descrizione dell'articolo per ulteriori dettagli/opzioni dell'articolo

price

Il prezzo dell'articolo

quantity

La quantità dell'articolo con cui è avvenuta l'interazione

Mappatura tra UA e GA4

Alcuni nomi sono cambiati; ad esempio, i parametri del livello dati definiti in precedenza come "impression" o "product" ora sono raggruppati in items.

Ora è presente un array di items.

Nelle proprietà GA4, non c'è nessuna distinzione tra e-commerce ed e-commerce avanzato.

Come utilizzare la tabella:

  • Confronta le modifiche degli eventi (colonna A e colonna C).
  • Esamina i requisiti di dimensioni/parametri e le relative modifiche (colonna B e colonna D). Osserva la tabella aggiuntiva riportata di seguito, che evidenzia le modifiche dei parametri per articoli/prodotti.
  • Se hai un'app con Firebase, tieni presente le seguenti modifiche dei nomi degli eventi e apporta le modifiche corrispondenti in base ai nomi evento GA4 (colonna C). Qualsiasi nuovo report specifico per l'e-commerce nelle proprietà GA4 non verrà visualizzato nell'interfaccia di Firebase. Inoltre, la versione di Firebase dei report dettagliati sugli eventi, ad esempio ecommerce_purchase e purchase, potrebbe non essere aggiornata.
    • Modificati
      • ecommerce_purchase (Google Analytics per Firebase) -> purchase
      • ecommerce_refund (Google Analytics per Firebase) -> refund
      • select_content (Google Analytics per Firebase) -> select_item
      • present_offer (Google Analytics per Firebase) -> select_promotion
    • Nuovo
      • view_cart

Colonna A

Nomi degli eventi UA (riferimento)

Colonna B

Dimensioni UA (riferimento)

Colonna C

Nomi degli eventi GA4 (riferimento)

Colonna D

Parametri GA4 (riferimento)

purchase

refund

id

coupon

revenue

tax

shipping

currencyCode

**products (vedi i dettagli di seguito)

purchase

refund

transaction_id

coupon

value

tax

shipping

currency

**items (vedi i dettagli di seguito)

checkout_option

option

*add_payment_info

payment_type

checkout_option

revenue

currencyCode

option

*add_shipping_info

price

currency

shipping_tier

checkout

currencyCode

revenue

coupon

step (solo analytics.js)

option (solo analytics.js)

**products

*begin_checkout

currency

value

coupon

**items

addToCart

N/A

removeFromCart

N/A

currencyCode

revenue

**products

*add_to_cart

*add_to_wishlist

*remove_from_cart

*view_cart

currency

value

**items

pageview

currencyCode

**products

revenue

* View_item (predefinito per le visualizzazioni)

currency

**items

value

pageview

productClick

list

N/A - inesistente

**products

*View_item_list (vista merchandising)

*select_item

item_list_name

item_list_id

**items

pageview

promotionClick

id

name

creative

position

**products

*view_promotion

*select_promotion

promotion_id

promotion_name

creative_name

creative_slot

**items

* Nome evento nuovo o modificato rispetto a UA

Dettagli

Parametri GA4

Dimensioni UA corrispondenti

**Articoli/dettagli dei prodotti

items

item_id

item_name

item_brand

item_category

item_category2

item_category3

item_category4

item_category5

item_variant

affiliation

discount

coupon

price

quantity

products

id

name

brand

category

N/A - inesistente

N/A - inesistente

N/A - inesistente

N/A - inesistente

variant

N/A - inesistente

N/A - inesistente

coupon

price

quantity

I seguenti nomi di eventi in UA sono considerati eventi di e-commerce nelle proprietà GA4:

  • purchase
  • refund
  • begin_checkout
  • add_to_cart
  • remove_from_cart
  • view_cart
  • add_to_wishlist
  • view_item*
  • view_promotion
  • select_promotion
  • select_item*
  • view_item_list
  • add_payment_info
  • add_shipping_info
  • * Questi eventi supportano un solo articolo.

Quando uno degli eventi sopra riportati viene inviato a una proprietà GA4 tramite l'API gtag.js, l'elaborazione degli eventi di e-commerce di GA4 cerca una chiave items nel modello di evento. Se la trova, il parametro viene analizzato come un array di 200 articoli al massimo, ciascuno dei quali è un oggetto con uno schema predefinito. Per ogni articolo, l'e-commerce di GA4 trasmette i dati dei campi di un elenco predefinito. Di seguito sono riportati i campi predefiniti iniziali di un articolo:

  • item_id
  • item_name
  • item_brand
  • item_category
  • item_category2
  • item_category3
  • item_category4
  • item_category5
  • item_variant
  • price
  • quantity
  • coupon
  • index
  • item_list_name
  • item_list_id
  • discount
  • affiliation
  • location_id
  • promotion_id (a livello di evento o articolo; il livello articolo ha la precedenza)
  • promotion_name (a livello di evento o articolo; il livello articolo ha la precedenza)
  • creative_name (a livello di evento o articolo; il livello articolo ha la precedenza)
  • creative_slot (a livello di evento o articolo; il livello articolo ha la precedenza)

Se non aggiorni la strumentazione degli eventi in UA, non vedrai più i seguenti eventi nei report sull'e-commerce di GA4, poiché i nomi degli eventi precedenti non verranno riconosciuti. Crea un evento duplicato con il nome corretto per la tua proprietà GA4.

  • set_checkout_option (unito a begin_checkout in GA4)
  • checkout_progress (unito a begin_checkout in GA4)
  • select_content (non è più un evento di e-commerce GA4, ma è comunque un evento consigliato, senza supporto per l'array di articoli)

Le proprietà GA4 introducono parametri aggiuntivi a livello di articolo, ad esempio affiliation, currency e alcuni parametri item_category. Se non modifichi i tag, non potrai usufruire dei loro vantaggi. Tuttavia, questi parametri aggiuntivi sono facoltativi e non si attivano se non li utilizzi.

Aggiornare il dataLayer per Google Tag Manager

Per utilizzare i nuovi eventi introdotti per le proprietà GA4, dovrai aggiungere nuovi eventi/parametri nel dataLayer, oltre ai nuovi attivatori di eventi in Google Tag Manager.

  • Avrai la possibilità di definire manualmente quale chiave del dataLayer mappare a un parametro evento specificato.
    • Ad esempio, in UA devi effettuare il push del parametro "id" (dell'evento di acquisto) nell'oggetto del dataLayer come "ecommerce.purchase.actionField.id". Con GA4, puoi specificare la chiave del dataLayer da mappare al parametro evento "transaction_id". Se hai riutilizzato l'oggetto del dataLayer di UA, puoi creare una variabile del dataLayer di Google Tag Manager mappata alla chiave "ecommerce.purchase.actionField.id" e assegnarla all'evento GA4 come "transaction_id". In alternativa, puoi mappare la variabile del dataLayer di Google Tag Manager alla chiave "ecommerce.purchase.transaction_id" e assegnarla al parametro evento "transaction_id".
  • Puoi scegliere di continuare a fare riferimento agli oggetti del dataLayer esistenti.
    • Se utilizzi gli oggetti del dataLayer esistenti dell'implementazione di UA, non puoi usufruire dei nuovi nomi e parametri evento di GA4 (ad es. dei parametri aggiuntivi a livello di item). Tuttavia, puoi visualizzare alcuni report di e-commerce per gli eventi esistenti, se crei manualmente le variabili necessarie in Tag Manager.
Quando configuri un tag evento di GA4 in Google Tag Manager per inviare un evento di e-commerce utilizzando il dataLayer, devi inserire manualmente le variabili del dataLayer come parametri evento, ad esempio nome parametro: "items" e valore {{ecommerce.purchase.products}}, dove {{ecommerce.purchase.products}} è una variabile del dataLayer di Tag Manager che deve essere creata per leggere l'array dei prodotti del dataLayer. Devi creare una variabile del dataLayer per ogni parametro a livello di evento e assegnarla a un parametro evento e poi ripetere l'operazione per ogni evento di e-commerce. Vedi l'esempio sotto per maggiori dettagli.

Codice per il push al dataLayer di Google Tag Manager di UA (riferimento)

Implementazione di Google Tag Manager GA4 che riutilizza il dataLayer esistente implementato per UA

dataLayer.push({

  'ecommerce': {

    'purchase': {

      'actionField': {

        'id': 'T12345',                         // ID transazione. Obbligatorio per acquisti e rimborsi.

        'affiliation': 'Online Store',

        'revenue': '35.43',                     // Valore transazione totale (incluse imposte e spese di spedizione)

        'tax':'4.90',

        'shipping': '5.99',

        'coupon': 'SUMMER_SALE'

      },

      'products': [{                            // Elenco di productFieldObjects.

        'name': 'Triblend Android T-Shirt',     // Nome o ID obbligatorio.

        'id': '12345',

        'price': '15.25',

        'brand': 'Google',

        'category': 'Apparel',

        'variant': 'Gray',

        'quantity': 1,

        'coupon': ''                            // I campi facoltativi possono essere omessi o impostati su una stringa vuota.

       },

       {

        'name': 'Donut Friday Scented T-Shirt',

        'id': '67890',

        'price': '33.75',

        'brand': 'Google',

        'category': 'Apparel',

        'variant': 'Black',

        'quantity': 1

       }]

    }

  }

});

 

Devi creare variabili dataLayer per ogni parametro a livello di evento, come mostrato di seguito.

 

Devi ripetere l'operazione per ogni evento di e-commerce monitorato.

Esempi di implementazione

Configurare la canalizzazione di acquisto

Di solito, in una canalizzazione di acquisto sono previsti quattro passaggi:

Visualizzazione dei prodotti

L'utente visualizza un articolo o un elenco di articoli. Per misurare le visualizzazioni/impressioni degli elenchi di articoli, effettua il push di uno di questi elenchi al dataLayer e raccogli un evento insieme a questi dati. 

  • gtag.js 
    • Evento: view_item_list O view_item.
      • In UA, l'evento equivalente è "impressions".
    • Parametri: devono includere almeno item_id O item_name.
      • In UA, i parametri non avevano il prefisso "item_". "list_position" è diventato "index".
  • Google Tag Manager 
    • Evento: view_item_list O view_item.
      • In UA, l'evento equivalente è "impressions". 
    • Parametri: items è una variabile del livello dati "ecommerce.items". I parametri sono "items{ }" e devono includere almeno item_id O item_name.
      • In UA, i parametri non avevano il prefisso "item_". "position" è diventato "index".

Aggiunta al carrello

L'utente seleziona un articolo e lo aggiunge al carrello. Eventuali varianti potrebbero essere l'aggiunta a una lista desideri o l'invio di una richiesta di ulteriori informazioni.

  • gtag.js
    • Evento: add_to_cart.
    • Parametri: devono includere almeno item_id O item_name.
  • Google Tag Manager
    • Evento: add_to_cart
      • In UA, l'evento del dataLayer equivalente è "addToCart" e questo richiedeva un ulteriore actionFieldObject "add". actionFieldObject non è più obbligatorio nell'oggetto del dataLayer per GA4.
    • Parametri: come parte di "items", devono includere almeno item_id O item_name.
      • In UA, questo richiedeva la variabile "products" separata per le informazioni sui prodotti

Pagamento

L'utente accede al carrello contenente un articolo e inizia la procedura di pagamento. I passaggi aggiuntivi come l'aggiunta dei dati di pagamento o di spedizione sono associati a eventi propri di GA4. Se il flusso di pagamento prevede questi passaggi aggiuntivi, assicurati di inviare eventi specifici in modo che tali passaggi vengano inclusi nella canalizzazione di acquisto.  

  • gtag.js
    • Evento: begin_checkout.
      • In UA esistono anche eventi per "checkout_progress" e "set_checkout_option", che non sono disponibili nelle proprietà GA4. Piuttosto, consulta le informazioni sugli eventi specifici per add_to_cart, add_shipping_info e add_payment_info
    • Parametri: devono includere almeno item_id O item_name.
  • Google Tag Manager
    • Evento: begin_checkout.
      • In UA, l'evento del dataLayer equivalente era "checkout" e richiedeva un actionFieldObject "checkout" aggiuntivo. Questo actionField non è necessario in GA4, ma è meglio non modificare l'implementazione esistente per evitare di causare problemi allo schema di e-commerce in UA. 
    • Parametri: come parte di "items", devono includere almeno item_id O item_name.
      • In UA questo campo richiedeva la variabile "products" separata per le informazioni sui prodotti.

Acquisto

L'utente effettua un acquisto

  • Nelle proprietà GA4, questo evento viene contrassegnato automaticamente come conversione dopo che è stato aggiunto al codice.
  • gtag.js
    • Evento: purchase.
      • In UA esistono anche eventi relativi a "checkout_progress" e "set_checkout_option", che non sono ancora disponibili nelle proprietà GA4. 
    • Parametri: devono includere almeno transaction_id.
 

UA - analytics.js

riferimento

UA - gtag.js

riferimento

Proprietà GA4 - gtag.js

riferimento

ga('ec:addProduct', {

  'id': 'P12345',

  'name': 'Android Warhol T-Shirt',

  “Other optional values”

});

 

ga('ec:setAction', 'purchase', {

  'id': 'T12345', 

  "Other optional values"                        });

gtag('event', 'purchase', {

  "transaction_id": "123",

  “Other optional values”

  "items": [

    {

      "id": "P12345",

      "name": "Android Warhol T-Shirt",

     “Other optional values”

    },

    {

      "id": "P67890",

      "name": "Flame challenge TShirt",

     “Other optional values”

    }

  ]

});

gtag('event', 'purchase', {

  "transaction_id": "123",

  “Other optional values”

  "items": [

    {

      "item_id": "P12345",

      "item_name": "Android Warhol T-Shirt",

     “Other optional values”

    },

    {

      "item_id": "P67890",

      "item_name": "Flame challenge TShirt",

     “Other optional values”

    }

  ]

});

analytics.js utilizza l'e-commerce avanzato per impostare un productFieldObject in modo da specificare i dettagli del prodotto e un actionFieldObject per specificare l'azione che si verifica.

 

La migrazione a gtag.js introduce differenze fondamentali. Solo un evento viene registrato automaticamente come e-commerce. Possono essere incluse sia le informazioni sulle transazioni che quelle sui prodotti. Le informazioni sui prodotti possono essere inviate in un array (anziché richiedere eventi aggiuntivi).

Invia un evento di acquisto con gli articoli della transazione.

 

I nomi dei valori obbligatori sono diversi, ad esempio "id" diventa "item_id" e "name" diventa "item_name".

 

Occorre considerare anche le differenze nei valori facoltativi.

Invia un evento purchase con gli articoli della transazione.

 
  • Google Tag Manager
    • Evento: purchase.
      • In UA, l'evento del dataLayer equivalente è "purchase" e richiede un campo azione per la transazione completa. 
    • Parametri: come parte di "items", devono includere almeno item_id O item_name.
      • In UA questo campo richiedeva la variabile "products" separata per le informazioni sui prodotti.
 

UA - Tag Manager

riferimento

Proprietà GA4 - gtag.js

riferimento

dataLayer.push({

  'ecommerce': {

    'purchase': {

      'actionField': {

        'id': 'T12345',

        ‘Other optional values’

      },

      'products': [{

        'name': 'Triblend Android T-Shirt',     

        'id': '12345',

        ‘Other optional values’

       },

       {

        'name': 'Donut Friday Scented T-Shirt',

        'id': '67890',

        ‘Other optional values’

       }]

    }

  }

});

dataLayer.push({

  'event': 'purchase',

  'ecommerce': {

    'items': [{

      'item_name': 'Triblend Android T-Shirt',

      'item_id': '12345',

      ‘Other optional values’

    },

    {

      'item_name': 'Donut Friday Scented T-Shirt',

      'item_id': '67890',

      ‘Other optional values’

 

    }]

  }

});

Effettua il push dei dettagli delle transazioni nel dataLayer utilizzando l'azione purchase, insieme a un evento che attiverà un tag abilitato per l'e-commerce avanzato.

Invia i dati delle transazioni con una visualizzazione di pagina se disponibile al caricamento della pagina. In caso contrario, utilizza un evento quando i dati delle transazioni sono disponibili.

Cambiamenti importanti:

  • In GA4 vengono elencati gli articoli anziché i prodotti. Anche se puoi utilizzare la tua implementazione di UA, la tua proprietà GA4 raccoglierà solo informazioni di base, come il numero di eventi, e non potrà ospitare funzionalità aggiuntive (ad esempio i report sulle canalizzazioni).
  • I nomi dei valori obbligatori sono diversi, ad esempio "id" diventa "item_id" e "name" diventa "item_name".
    • Occorre considerare anche le differenze nei valori facoltativi.

Per misurare le transazioni, effettua il push di un elenco di articoli al livello dati e raccogli un evento purchase insieme a questi dati. Questo esempio presuppone che i dettagli sui prodotti visualizzati su una pagina siano noti al momento del caricamento della pagina:

Altre attività di e-commerce

Le proprietà GA4 possono inoltre acquisire informazioni aggiuntive:

  • Evidenziazione di un incentivo associato a un articolo o un evento.
    • Coupon: consente di specificare il nome di qualsiasi coupon associato a un articolo (ad es. spedizione gratuita o 20% di sconto su un articolo). Il tipo di dati è stringa e si tratta di un parametro a livello di articolo.
    • Sconto (nuovo): consente di specificare il valore monetario dello sconto associato a un articolo (ad es. "0,05") Il tipo di dati è un numero in virgola mobile.
  • Promozione: sono inclusi i messaggi sul sito per indirizzare un utente a una sezione specifica del sito o dell'app.
    • Richiede un promotion_id o un promotion_name, altrimenti i dati saranno disponibili solo nei report tabella degli eventi standard.
    • Per attribuire un acquisto a una promozione, devi aggiungere il parametro promotion_id o promotion_name a livello di articolo o elenco di articoli per ogni evento di e-commerce.
  • Rimborsi: misura il rimborso di una transazione.
    • Il rimborso è un evento specifico che può gestire rimborsi interi o parziali.
    • Richiede un transaction_id, altrimenti i dati saranno disponibili solo nei report tabella degli eventi standard.
È stato utile?
Come possiamo migliorare l'articolo?
Ricerca
Cancella ricerca
Chiudi ricerca
App Google
Menu principale
Cerca nel Centro assistenza
true
69256
false