Table of Contents
Most subscription platforms work fine until you try to sell in more than one country. Then the cracks appear fast: checkout displays the wrong currency, recurring billing converts prices incorrectly, the customer portal shows USD to a subscriber who paid in EUR, and your dev team is suddenly spending 20 hours fixing what should have been automatic.
Shopify-native subscription platforms handle multi-region pricing automatically through Shopify Markets. Legacy tools require custom development for every currency and market. That architectural difference sounds boring until you’re three markets deep and your developer is billing you to maintain region-detection code that Shopify already handles natively.
Why Most Subscription Platforms Break When You Go International
The moment brands realize their subscription platform can’t handle multiple markets is rarely during a calm planning session. It’s usually mid-expansion — a customer in Germany is seeing USD prices at checkout, or the team discovers that recurring billing is double-converting currencies.
What actually breaks is almost everything at once: pricing logic, checkout flows, customer portal currency display, payment processing, and tax calculation. These aren’t independent failures. When one system handles currency differently from another, you get mismatches that surface as billing errors, failed payments, and confused customers.
The reason is architectural. Most subscription platforms were built years before Shopify Markets existed. Rather than integrate with Shopify’s native infrastructure, they built their own checkout flows, their own payment processing wrappers, and their own currency handling. When Shopify launched Markets and started handling multi-region commerce natively, those platforms faced a choice: rebuild from scratch or bolt on custom code. Almost all of them chose the latter.
“We run the issues because of the international thing where that sometimes breaks.” — Director of Ecommerce, 38 Terra
Legacy subscription platforms break internationally because they were built before Shopify Markets and rely on custom code for each market. That custom code needs to be maintained every time Shopify updates anything — and Shopify updates things constantly.
See Skio’s Shopify Markets compatibility documentation to understand what “native” actually means in practice.
The Real Cost of ‘Just Build It Yourself’
When merchants discover their subscription platform doesn’t support multi-region pricing natively, the standard advice from those platforms is: work with your dev team to build it. What they don’t tell you is the actual scope.
Building multi-region subscription support on a legacy platform requires a minimum of 40-80 hours upfront: market detection logic, currency conversion at checkout, payment method storage per currency, portal display logic, dunning email currency formatting, and testing across every market. That’s before you write a line of code for anything that actually grows your business.
Then Shopify updates Markets. New features, changed APIs, updated checkout behavior. Your custom code breaks in ways that are hard to predict and expensive to debug.
“We have a web development team, but with that comes a number of allotted hours per month.” — Director of Ecommerce, 38 Terra
This is the constraint most lean DTC brands operate under. Dev hours are finite. Spending 40+ hours on subscription infrastructure that should be table stakes means not building the revenue-generating features on your roadmap — better product pages, new upsell flows, checkout optimizations.
Building multi-region subscription support requires 40-80 dev hours upfront plus ongoing maintenance every time Shopify updates Markets. The opportunity cost is everything else those hours could have built.
What Actually Needs to Work for International Subscriptions
Before diagnosing your current setup, it helps to know exactly what “working” looks like. Here’s the full list of what needs to function correctly for international subscriptions:
Checkout must display prices in the customer’s local currency without rounding errors or double-conversion
Payment processing must handle currency correctly at the point of charge, not convert after the fact
Customer portal must show subscription value in the original purchase currency — a EUR subscriber should see EUR
Recurring billing must maintain currency consistency across every renewal, not re-convert each cycle
Dunning and notifications must display amounts in the correct currency with correct formatting
Reporting must aggregate revenue across currencies without manual spreadsheet work
Product catalog must support different prices per market, not just currency conversion of a single price
Tax calculation must respect regional rules — VAT in the EU, GST in Australia, sales tax in the US
International subscriptions require currency-consistent checkout, billing, customer portal, notifications, and reporting across all markets. If any one of these breaks, you’re generating support tickets, chargebacks, or both.
How Shopify Markets Actually Works (And Why Most Subscription Tools Ignore It)
Shopify Markets handles market detection, currency conversion, pricing rules, and tax calculation natively inside Shopify’s infrastructure. When a customer lands on your store from Germany, Markets detects their location, displays prices in EUR, applies the correct VAT rules, and routes them through Shopify’s payment processing — all without custom code.
Subscription platforms built on top of Shopify’s native infrastructure inherit this automatically. There’s no separate integration to build, no API to maintain. When Shopify updates Markets, those updates flow through to the subscription platform without any work required.
The architectural difference matters here. Shopify-native subscription platforms use Shopify’s own checkout and payment processing. Platforms built before Markets existed use their own checkout flows and their own payment processing layers — meaning two separate systems that need to stay in sync on currency, pricing, and customer data.
When those systems desync, you get pricing mismatches between what the customer sees at checkout and what they’re billed at renewal. You get failed payments because the payment method stored in the subscription platform doesn’t match what Shopify’s vault expects. You get incorrect tax collection because the subscription platform’s tax logic doesn’t know what Shopify Markets has already calculated.
Shopify-native subscription platforms inherit Markets functionality automatically; platforms built before Markets require custom integration. That’s a consequence of how the systems are built, not a marketing claim. See Shopify Markets compatibility for the specifics of how this works in Skio.
Regional Pricing vs. Currency Conversion: Why You Need Both
These are two different things, and conflating them is one of the most common mistakes brands make when going international.
Currency Conversion | Regional Pricing | |
|---|---|---|
What it does | Translates a single price across currencies at current exchange rates | Sets a strategic price per market based on costs, competition, and positioning |
Example | $100 USD → €92 EUR at today’s rate | $100 USD → €85 EUR because of VAT inclusion and local market norms |
Who controls it | Exchange rate APIs | You |
Accounts for VAT/GST | No | Yes |
Accounts for COGS differences | No | Yes |
Competitive positioning | No | Yes |
Requires subscription platform support | Basic | Requires Shopify Markets integration |
Currency conversion is automatic. Regional pricing is strategy. You need both.
“Our product is priced differently per region based on currency and COGS.” — Director of Ecommerce, 38 Terra
This is the norm for any brand with real international presence. Your cost structure in Australia is different from your cost structure in the US. Your competitive position in Germany is different from your competitive position in Canada. A subscription platform that only does currency conversion forces you into a one-price-fits-all model that leaves margin on the table in some markets and makes you uncompetitive in others.
Regional pricing sets strategic prices per market; currency conversion just translates the same price across currencies. If your subscription platform can’t distinguish between the two, you’re building your international business on the wrong foundation.
The Migration Timing Question: Before or After International Expansion?
This dilemma comes up for almost every brand considering a platform switch while also planning international growth. There’s no perfect answer — but the math usually points in one direction.
“It’s easier to migrate with one SKU versus if we were to migrate with 5 SKUs.” — Director of Ecommerce, 38 Terra
Migrations scale in complexity with the number of products, markets, and subscriber configurations. One product, one market: straightforward. Five products, three markets, regional pricing rules: significantly more complex, with more surface area for things to go wrong.
The case for migrating before expansion is clean data and a simpler setup. You’re not unwinding legacy regional workarounds built to compensate for platform limitations. You’re starting fresh on infrastructure that natively supports what you’re about to build. The migration is shorter, the risk is lower, and you’re not inheriting technical debt into the new platform.
The case for waiting is usually “it’s working well enough for now.” That’s often true in the short term. The problem is that every month you run on a platform that doesn’t natively support Markets is another month of dev hours spent on workarounds. Those workarounds accumulate. When you eventually migrate — and you will — you’re migrating a more complex system.
What actually happens when brands wait: technical debt compounds, migration complexity increases, and international expansion gets pushed back because the platform can’t support it cleanly.
Skio’s migration process is white-glove — all subscribers are moved without losing payment methods or regional settings. Subscribers don’t see any changes; their subscription continues in their original currency and market. That process is meaningfully easier to execute before you’ve built out multiple markets than after.
How Skio Handles Multi-Region Subscriptions (No Custom Dev Required)
Skio is Shopify-native, which means everything Shopify Markets does, Skio inherits automatically. Here’s what that looks like in practice:
Checkout displays prices in the customer’s market currency through Shopify’s native checkout — not a custom integration that needs maintenance
Customer portal shows subscription values in the original purchase currency — EUR subscribers see EUR, not a confusing USD conversion. See the Customer Portal v3 overview for how this is configured
Recurring billing maintains currency consistency across every renewal — no conversion errors at recharge
Analytics aggregate revenue across markets with proper currency handling — accurate MRR without manual spreadsheet work
Payment recovery works across all currencies and payment methods, including the dunning flow
New markets are automatically supported when you add them in Shopify Markets — no code changes, no additional Skio setup
Migration preserves all regional pricing settings — subscribers don’t see any changes during the switch
Skio’s Shopify-native architecture automatically supports Shopify Markets with no custom development required. That’s how the platform is built.
What to Ask Your Current Platform (And What the Answers Mean)
If you’re evaluating whether your current subscription platform can actually support international growth, these questions will tell you what you need to know. The answers reveal the architecture.
“Do you use Shopify’s native checkout or your own?” If the answer is “our own checkout,” Markets support will always be limited. You’re running two systems that need to stay in sync.
“How many dev hours does it take to set up multi-currency subscriptions?” If the answer is anything other than zero, that’s custom code you’ll be maintaining indefinitely.
“What happens when Shopify updates Markets features?” If the answer is “we evaluate and build support,” you’re perpetually behind. Native integration means updates are automatic.
“Can I set different prices per market, or just currency conversion?” Many platforms only support conversion. That’s not regional pricing — that’s arithmetic.
“How does the customer portal handle currency display for international subscribers?” If the answer is “we convert to USD,” your international customers are seeing incorrect amounts in their subscription management.
“What’s your migration process for stores with multiple markets?” If they haven’t done it before, or the process is vague, you’re the test case.
Ask whether your platform uses Shopify’s native checkout, how many dev hours multi-currency setup requires, and how it handles Markets updates. Those three answers tell you whether you’re dealing with native infrastructure or custom code that someone has to maintain.
The Reporting Problem Nobody Talks About
International subscriptions create a reporting problem that most platforms quietly ignore until you run into it.
“Reporting limitations have been pretty significant. There’s no major integrations. We use Triple Whale and Loop doesn’t integrate.” — Director of Ecommerce, 38 Terra
When you’re running subscriptions across three markets in three currencies, your MRR number is only meaningful if it’s calculated correctly. Adding €5,000 EUR to $8,000 USD to A$3,000 AUD and calling it “$16,000 MRR” isn’t a metric — it’s noise. The same problem affects churn rates (are you segmenting by market?), LTV (does it account for regional pricing differences?), and cohort analysis (are German subscribers behaving differently from US subscribers?).
The manual workaround most brands end up with: export data, run currency conversions in spreadsheets, build custom dashboards in whatever BI tool you can get to connect. That takes hours every month.
“We don’t have hours to develop custom reporting.” — Director of Ecommerce, 38 Terra
Multi-region subscription reporting requires currency-aware MRR calculation, regional segmentation, and proper revenue aggregation across markets. Without it, you’re making growth decisions based on inaccurate numbers.
Skio’s analytics handle multi-currency from the start — proper revenue aggregation across currencies, segmentation by market, and accurate MRR that doesn’t require manual conversion work. If your current platform can’t give you clean numbers across markets, you’re flying blind on your international business.
Common Multi-Region Subscription Mistakes (And How to Avoid Them)
These are the patterns that reliably cause problems, usually discovered after the fact:
Treating currency conversion as regional pricing strategy. Conversion is math. Pricing is strategy. Conflating them leaves margin on the table.
Building custom region detection. Shopify Markets already does this. If your subscription platform requires you to build it separately, you’re duplicating infrastructure you’re already paying for.
Storing payment methods outside Shopify’s vault. This creates compliance exposure and currency handling issues that are painful to unwind.
Using different subscription frequencies per market. This creates operational complexity with minimal benefit. Keep frequency consistent; vary pricing and product selection instead.
Not testing checkout flow in each market before launch. Currency display bugs only show up in production, in front of real customers.
Migrating platforms after launching multiple markets. Exponentially harder than migrating first. The complexity compounds with every market you add.
Assuming your current platform will eventually support Markets properly. These platforms have had years. If native Markets support isn’t there now, it’s not coming soon.
The biggest multi-region subscription mistake is treating currency conversion as regional pricing strategy — and the second biggest is waiting to migrate until you’ve already expanded to multiple markets.
If you’re planning international expansion and your subscription platform requires custom development to support it, you’re building on the wrong foundation. The infrastructure question — Shopify-native versus legacy — determines how much of your team’s time goes to maintenance versus growth. Getting that right before you expand is significantly easier than fixing it after.
Skio’s Shopify Markets compatibility covers the specifics of how multi-region subscriptions work in practice. If you’re evaluating a migration, the Skio migrations guide walks through what the process actually looks like.
FAQ
Does Skio work with Shopify Markets for subscriptions?
Yes. Skio is Shopify-native and automatically supports all Shopify Markets features including multi-currency pricing, regional tax calculation, and market-specific product catalogs. No custom development required.
Can I set different subscription prices per market in Skio?
Yes. Skio respects Shopify Markets pricing rules, so you can set strategic prices per market rather than relying on currency conversion alone. For example, you can charge $50 USD and €40 EUR instead of a converted €46 EUR.
How does Skio handle currency in the customer portal for international subscribers?
The Skio customer portal displays subscription values in the customer’s original purchase currency. A subscriber who bought in EUR sees EUR — not a USD conversion that creates confusion about what they’re actually being charged.
What happens to multi-region subscriptions during migration to Skio?
Skio’s white-glove migration process preserves all regional pricing and currency settings. Subscribers don’t see any changes — their subscription continues in their original currency and market.
Do I need custom development to add new markets in Skio?
No. When you add a new market in Shopify Markets, Skio automatically supports it. No code changes, no additional setup beyond Shopify’s own market configuration.
How does Skio calculate MRR across multiple currencies?
Skio’s analytics properly aggregate revenue across currencies, with the ability to segment and filter by market for accurate regional performance tracking. No manual spreadsheet conversion required.
























































