October 26, 2026 · Muhammad Rehan · More by Muhammad Rehan
Shopify's Market ID Targeting Is No Longer Stable
Shopify Markets lets merchants nest markets, but deprecated endpoints return only the most specific match — and Shopify's own fix for it is on hold.
A buyer used to match exactly one market
Before Shopify introduced market inheritance, every buyer belonged to exactly one market. If an app stored a market's ID or handle, that ID was a dependable way to know which buyers it represented. Checking a market ID against the buyer's market was a correctness guarantee, not a convention that happened to hold.
Nesting breaks that guarantee
Shopify Markets no longer defines markets purely by geography. A market is defined by whatever conditions qualify a buyer for it, and markets can now be nested so a child market inherits its parent's customizations. A merchant can, for example, nest a Canada market under a North America market. A buyer in Canada now matches both.
That's where the deprecated single-market endpoints — Localization.market and Country.market in Liquid and the Storefront API, the market fields on Shopify Functions' Localization and deliveryAddress input, shopify.localization.market and useLocalizationMarket in checkout UI extensions, and Customer.market, CompanyLocation.market, and MarketWebPresence.market in the Admin API — stop being safe to key logic off. Shopify ranks every market a buyer matches from most specific to least specific and returns only the most specific one. For the Canadian buyer above, that's Canada, not North America. An app that stored "North America" as the targeting ID silently stops matching that buyer — not because the buyer changed, but because the merchant added a market underneath the one the app was watching. And it recurs: the mismatch reappears every time a merchant creates a new child market, not just once at migration time.
The documented fix is on hold
Shopify's own guidance is to stop keying logic off market IDs or handles entirely and target buyers by their actual country or region instead. That's the only migration path Shopify has published. But the migration guide carries an active banner: Shopify is asking partners to hold off on following the documented steps while it works on a revised solution, with no timeline given for when that lands.
For anyone building checkout extensions, Shopify Functions, or an ERP/PIM integration that segments buyers, the practical takeaway is narrower than "go migrate now." It's: stop trusting market.id or market.handle as a stable key in new work, and don't treat today's migration guide as the final shape of the fix — Shopify has told partners it isn't.