Reporting on multiple currencies
01 Jan 2017 » Analytics Tips
Adobe Analytics is very good at reporting on revenue. This metric can be used together with virtually any dimension. You get both granular and high-level views of revenue and you can even track multiple currencies, in case you sell in various regions with different currencies. However, there is one limitation: it is not possible to report on multiple currencies; the reports only show the report suite’s currency. But not all is lost; it is possible to get multiple currencies with a specific implementation, which I am going to show you next.
Review of standard implementation
Before proceeding with the solution, let’s first review how a standard implementation looks like. Tracking a full transaction usually revolves around the products string and the purchase event. If you want a deeper explanation of these two variables, I suggest you read Adam Greco’s post. In summary, on the order confirmation page, the purchased products need to be tracked as follows:
s.products = ";SKU1;1;9.99,;SKU2;2;89.00"; s.events = "purchase";
which translates to: the customer has purchased one item of SKU1 at 9.99 currency units and two items of SKU2 at 89.00 currency units in total. The currency will be that of the report suite:
Another useful feature included in Adobe Analytics is currency conversion. Adobe receives, from a third party, daily exchange rates and applies them if the report suite’s and the website’s currencies are different. Following the example from earlier:
s.products = ";SKU1;1;9.99,;SKU2;2;89.00"; s.events = "purchase"; s.currencyCode = "USD";
which means: the customer has purchased one item of SKU1 at $9.99 and two items of SKU2 at $89.00 in total. Since the report suite is in Euros, Adobe Analytics will convert those values into Euros on the day of the transaction and will show all reports in Euros.
Multiple currencies reporting use case
The previous scenario is useful in most cases. However, my customers have requested me a few times to be able to report on the transaction’s currency and the report suite’s currency, simultaneously. There can be a number of reasons for it:
- Local teams need to use their own currency
- Marketing activities are paid in different currencies and you need to measure the ROI
- Adobe’s exchange rates are not the same as the exchange rate provided by your bank
Oh, I forgot to mention: multi-suite tagging is not acceptable as a solution. Since reports in Adobe Analytics only show one currency, I have created my own solution to be able to report on more than one currency.
Solution for multiple currencies reporting
In order to report on multiple currencies, you need the following:
- An eVar with a copy of the currency code, set to last touch and visit expiration (in this example, eVar1)
- An event set to type “Numeric” (in this example, event1)
- Optionally, an event set to type “Currency”, in case you are tracking something different to revenue from the products string (I am not going to use it in this post)
On the order confirmation page, you have to set the following code:
s.products = ";SKU1;1;9.99;event1=9.99,;SKU2;2;89.00;event1=89.00"; s.events = "purchase,event1"; s.currencyCode = "USD"; s.eVar1 = s.currencyCode;
Basically, the value of the revenue/price field is copied into the numeric event. If you are using a currency event, then you would have both the numeric and the currency events with the same value. The trick is that numeric events have the same properties as currency events, except for the currency conversion, which is not applied. So, with this setup, we are capturing the value twice.
When it comes to reporting, you always need to remember that the numeric event has values from many different currencies. Therefore, the value in itself is totally useless; you always need to break it down by the currency eVar or apply a segment:
In this report, for each currency, we can see the revenue in EUR, but also the original values before being converted into EUR, under “Total product revenue - local”. Needless to say that, in the previous screenshot, the report suite currency is EUR.
You can use this new metric in any report, as you would use revenue. However, always remember to apply a breakdown or a segment, to make sure that the values for each row are for only one currency.