If you price subscriptions in many countries, do not just convert from $19.99 USD and call it done. I’d treat multi-currency pricing as a market-by-market pricing job: set local prices by country, check Apple/Google currency rules, review tax and renewals, and watch drift in places like Turkey, Argentina, and Nigeria where currencies can move 10%–30% in a year.
In plain terms, here’s the job:
- Map countries, currencies, and channels across iOS, Android, and web
- Set local list prices instead of using store FX defaults
- Build a term matrix for monthly, annual, weekly, lifetime, trials, and win-backs
- Use local price endings so prices look normal in each market
- Check store differences because Apple and Google do not always bill in the same currency
- Review tax, settlement, and renewal rules before launch
- Track conversion, ARPU, refunds, and net revenue by country and currency
- Review prices monthly or quarterly so drift does not eat margin or conversion
A few numbers make the point fast. Apple supports 175 storefronts, 44 currencies, and 900 price points. Google Play supports 190+ storefronts and local currency pricing without Apple’s fixed ladder. In some territories, the two stores bill in different currencies, which means your price logic cannot be copied over one-to-one.
Quick comparison
| Area | What to do | Why it matters |
|---|---|---|
| Price setting | Set local prices by market | FX conversion misses local willingness to pay |
| Billing terms | Align monthly, annual, weekly, lifetime, trials | Bad term gaps hurt conversion |
| Store setup | Check Apple and Google country/currency behavior | The same country may bill in different currencies |
| Tax | Review VAT/sales tax effects on net proceeds | Tax shifts can cut proceeds if list price stays flat |
| Renewals | Test price changes and legacy subscriber handling | Bad migration setup can drive churn |
| Monitoring | Track CVR, ARPU, refunds, renewals, net revenue | Drift shows up first in country-level data |
My short take: pricing sits upstream of billing. Mirava fits there as the pricing intelligence layer, while RevenueCat, Adapty, Purchasely, and Superwall handle billing, paywalls, and entitlements. If I were setting this up today, I’d start with the top 20–30 markets, lock the full price matrix, then review volatile markets every month.
2. Market and currency setup checklist
Start with your top 20–30 markets by revenue or installs. Then expand once the base setup is clean.
List your target countries, currencies, and sales channels
Map each target country across iOS, Android, and web checkout. This sounds basic, but it trips teams up all the time. Apple and Google do not always bill the same country in the same currency. You’ll see this in places like Algeria and Vietnam [2].
Use that country-to-currency map before you assign local prices. If the billing currency shifts by channel, your pricing logic needs to reflect it from day one.
Set explicit local prices instead of converting from a U.S. dollar base
Don’t lean on default FX conversion. Set store-level list prices for each market.
For a $19.99 USD base price, Apple’s auto-conversion lands at ₹1,899 in India and R$129.90 in Brazil. Those prices sit well above what most apps can support in those markets. Properly localized prices are much lower [6].
This is where Mirava fits. It calculates region-specific prices upstream of RevenueCat, Adapty, Purchasely, and Superwall, so your billing stack gets a cleaner pricing input instead of a rough USD conversion.
Once local prices are in place, build the full term matrix.
Build a full price matrix for every billing term
Each market in your matrix needs aligned pricing across every active billing term:
- monthly
- annual
- weekly
- lifetime, if you offer it
- introductory offers
- free trials
- win-back promotions
The ratios between those terms matter just as much as the sticker price. If the gap between monthly and annual is off, conversion will suffer even if each price looks fine on its own. The same applies to intro offers, free trials, and win-back pricing.
That matrix becomes the baseline for billing, tax, and rollout checks.
sbb-itb-43fe43a
3. Local price design checklist

Multi-Currency Subscription Pricing: Market Tiers & Local Price Guide
Assign a list price to each currency based on local willingness to pay, not a straight FX conversion.
Assign a separate list price for each currency
Start with positioning. In each market, should the app land as premium, mainstream, or budget? Your app pricing strategy sets the tone for the rest of the pricing model. That choice sets the tone for the rest of the pricing model.
A practical way to do this is to group markets by purchasing power, then apply a steady share of the U.S. base price:
| Tier | Market Type | % of U.S. Base Price | Example Markets |
|---|---|---|---|
| 1 | Developed | 100% | US, UK, Germany, Japan, Australia |
| 2 | Upper-middle | ~70% | Spain, Italy, Poland, Malaysia |
| 3 | Mid | ~50% | Brazil, Mexico, Turkey, Thailand |
| 4 | Lower-middle | ~35% | India, Indonesia, Philippines, Vietnam, Egypt |
| 5 | Lowest | ~25% | Pakistan, Nigeria, Bangladesh, Tanzania |
Use these bands as a pricing guide when you set local levels. A $19.99 U.S. base price can equal 6–11% of median monthly income in India, which is far above what most apps can hold for long. That’s why apps that do well there often price 50–80% lower than the U.S. base, well past Apple’s default 21% cut[1][4].
Apply the same logic across every active price in the catalog. Neighboring offers need to stay in line, or one awkward price point can warp the upgrade path.
Once you’ve set the base, look at how each market should end and display.
Apply local rounding and price endings
Round prices so they look native in each market. A converted figure like ₹1,659.17 or ₺47.83 doesn’t look local. It looks machine-generated.
| Market/Currency | Typical Ending |
|---|---|
| US (USD), UK (GBP), Eurozone (EUR) | .99 or .49 |
| Japan (JPY), South Korea (KRW), Vietnam (VND) | Whole hundreds or thousands |
| Brazil (BRL) | .90 |
| Switzerland (CHF), India (INR), Mexico (MXN) | .00 or .50 |
"CHF 14.99 looks like a typo to a Swiss buyer. KRW 14,995 looks like a glitch to a Korean buyer. INR 661.49 looks weird to an Indian buyer." - Antonio Cappiello, Founder, PricePush [2]
Local number formatting matters too. Brazil uses R$19,99, not R$19.99.
This is where Mirava fits in. It sits upstream of billing and paywall tooling, so RevenueCat, Adapty, Purchasely, and Superwall receive store-ready prices rather than raw converted numbers.
After the displayed price feels right, pressure-test the subscription ladder.
Check subscription ladder across monthly and annual offers
Prices don’t work on their own. If a monthly plan is only slightly cheaper than annual on a per-month basis, the upgrade path weakens. If the annual plan lands too high in a lower-income market, users may ignore it altogether.
In those cases, remove annual where it blocks conversion and lean on weekly or lifetime tiers instead. In 2025, the brain training app Impulse took that route in Brazil, shifting focus to weekly and lifetime tiers to better match local spending behavior[1].
Before launch, review the full price grid for unintended jumps. Sometimes a small rounding change pushes a market into a much higher tier than planned[7]. Those issues are easy to miss before release and annoying to untangle later.
After the ladder is clean, move on to billing, tax, and rollout checks before launch.
4. Billing, tax, and rollout checklist
Once your local price matrix is in place, check that billing, tax, and renewal logic hold up market by market.
Confirm currency support across your billing platform and gateway
A price matrix on paper is one thing. Getting it to work across checkout, renewals, refunds, and reporting is another.
Not every currency will flow cleanly through your billing setup in every market. Apple supports 175 storefronts, 44 currencies, and a ladder of 900 price points [6]. Google Play supports 190+ storefronts and lets you set local currency prices without a fixed ladder [2][4]. That difference matters in practice.
The main watchout is this: Apple and Google use different billing currencies in 27 territories. Algeria, Bolivia, Ukraine, and Serbia are clear examples. In those markets, Apple may bill in USD or EUR, while Google bills in local currency [2][4]. If each store is not set up on its own terms, users can end up seeing or paying the wrong currency.
Tools like RevenueCat, Adapty, Purchasely, and Superwall sit around billing, paywalls, and entitlements. They help keep the purchase flow in order, but they don't remove the need to check store-by-store currency behaviour. That is where a pricing layer such as Mirava sits upstream: it helps you analyse market-level price logic before those billing tools do their job.
Once checkout is working, move on to tax and settlement.
Verify tax, settlement, and compliance requirements by market
Tax treatment changes by platform and region, and small shifts can hit margin fast.
Apple and Google usually include local taxes in the customer-facing price in most regions. So if tax goes up and you leave the list price unchanged, your proceeds can fall. You also need to check settlement currency and FX drift, since a customer may pay in local currency while your payout lands in your base currency [4][3]. Apple does not auto-adjust subscription prices when tax or exchange rates move [3][6].
That can bite harder than teams expect. In January 2026, Apple changed tax rules across 9 countries. That included a 4-point VAT increase in Kazakhstan and a new 15% VAT in Mauritius. Developers using manually set prices had to update those prices themselves or take the hit through lower proceeds [6].
This is why country-level monitoring matters. If net revenue starts slipping in one market, the issue may not be conversion at all. It may be tax, FX, or a stale local price point. Track ARPU and conversion by country so you can spot when a market no longer works at its current price.
After tax and settlement are sorted, test what happens to existing subscribers.
Test migration and renewal behavior before launch
Before launch, test price increases, renewal pricing, and grandfathering rules. In most cases, keeping legacy prices where you can is the safer move because it reduces opt-in churn risk.
"If your price increase exceeds their set thresholds, existing users will need to opt in again, which can lead to higher churn during tests." - Daphne Tideman, RevenueCat [1]
Also give the rollout enough time to show a signal. A price change can look good or bad in the first few days for the wrong reasons. Leave at least a two-week measurement window before you judge the result [5].
5. Monitoring and maintenance checklist
Track conversion, revenue, and payment success by currency
After launch, keep watching the same country-by-currency matrix you used when setting prices. Track trial-to-paid conversion, renewal rate, ARPU, refund rate, and net revenue after local taxes and platform fees.
Conversion gaps are usually the first sign that price and market are out of line.
High refunds often point to pricing that’s too high. Falling renewals usually mean local price drift.
Net revenue needs close attention on its own. Platform fees and taxes change by territory, so net revenue comparisons across Android and iOS markets need to include those differences.
Set a regular review cycle for price updates
Use the same thresholds each month so drift is easy to spot.
| Review Type | Frequency | What to Check |
|---|---|---|
| Spot-check | Monthly | Volatile markets: Turkey (TRY), Argentina (ARS), Nigeria (NGN), Indonesia (IDR) |
| Full audit | Quarterly | Every SKU × country; CVR anomalies, FX drift, price outliers |
| Data refresh | Annual | Update PPP baselines using the latest World Bank or OECD data |
Monthly spot-checks matter most in high-inflation markets. A 10% currency move in a single quarter is routine for markets like the Turkish lira, Argentine peso, or Nigerian naira [3]. Leave those markets unchecked for too long, and prices can slip out of sync before the revenue hit shows up in your dashboard.
Some events should trigger an immediate review:
- a platform tax announcement like Apple's January 2026 update across 9 countries [3][4]
- a major FX move
- a sudden drop in conversion or store ranking in a region [3][4]
When you test a new price or roll out an update, give it enough time to show a real pattern. The full effect on LTV and retention usually takes 3–6 months to appear [1].
Conclusion: The key multi-currency pricing checks to keep
Stick with the same sequence after launch: monitor by currency, review on schedule, and update when drift appears. Define your target markets, set local prices instead of converting from USD, verify billing and tax support by store, and test renewal behaviour before launch.
Mirava sits upstream of billing and paywall tools as the pricing intelligence layer. It sets local prices using pricing indexes built from real digital purchasing behaviour across 170+ countries. Then RevenueCat, Adapty, Purchasely, and Superwall handle billing, paywalls, and entitlements.
FAQs
How do I choose local prices by country?
Start with a base price in your main market, usually the U.S., then adjust it country by country using purchasing power as your starting point. From there, round prices so they match local buying habits and App Store or Google Play price tiers.
That baseline alone isn’t enough. You also need to look at local competitors, how users judge the product, and what they’re ready to pay. Pricing should be reviewed on a regular basis, especially when exchange rates move or market conditions change. Tools like Mirava can help sharpen those decisions by looking at actual digital buying behaviour.
When should I review multi-currency prices?
Review multi-currency prices quarterly, monthly in volatile markets, and on an ad hoc basis when platform updates or currency swings point to clear drift.
How do Apple and Google currency differences affect pricing?
Apple and Google take very different approaches to local pricing, and that has a direct impact on how teams manage subscription revenue across markets.
Apple runs on a predefined price tier system. In practice, that means developers pick from fixed tiers, Apple converts from the base price, and tax handling is built into the process. The trade-off is control. Apple doesn’t automatically update subscription prices or adjust for shifts in local buying power, so pricing can drift over time if teams don’t review it.
Google is more flexible. Developers can set local currency prices directly rather than work within a fixed tier structure. That gives pricing teams more room to shape price points market by market, which is useful when exchange rates move or local demand looks very different from the U.S. baseline.
The downside is that these platform differences can leave apps with uneven pricing across regions. A plan that feels well pitched in one country can look overpriced or oddly cheap in another. That affects perceived value, conversion, and revenue, especially for apps running at scale.
This is where pricing intelligence matters. Tools like RevenueCat, Adapty, and Purchasely help manage billing and paywall delivery, but the upstream pricing decision still needs close attention. For teams working across Apple and Google, Mirava fits into that gap by helping analyse market-level price position before those prices go live.



