Selling Across APAC: Multi-Currency and Multi-Market Setup on Shopify Markets

How to set up Shopify Markets for APAC expansion, covering architecture, domain structure, SEO, pricing tiers and GA4 measurement, in the right order.

Blog Image

Setting up Shopify to sell across multiple APAC markets comes down to four decisions, made in that order. Run one Shopify Markets store instead of duplicating separate expansion stores, unless a market has a genuine legal, tax, or payment-gateway blocker. Launch new markets on subfolders of your existing domain rather than a new ccTLD, so each market inherits your site's existing search authority instead of starting from zero. Localise pricing by purchasing-power tier rather than a single FX-converted price across Singapore, Malaysia, Indonesia, the Philippines, Vietnam, Thailand, Hong Kong and Australia. Measure all of it through one GA4 property with cross-domain tracking configured, not a separate report per market. Get the architecture and domain decisions right first. The SEO, pricing and measurement work all sit downstream of them.

Shopify Markets or a separate expansion store: which do you actually need for APAC?

Shopify Plus gives you two ways to run multiple markets. Shopify Markets is one store, one admin, with localised domains, currencies and languages layered on top. Expansion stores are additional, fully independent Shopify stores under the same Plus organisation, sharing billing but nothing else: separate admin, separate app stack, separate theme, separate payment gateway.

The default should be Markets. Expansion stores duplicate every app install, every theme customisation and every content update across stores that don't sync automatically. That's real ongoing overhead to carry indefinitely, whether you've got a dedicated team behind each market or one lean team stretched across all of them. Reserve the expansion-store route for markets with a genuine legal, tax or payment-gateway requirement that Markets can't satisfy.

Shopify MarketsExpansion store
AdminOne, shared across all marketsSeparate per store
App stackShared, one installDuplicated, reinstalled per store
Payment gatewayShared, per-market currency supportCan be fully independent per store
Setup effortLow to moderateHigh, repeated per market
GA4 / analyticsOne property, market as a dimensionSeparate property per store
Best forMarkets that only differ by currency, language or shippingMarkets needing a distinct legal entity, incompatible gateway, or materially different catalogue

When an expansion store is still the right call

The narrow exception is a market with a real structural difference, not just a different currency. A new legal entity for tax residency, a payment gateway Shopify Markets doesn't support in that country, or a catalogue and regulatory position materially different from your home market (think supplements, medical devices, anything import-restricted) are legitimate reasons. "This market converts better in local currency" is not, since Markets already handles that natively. Don't over-engineer this decision before you've confirmed you actually need the exception.

Should new APAC markets run on subfolders, subdomains, or ccTLDs?

Once you've settled on Markets, the next call is domain structure, and it's the one that determines whether new markets earn SEO or start from zero. Shopify's own guidance is direct: if you're setting up international sales tools for the first time, use subfolders. A subfolder (brand.com/en-my/) sits on your primary domain and inherits its existing search ranking and domain authority immediately. A subdomain (sg.brand.com) is free to set up but builds authority more slowly, since Google treats it as more separate from the root domain. A ccTLD (brand.com.sg) is the most isolated option, completely separate from your other domains, building its own authority and rankings from scratch, and the most time-and-effort-intensive path of the three.

SubfolderSubdomainccTLD
Examplebrand.com/en-my/my.brand.combrand.com.my
Setup effortLowLow to moderateHigh
SEO inheritanceFull, from primary domainPartial, slower to buildNone, starts from zero
Shopify's guidanceDefault recommendationAcceptable, not preferredOnly with a specific targeting strategy

Shopify's own case data backs this up: stores see organic search volumes increase by more than 10% on average when subfolders are enabled for a new market (Shopify-reported, from its Managed Markets optimisation guide, not independently audited). The UK fashion brand Represent is Shopify's own worked example: it launched a EU subdomain, then added a German subfolder inside it with translated CTAs and payment options, and organic traffic doubled with a 30% lift in conversions. That's a global example, not an APAC one, but the mechanism (inherit authority, then localise content) transfers directly to an MY/SG brand opening Indonesia or Vietnam.

One caution worth naming: don't create a new subfolder purely because a market has a different currency. If the content is otherwise identical, search engines can treat it as a low-value near-duplicate of your primary market page. The subfolder needs distinct content, offers or merchandising to earn its own ranking, not just a different price display.

The naming convention to use

Use combined language-and-country codes for anything past your primary market: /en-my/, /en-sg/, not language-only subfolders. Shopify requires the combined format once you're operating more than one market (the same pattern as /fr-ca/ for Canadian French). Shopify Markets auto-generates hreflang tags and meta tags for every domain or subfolder you configure, and submitting a sitemap per domain in Google Search Console speeds up indexing once the structure is live.

How do you translate Shopify Markets pages without triggering a duplicate-content penalty?

Hreflang is the tag that tells search engines which language and region a page targets. It needs a few things to work correctly: it must be self-referencing (a page includes a tag pointing to itself), reciprocal (if page A links to page B, B must link back to A), and it should include an x-default tag for visitors who don't match any configured market. Broken reciprocity is one of the most commonly documented failure modes on multi-market Shopify sites.

Hreflang alone doesn't prevent duplicate content, though. Canonical tags matter just as much, and this is where most multi-market setups quietly break.

The canonical-tag mistake that cancels hreflang

The most common failure pattern: every regional page canonicalises back to the primary domain instead of to itself. That cancels the hreflang signal outright, and Google will either consolidate rankings into the primary version or ignore the hreflang configuration altogether. Each market's page needs a self-referencing canonical tag, not one pointing home. Shopify Markets can auto-generate hreflang, but if you also hand-code tags or run a translation app like Weglot or Langify at the same time, conflicting tags are a documented failure pattern. Audit what Shopify Markets already outputs before layering anything manual on top.

Where machine translation is fine, and where it isn't

Machine translation is a reasonable starting point for long-tail content, but Shopify's own SEO specialist has been blunt about the limits: you should never publish what a machine spits out untouched, because you need to capture the nuances of the language. Prioritise human or native-speaker review for navigation, top-revenue product pages, checkout copy and meta titles and descriptions. Shopify reports an average 13% increase in conversion rate when a storefront is translated into the buyer's local language (Shopify-reported, from the same Managed Markets guide, not third-party audited). For markets like Indonesia, Thailand and Vietnam where English-only storefronts leave real conversion on the table, that's a strong argument for prioritising full translation over an English-plus-currency approach.

One more failure mode worth planning for now, not later: if you ever remove a language or market, the old URLs commonly stay live and indexed as duplicate content unless you actively clean them up. Redirect or noindex the dead URLs, strip the removed language from hreflang, and update the sitemap.

How should you price the same product across APAC markets with different purchasing power?

Roughly nine in ten shoppers say local-currency pricing affects whether they buy. Shopify's own multi-currency data puts it at 92%; a separately sourced Airwallex figure cited by third-party Shopify Markets explainers puts it at 93%. Two independent numbers converging on the same range, not one study repeated twice, but the direction is unambiguous: local-currency display isn't optional.

The mistake is stopping at currency conversion and treating a flat FX-converted price as "done." A straight FX conversion from a MYR or SGD base often misprices affordability in Indonesia, the Philippines or Vietnam relative to Singapore or Australia. The stronger approach for APAC is grouping markets into purchasing-power tiers and pricing each tier deliberately, rather than running one global price or building bespoke per-market pricing from scratch.

TierMarketsAdjustment logicExample clean price point
HighSingapore, AustraliaModest upward adjustment over FX paritySGD 99
ParityMalaysia, Hong KongNear FX parityMYR 299
ValueIndonesia, Thailand, Vietnam, PhilippinesModest downward adjustment on key SKUs to match local competitive benchmarksIDR 999,000

Shopify Markets supports this natively through per-market percentage price adjustments, plus per-SKU overrides for hero products you want pinned to a specific psychological price point. Shopify's own rounding rules then round converted prices to a currency-appropriate common denominator, so day-to-day FX movement doesn't leave you with an awkward SGD 47.13 on the page.

Worth flagging as directional rather than measured: some claims exist that charm pricing (endings like .99, which lifts conversion in Western markets) doesn't transfer uniformly to Asian markets, with round numbers or culturally familiar digit patterns performing better in some. That claim comes from marketing-agency and localisation-vendor sources, not academic or platform-primary data, so treat it as a hypothesis worth testing per market rather than a rule to apply blindly.

Watch for cross-market arbitrage

Pricing meaningfully below a neighbouring market creates a genuine incentive for resellers to buy in the cheap market and move stock into the expensive one. There's no hard frequency or loss data available on how often this bites APAC brands specifically, so treat it as a risk to plan for, not a number to quantify. The standard mitigations: market-specific SKUs or bundles, region-locked warranty terms, and a reseller policy you're actually willing to enforce.

Getting the price right on the page is a different problem from getting the buyer through checkout. See our cross-border checkout piece for the payment-method and duties layer.

How do you measure performance across multiple Shopify Markets storefronts?

Run one GA4 property and one web data stream across every market. Market-level reporting is a matter of dimensions, not separate properties: hostname, page-path prefix, or a custom market dimension, not a fresh GA4 setup per storefront. This is also a second, quieter argument for choosing Markets over expansion stores in the first place: one event schema and one property for all of APAC, instead of a separate GA4 property to maintain per store.

Cross-domain tracking is the part that actually breaks if you skip it:

  1. In GA4 Admin, go to Data Streams, then Web, then Tagging Settings, and configure your domains. List every storefront domain or subdomain plus the Shopify checkout domain, using a "contains" match on the root domain to cover all subpaths.
  2. Add payment and checkout domains (checkout.shopify.com, and any of PayPal, Stripe etc. you use) to the "list unwanted referrals" setting. Without this, GA4 registers them as new traffic sources the moment a customer pays, breaking attribution back to the channel that actually brought them in.
  3. Verify the _gl linker parameter passes across the domain hop from your storefront to checkout.
  4. Run a test purchase and confirm client_id continuity across the journey, so the conversion attributes correctly rather than splitting into two sessions.

The same domain list matters beyond GA4. Meta Pixel, Conversions API and Google Ads conversion tags need the same domain configuration, or a journey that crosses from your storefront to a ccTLD or checkout domain fragments ad-platform attribution too, not just GA4's.

Why GA4 won't auto-convert currency for you

GA4 purchase events carry a native currency parameter and value in whatever currency that market transacted in. GA4 does not auto-convert this to one reporting currency. The standard fix is to keep GA4 raw, in each market's own currency, and normalise everything to one reporting currency (MYR or SGD) at the BI or Supermetrics layer using a reference FX rate table, rather than trying to force conversion inside GA4 itself. For reporting, be explicit about "revenue by checkout market" versus "revenue by first-touch market" when a customer's journey spans two market domains. GA4 preserves that attribution correctly once cross-domain tracking is configured, but the two numbers answer different questions and conflating them muddies a Market P&L view.

Frequently Asked Questions

Do I need a separate Shopify store for every APAC country I sell in?

No. Default to one Shopify Plus store on Shopify Markets. Only spin up a separate expansion store where a market has a genuine legal entity, tax, or payment-gateway requirement that Markets can't handle.

Will adding a new market subfolder hurt my existing site's SEO?

No, the opposite in the typical case. Subfolders inherit the primary domain's existing authority, and Shopify reports over 10% average organic uplift when a new market's subfolder goes live. The risk only shows up if the new subfolder is a near-duplicate of an existing one, same language, only the currency changed, with no distinct content of its own.

Should I charge a different price for the same product in Singapore versus Indonesia?

Yes, deliberately. Group markets into purchasing-power tiers, for example Singapore and Australia higher, Malaysia and Hong Kong near parity, Indonesia, Thailand, Vietnam and the Philippines lower, rather than applying one flat FX-converted price everywhere. Shopify Markets supports this through per-market percentage adjustments and per-SKU overrides.

Do I need a separate GA4 property for each Shopify Markets storefront?

No. Run one GA4 property and data stream across all markets, with cross-domain tracking configured and market represented as a dimension (hostname, path, or a custom market/country dimension) rather than as separate properties.

What happens to my SEO if I later remove a market or language from Shopify Markets?

The old market's URLs commonly stay indexed as duplicate content if you leave them alone. Redirect or noindex the dead URLs, remove the language from your hreflang tags, and update the sitemap. Hreflang alone doesn't clean this up.

What to do next

Most APAC Markets rollouts don't break at any single step. They break at the handoff between decisions: get the domain structure wrong, and the SEO work and pricing rollout you build on top of it inherit the mistake. Sequence it in this order: confirm Markets over expansion stores, lock the domain/subfolder structure, then layer SEO, pricing tiers and measurement on top, not the other way round.

As a Shopify Plus Partner, this is the exact kind of technical implementation call we make for MY/SG brands expanding across APAC, and the pricing and measurement work that follows is where our CRO team picks it up. If you're planning an APAC expansion on Shopify Markets and want a second set of eyes on the architecture before you build, talk to us.