How does Shopify markets work?

Hello.

I’m developing international EC site.

Then I have 2 markets (1st: domestic japanese market, 2nd: international market).

I want to change how to buy for product depending on market.

So for domestic customer, sell as affiliate products

and for international customer, sell as retail products.

I prefer not to redirect to subdirectory but if I need, it’s okay to redirect.

And then my main question is that how does Shopify market work?

1st question: With what Shopify market decide location? IP address?

2nd question: How can you check which market now you are accessing?

I checked this below blog but I couldn’t make it sure.

https://community.shopify.com/c/international-commerce/how-does-shopify-markets-subfolder-redirection-for-international/m-p/1956351#M3524

What I did:

I activated international market and accessed my store from Indonesia (expecting international market) but nothing happened. And just in case, I print out Liquid localization object but I got output like domestic store.

Hello,

You’re building a Shopify store for both domestic and international customers and want to offer two types of purchasing options:

  • For Japanese customers, products should be available via affiliate links.

  • For international customers, products should be available for direct purchase through Shopify checkout.

You also asked how Shopify Markets identifies customer location and how to verify which market a customer is in.


How Shopify Markets Determines Customer Location

Shopify determines a customer’s market using:

  1. IP Address – This is the primary method for identifying where a visitor is located.

  2. Browser Language Settings – Shopify considers this when offering localized content.

  3. Shipping Address – If entered, it can override IP-based location.

  4. Shopify Geolocation App (Optional) – This can prompt users to switch markets manually.


How to Verify the Active Market

To check which market a visitor is in, consider the following:

  • Shopify uses internal localization settings to assign a market, which controls currency, language, and pricing.

  • If you’re using custom Liquid code, you can inspect variables like localization.country or request.locale.

  • Using separate domains or subfolders also helps identify markets more easily.


Troubleshooting Incorrect Market Detection

If you accessed your store from Indonesia but still saw the Japanese version, here are possible reasons:

  • Browser cache or cookies may still store your previous session.

  • Automatic market redirection may not be enabled.

  • The international market configuration might be incomplete.

  • The store’s theme may not include logic to adjust purchase options per market.

Use a VPN and test in private browsing mode to ensure you’re seeing the correct market version.


How to Offer Affiliate vs. Retail Based on Market

Shopify doesn’t support different product types by market natively. To implement this, custom theme development is required. For example:

  • Show an external link or affiliate button to users in Japan.

  • Show the standard “Add to Cart” button for users outside Japan.

This logic can be added to your theme using Shopify Liquid, based on country or market detection.


About Subdirectories

You’re not planning to use subdirectories (like /jp or /en), which is acceptable. Shopify Markets supports both:

  • Single domain with automatic localization

  • Multiple domains or subfolders (optional, but helpful for SEO and testing)

Subdirectory setup is not required, but it can improve regional targeting and performance.


Next Steps

Make sure the international market is fully configured in your Shopify Admin under Settings > Markets. You’ll also need to implement custom logic in your theme to display different purchase options based on the visitor’s location.

Let me know if you need help setting up this logic or testing your market configuration.

2 Likes

Hello!

Thank you for your detailed reply.

With secret mode browser, I could find international version and price is changed to Indonesian currenty and Single domain with automatic localization works.

So now I can see Shopify automatically detect my IP address and change market.

So I can use localization.market.handle or localization.country to offer Affiliate or Retail.

Thank you!