UPDATE 2021.10.27 – After meeting with Shopify’s Product Manager for International Domains, I’ve updated the solutions section of this article.
The ability to use multi-currencies on any store using Shopify Payments has been available for quite a while now. Yet multi-currency has caused a widespread SEO issue.
Who does this impact?
- Is your store non-US based?
- Do you sell to US based customers?
- Do you change currency displayed on the page based on the customers IP address automatically?
If you answer yes to these questions, this impacts you. The issue only hurts non-US based stores selling to US-based customers.
Using multi-currency with Shopify
Enabling multi-currency allows a store based in the United States to sell in Canadian dollars to a customer in Canada for example.
Selling in local currency is proven to increase conversion rates so this is a big win for many stores.
With recent developments to International Domains and the anticipated Shopify Markets, stores can now, thought not recommended, automatically detect customer IP addresses and alter the content based on those results. Some also call this geotargeting or geolocation.
Shopify stores also have the ability to change the currency automatically based on their IP address. For example, a store in the US has a store currency of USD. When a customer visits from Canada, they have the ability to checkout using CAD automatically.
Great, right? Welllll….
Great for the customer checking out, but horrible for your SEO.
Here lies the SEO issue
Generally speaking, Google will still index all your pages properly so you’ll still be able to show up in search regardless if you’re using a .com or .ca domain.
But which content will show up on which domains results? You’d think the Canadian content and prices would show up on the .ca domain but you’d be wrong.
Automatic IP detection isn’t an exact science. It’s actually really hard to do.
Google visits from the US 99% of the time, so even when visiting the Canadian store, Shopify will change the content to target US visitors. Meaning USD currency and English content.
And there is the issue. Google comes from a US-based IP address.
Google themselves also don’t want you to use IP location to automatically adapt your content.
Do not use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we do not attempt to vary the location to detect site variations.
Bear with me as this can get confusing.
A store in Australia starts by only selling to Australian customers so they only need to use the currency code for AUD.
When that same Australian store decides to sell to the United States, they must include both AUD and USD for currency conversions. This is Shopify’s multi-currencies and International Domains features at work.
As mentioned from Google above, in most cases, Google crawls sites from the US and don’t vary their location for site variations.
That means that Google sees the USD price on the page and in the data for the Rich Results.
Google is in the US so they see USD like your American customers. This is exactly what you wanted for them.
But what about the Australian customers? Do they see AUD in search results? Nope, they see USD. And because Google only sees the USD price, Rich Results and Ads appear in USD and only USD.
Is there a solution?
Historically themes and apps would use your store’s currency and the product’s price that you’ve entered into Shopify. But with Shopify’s multi-currency enabled, Shopify replaces the price with the price based on the visitor’s IP address. Shopify calls this cart currency.
Shopify has asked us and others to use the cart currency in the structured data. However as I’ve stated already, that means Google only sees the currency they would use at checkout which is USD.
Shopify hides the original prices in multi-currency mode, preventing us from seeing anything but the final cart currency. Therefore all the prices in Google are in USD. When the cart currency and prices from Shopify are used as-is, then all your Rich Results will be in USD because that’s all Google can see.
This is why JSON-LD for SEO uses the store currency and not cart currency in the structured data.
The majority of structured data apps on Shopify also use the store currency in the product data, so we’re not alone in this process. And those that don’t use store currency are messing up their customer’s Rich Results.
A possible solution at this point is to use International Domains if not already and sign up for Markets.
I spoke with Shopify’s Product Manager for International Domains after this article was posted. They recognize that stores may be experiencing this issue and that geotargetting is not the future of Shopify.
It is up to Shopify to fix this issue. Please file a ticket with Shopify and feel free to share this link with them.
We reported this issue to Shopify in May 2019 back when these features were Plus-only. Since then, we’ve told merchants privately to report this issue directly to Shopify in hopes of getting it fixed (merchants reporting issues carry a heavier weight than apps reporting the same issues).
Until Shopify fixes this, a workaround is to disable geotargeted currencies. If you are on Shopify Plus and have geotargetting enabled, you’ll need to reach out to Shopify to disable geotargetting for your domain. It is ok and recommended to have a drop-down or link for the customer to change the currency, the problem is with the geotargeted based switcher.
Oh, and by the way, this issue can also be the root cause for Google Ads and Merchant Center rejecting your data feed for invalid pricing. It makes sense right? If your data feed is in AUD but Shopify is only showing Google USD, then your prices won’t match.
Get more organic search traffic for your Shopify store
Increase organic SEO traffic through Google’s Rich Results. One click allows search engines and others to understand your store and products.