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.