Data, data and more data
Digital Analytics

Multi-currency e-shops in Google Analytics

Multi-currency e-shops in Google Analytics

Commonly, an international online shop will need very specific, and at the same time global, data in different currencies. In this example we'll set as the objective to get:

  • global data (all the countries) in a single currency, for instance “EUR”
  • data for each country in their local currency

Regarding local currencies, we may find ourselves:

Scenario A: We don't care about the exchange rate used (Google Analytics will use the rate from the previous day).

Scenario B: We want to be able to see every data with either our own set static exchange rate, or with the current exchange rate at the transaction moment.

Amounts in local currency with our own set static exchange rate

The solution we'll be suggesting in this post uses advanced tagging, and starts by separating the e-shop urls by country. We must be careful in this task for we may lose the events tracking if we mess up! (see: Tracking events in virtual pages with Google Analytics).

Let's take that our currency is euro (EUR) and our e-shops sells in UK, Spain and Portugal. We have two countries that use the same currency, and a third one that uses a different one.

In GA we can separate info by creating several different profiles. (see: Multi-country e-shop in Google Analytics). For this example we'll create the profiles: (A) All the shops, (B) ES shop, (C) PT shop, (D) UK shop. These profiles use filters that allow to pass only the urls of those shops that they will be tracking.

Separating transactions

Now that we have the data separated in different profiles, we may separate transactions. In order to achieve it, we'll use a GA tag that is sent everytime a transaction in EUR is completed. This transaction ID will have the following structure: transaction number>-<country ISO code>-<currency ISO code>. Example: 42564-ES-EUR. This will allow us to separate later the info with filters.

For the UK shop, we will send the info twice in the same hit: one of them in local currency (with ID 42564-UK-GBP) and a second time in EUR (its ID would be 42564-UK-EUR) with the amount converted by our exchange rate.

Example of transaction for the Spanish shop in EUR

_gaq.push([‘_addTrans’, ‘12345-ES-EUR’, ‘ES’, ‘50’, ’10.5’, ‘3.95’ , ‘A Coruña’ , ‘A Coruña’, ‘ES’]);

_gaq.push([‘_addItem’, ‘12345-ES-EUR’, ‘11111’, ‘Producto X’, ’Categoría A’, ‘40’ , ‘1’]);

_gaq.push([‘_addItem’, ‘12345-ES-EUR’, ‘11111’, ‘Producto X’, ’Categoría A’, ‘5’ , ‘2’]);


Example of transaction for the UK shop in GBP

_gaq.push([‘_addTrans’, ‘123456-UK-GBP’, ‘UK, ’43.28’, ’0’, ‘0’ , ‘London’ , ‘London’, ‘UK’]);

_gaq.push([‘_addItem’, ‘123456-UK-GBP’, ‘11111’, ‘Producto Y’, ’Categoría B’, ’43.28’ , ‘1’]);

_gaq.push([‘_addTrans’, ‘123456-UK-EUR’, ‘UK, ’50’, ’0’, ‘0’ , ‘London’ , ‘London’, ‘UK’]);

_gaq.push([‘_addItem’, ‘123456-UK-EUR’, ‘11111’, ‘Producto Y’, ’Categoría B’, ’50’ , ‘1’]);


Filters for each profile

Now last thing left is to implement the filters in each of the GA prodiles in order to allow entrance just to the correspondent transactions. In some of these profiles we will allow all the transactions in EUR, in others just the transactions in GBP, and in others, just the transactions from the Spanish shop.

Next Previous
This website uses cookies. If you continue browsing we consider that you agree our Cookie policy.