Aug 27 2021

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

La gran confusione di GA4 con le valute

autore: Marco Cilia categoria: codice di monitoraggio

Amici! E’ veramente tanto tempo che non ci sentiamo, e si lo so, è colpa mia 🙂

Oggi parliamo di una delle tante cose che ancora non hanno senso nel nuovo (fantasmagorico, secondo Google) Google Analytics 4: le valute!

Ora mi direte, che ci sarà mai da dire sulle valute? seguitemi, perché come sempre ripartiremo dall’inizio.

Gli albori

Agli albori la valuta su GA semplicemente non esisteva, era una mera etichetta che veniva aggiunta al valore monetario passato come numero, per le revenue di transazioni e prodotti. Passavi 100.000 YEN e 40 euro e avevi settato la valuta in EURO? avevi guadagnato – secondo GA – 100.040 Euro. In pratica, dovevi farti tu la conversione PRIMA di inviare il dato

Universal Analytics

L’avvento di un modello di dati più furbo e dell’Enhanced Ecommerce innalza il tool ad un livello migliore, dove finalmente anche un ecommerce internazionale può gestire la questione decentemente. Quindi, ogni valore monetario inviato viene accompagnato da una stringa di testo con la currency. Se la si omette, GA da per scontato che sia quella specificata nelle impostazioni della property.

Questo si riflette tra l’altro nella possibilità di fare report avendo fianco a fianco il valore della revenue nella valuta di default della property (diciamo EURO d’ora in poi per facilità) così come il valore in valuta locale e la currency inviata, usando le apposite dimensioni fornite dall’interfaccia (ad esempio “Local product revenue” o “Local revenue”).

Ancora, su BigQuery la currency viene esposta sia per gli items sia per le transacions, come si vede qui

GA Universal quindi fa due cose quando gli mandate una transazione in valuta locale:

  1. salva la revenue in valuta locale e anche la currency
  2. converte il valore nella valuta impostata nella property, usando il valore di exchange rate “ufficiale Google” del giorno precedente.

Quando guardate un report, fa la somma delle revenue e ve le mostra, as simple as that.

GA4

La faccenda si complica, e non poco, quando veniamo al nostro nuovo amico. Partiamo innanzitutto dalla documentazione, che trovate a questo indirizzo. Colpiscono subito i disclaimer gialli, che vi riporto qui.

Data is based on the exchange rate one day before the transaction, and is provided by financial exchanges. It may be delayed as specified by financial exchanges or our data providers. Google does not verify any data and disclaims any obligation to do so.

(e fin qui niente di strano)

Changes to the global currency type will affect future as well as historical data, and previous data will be converted to the newly configured currency.

(cambia il dato storico? ma come è possibile?)

Even if the currency setting for your property or view is set to match your local currency, Analytics performs a conversion at the moment of processing a hit for non-USD currencies and a fresh conversion on that figure each time a report is generated. This can lead to very small differences in your reports for your local currency due to fluctuations in the daily exchange rate.

WTF?!??!

In pratica ci sta dicendo che se modifichiamo la currency nelle impostazioni delle property, cambieranno anche i dati storici. Ma questo è possibile solo se lui avesse salvato i valori originali in qualche modo e li modificasse solo al momento del reporting. Il che, in effetti, è quel che fa: Google Analytics 4 salva SEMPRE i valori IN DOLLARI!

Se infatti guardiamo allo schema di export di BQ per GA4, troviamo queste colonne:

Tuttavia, sia nell’interfaccia sia nell’export BQ MANCA LA CURRENCY LOCALE, non viene proprio salvata.

GA4 quindi fa alcune cose in più quando gli mandate una transazione in valuta locale:

  1. salva la revenue in valuta locale ma non salva la currency
  2. converte il valore in USD, per tutti.

Quando guardate un report, prima riconverte gli USD nella valuta della property, poi fa la somma e ve la mostra. E questo già da solo basta affinché i report con Universal non tornino. Ma c’è dell’altro:

Se io prendessi le revenue dal primo gennaio a oggi in USD da BQ e le convertissi al tasso di cambio di ieri, otterrei un valore diverso dall’usare tutti i tassi di cambio giornalieri dal primo gennaio a ieri. Altro motivo di possibile discrepanza. E ovviamente non esiste una tabella con gli exchange rate storici “ufficiali Google”.

Inoltre, non avendo la currency locale salvata come etichetta, non posso fare un report degli incassi per ogni singola currency, a meno di non destinare un parametro evento all’uopo, il che mi sembra francamente ridicolo.

Di contro, magra consolazione, se oggi cambio la valuta della property da EUR a pesos messicani, GA4 non batterebbe ciglio e potrei rivedere anche le performance passate in pesos senza operazioni aggiuntive.

Ufficio complicazioni cose semplici, diremmo qui in Italia…