This project has moved and is read-only. For the latest updates, please go here.

E-Commerce tracking for purchases in Ireland

May 18, 2014 at 12:59 PM
Hi Tim,

It looks like the tracking for In-App Purchases is broken for Ireland. My product is priced at 0.99 EURO, for all countries I see this coming back similar, but for Ireland it's tracked at 99.0.

Not sure if this problem exists for all e-commerce tracking, but for In-App Purchases I've seen this twice, and only for Ireland so far.

Hope you have enough information to be able to fix this.

Best,

Mark Monster
May 18, 2014 at 8:48 PM
Edited May 18, 2014 at 8:48 PM
Thanks Mark, for WP8, the cost sent to GA is composed by parsing the formatted price of the product listing via:
var regionInfo = System.Globalization.RegionInfo.CurrentRegion;
var currencyCode = regionInfo.ISOCurrencySymbol;
var cost = double.Parse(listingInformation.FormattedPrice, System.Globalization.NumberStyles.Currency, System.Globalization.CultureInfo.CurrentCulture);
The currencyCode variable is also passed along and GA is responsible for using this info (presumably it uses current exchange rates) to estimate actual revenue.

I just tried changing my emulator settings to use "en-ie" and ran this code against "€0.99" as the formatted price and it came back with currencyCode of "EUR" and cost of 0.99. This seems correct to me which would imply that maybe GA is not translating the cost correctly -- but this seems highly unlikely.

Does anyone from the community have thoughts on what could be going wrong here?
May 19, 2014 at 7:32 AM
Hi Tim,

I changed the emulator to EN-IE and got the following response from the beta store in-app purchase. I know it's with a free add-in, but it seems they are using a different formatted price.
<?xml version="1.0"?><Receipt Version="1.0" CertificateId="FB3D3A6455095D2C4A841AA8B8E20661B10A6112" xmlns="http://schemas.microsoft.com/windows/2012/store/receipt">    <ProductReceipt PurchasePrice="0,00 €" PurchaseDate="2014-05-19T06:30:13.679Z" ExpirationDate="9999-12-31T00:00:00Z" ProductId="CHAIN_MC" ProductType="Durable" AppId="20ee89fe-964d-41d7-8a21-80454941865e" Id="b5724ffc-fd27-46b0-9b45-ba0112a3c885" PublisherDeviceId="Ns37tdy5ZeyDKi60V1LEyOqWyXYhREa7EBD/KDIfZPc="  PublisherUserId="" MicrosoftProductId="4e9a8004-5df0-4c9b-b64a-929142336462" MicrosoftAppId="20ee89fe-964d-41d7-8a21-80454941865e"  /></Receipt>
May 19, 2014 at 4:32 PM
Thanks Mark, I just confirmed that the following results in 99 instead of .99 when the device is set to 'en-ie'.
var formattedPrice = "0,99 €";
var regionInfo = System.Globalization.RegionInfo.CurrentRegion;
var currencyCode = regionInfo.ISOCurrencySymbol;
var cost = double.Parse(formattedPrice, System.Globalization.NumberStyles.Currency, System.Globalization.CultureInfo.CurrentCulture);
My guess is that it's a case of the FormattedPrice from the store not matching the formatting specified on the device (set in Settings|language+region|Regional Format). Unfortunately, I'm not sure how to get the region being used by the store. Any suggestions are welcome!
May 19, 2014 at 4:49 PM
I see that there's a property: Windows.ApplicationModel.Store.ListingInformation.CurrentMarket that returns the region ID for the market being used. However, the object browser says "Not implemented for Windows Phone. Gets the value that indicates the customer's market, such as en-us, that will be used for transactions in the current session."
May 20, 2014 at 8:34 PM
This is starting to get interesting. Not implemented doesn't help.

Would it be an option to code an exception for Ireland? I know it's not clean, but it works.

Best,

Mark Monster
Jul 22, 2014 at 8:26 AM
Looks like Cyprus has the same problem.
Sep 25, 2014 at 2:21 PM
It looks like in Windows phone 8.1 CurrentMarket is available and return two letter of country. For example US, CA, RU. But I dont know how to get currency code and cultureInfo from two letter country code. Any Ideas?

I
v tried build regionInfo but it said two letter is unsupported