According to Adobe's docs, you set the currency code via the following steps:
SEE CODE IN COMMENTS
However, when I look in Adobe Analytics, it doesn't report the currency correctly (A t-shirt in 500 DKK is reported as 500 EUR instead of 67 EUR). I'm guessing we're not passing the currency code correctly, but not sure how exactly to correct it?
decO@jacobs84905156 I am not sure which CODE you are referring here. Processing rules in Analytics are used to overwrite value or delete value or setting an event as per the defined rules. From the description I am assuming that you are trying to convert the sent 500 DKK to 67 EUR by using processing rule. If this is the case then can you please share the screenshot of the processing rule where you have set this rule ?
Could you please try below mentioned syntax:
HashMap<String, Object> cdata = new HashMap<String, Object>();
cdata.put("testcontext", "Context Data trackAction button");
//cdata.put("&&cc", "Context Data trackAction button");
//Send Adobe Analytics trackAction with contextData
Here we are applying && to make sure that currencyCode is fired as query string parameter in the Adobe server call and conversion happens.
The currency code requires the double ampersands because it appears as though the currency conversion occurs prior to context data processing. Setting the currency code as context data might not work for currency conversion.
You can try this as per https://gist.github.com/jacobsander/9ae6c419a63fd44eea7ae5b694a3d533
Once implemented please check if Currency code is being fired outside "c." and ".c" or inside? It should be fired outside these parameters.
I was able to successfully set Currency Code in processing rules based on a contextData variable and have it successfully convert the s.products revenue from the currency code passed into the base currency of the report suite when the purchase event was triggered. Also FYI if you are doing this in a website you can use the Adobe Experience Platform Debugger extension to view post-processed Analytics hit data. For mobile app or web sdk (alloy) implementations you can use the Assurance (fka Project Griffon) Adobe tool to see the post-processed hit data. You'll be able to see your currencyCode set in processing rules and your s.products revenue will be converted in the post-processed hit.
Hopefully this helps you Jacob and other who may run into this in the future.