Who priced your app in the other 174 storefronts?
This morning I asked the App Store Connect API one narrow question: when an app costs $9.99 in the United States, what does Apple charge for it everywhere else? The answer came back as 174 rows, one per storefront, each with a local price and the amount the developer keeps. You never typed any of them. Apple generated them from the one price you picked, and almost nobody reads them afterwards.
One price in, 174 out
Every paid app and in-app purchase is priced from a base country or region, which is the United States unless you changed it. You choose one price there and App Store Connect fills in the other 174 storefronts. Apple describes the recipe in one line: generated prices “account for foreign exchange rates and certain taxes, and follow the most common pricing convention for each country or region.” Exchange rate, tax, rounding. Nothing else goes in.
For apps and one-off purchases Apple also maintains the table. It periodically re-prices storefronts when taxes or exchange rates move, never touches your base price, and tells you before it changes anything else. The moment you set a storefront by hand, that maintenance ends for it: “If you select your own prices, Apple won’t adjust your pricing on those storefronts in the future.”
What the table actually says
I converted every local price and every proceeds figure to dollars at the same day’s mid-market rates. Proceeds are at the standard 30% commission; if you’re in the Small Business Program, every number in the last column is higher.
| Storefront & local price | Customer pays (USD) | You keep (USD) |
|---|---|---|
| United States $9.99 | $9.99 | $7.00 |
| Canada CA$12.99 | $9.11 | $6.38 |
| Japan ¥1,500 | $9.49 | $6.04 |
| Turkey ₺499.99 | $10.17 | $5.64 |
| India ₹999 | $10.37 | $6.15 |
| Germany €9.99 | $11.20 | $6.59 |
| Brazil R$59.90 | $11.94 | $7.30 |
| Iceland $11.99 | $11.99 | $6.77 |
| United Kingdom £9.99 | $13.21 | $7.65 |
| Colombia COP 49,900 | $15.19 | $8.93 |
Across all 174 rows, customers pay between $9.11 and $15.19 and the developer keeps between $5.64 and $8.93. Ninety-seven storefronts land within 5% of $9.99 once converted. The spread in the rest comes from three places, and none of them is what people earn.
Tax sits inside the tag. A US price excludes sales tax; most other storefronts show a price with VAT or GST already in it. That’s why 22 of the 108 storefronts that charge in US dollars, Iceland, Kenya and Ukraine among them, show $11.99 instead of $9.99, and why you keep less there rather than more. It’s also why all 25 storefronts that charge in euros share one €9.99 tag and pay out different amounts: €5.98 in Luxembourg, where VAT is 17%, and €5.57 in Finland, where it is 25.5%.
Rounding follows local habit. €9.99 and £9.99 are the same sticker in two currencies that aren’t worth the same, so a British buyer pays $2 more than a German one. Prices snap to the endings people expect locally (¥1,500, ₹999, R$59.90).
Rates drift between updates. Apple re-prices “periodically” and “in certain regions”, so on any given day some rows are stale. Colombia is today’s outlier, roughly 50% above the US price to the customer, which is far more than VAT and rounding account for. That is what drift between two updates looks like.
Parity is not purchasing power
Look at the India row again. ₹999 is $10.37, a little more than the US price. Indonesia comes out at $11.12, Nigeria at $11.19 and Brazil at $11.94. Equalisation asks what the money is worth on a currency market, not what it’s worth to the person spending it, so an app priced as an impulse buy in Ohio arrives in Jakarta and Lagos at roughly the same number of dollars.
The two stores are candid about what their systems are for. Apple says automatic updates keep your global earnings consistent and mean “customers aren’t incentivized to seek lower prices on certain storefronts”: protection against arbitrage, not a judgement about affordability. Google sells Play Console’s price experiments as a way to “adjust your app’s prices according to purchasing power in different markets globally,” which is an admission that the converted default doesn’t.
Whether a lower price earns you more in a given country is an empirical question, and only your own numbers can answer it. What the table shows is that the default never asks.
Subscriptions don’t get the upkeep
Everything above covers paid apps and one-off purchases. Auto-renewable subscriptions start the same way, with App Store Connect proposing comparable prices for all 175 storefronts, and then the maintenance stops. Apple’s subscription docs are explicit: “Apple will not make price adjustments on your auto-renewable subscription products,” and its tax and exchange rate re-pricing “will exclude auto-renewable subscriptions.” The lira, rupee and real amounts you accepted on launch day are what customers pay until you change them.
Currencies don’t wait. On 6 October 2023 the European Central Bank’s reference rates put the dollar at 27.62 Turkish lira; today it’s 49.18. A lira price worth $9.99 three years ago is worth $5.61 now, before tax and before commission. The South African rand moved the other way: a rand price worth $9.99 then is worth $11.75 today, so those subscribers are paying more than you set out to charge.
Google Play freezes even more. For paid apps and in-app products it converts your default price using exchange rates “for the date on which you set the price,” and local prices stay there until you press Update exchange rates and apply them. Nothing refreshes on its own.
Before you change a price
The rules on changing prices are stricter than the rules on setting them, especially for subscriptions. The ones that matter:
- Overrides are permanent opt-outs. On Apple, every storefront you set by hand leaves the automatic updates for good. Keep the list short, and write it down somewhere you will look again.
- Changing the base country wipes the schedule. Apple deletes every scheduled price change when you switch base country or region, so make that switch first.
- Subscription decreases are one-way. Existing subscribers renew at the lower price automatically, you can’t preserve the higher one for them, and once a decrease takes effect it can’t be reversed (only followed by a new increase).
- Subscription increases can trigger consent. You choose whether existing subscribers keep their current price. If they don’t, Apple asks for their consent when the increase is more than 50% and more than about $5 per period (about $50 a year on annual plans), when they already had an increase in the past 12 months, or when their region requires it. Otherwise Apple notifies them and the new price applies at renewal.
- One pending change per storefront. Apple allows one scheduled subscription price change per storefront per plan type; scheduling a second overwrites the first.
- Test before committing on Play. Price experiments run on one-time products only, with a control and up to two variants, one experiment per country at a time, for up to six months. Prices revert 14 days after a result reaches significance.
An afternoon’s pricing review
Pull your own table first. App Store Connect shows the generated prices whenever you set or
change one, and the API returns the full set with proceeds from
GET /v3/appPricePoints/{id}/equalizations, which is how I built mine. Put your
installs and revenue by country next to it; App Analytics and the Play Console both break them
down that way. You’re looking for storefronts with plenty of installs and very few
purchases.
Then change one or two storefronts, not twenty, so you can read the result. For an in-app purchase, run a Play price experiment first if you ship on Android. For subscriptions, make the review an annual calendar entry: compare each storefront’s price with today’s exchange rate, because nobody else is going to.
A storefront you price for is a market you’re betting on, and the price tag is only one thing a customer there sees. The other is a listing that’s probably still in English. ShotCanvas localises screenshot headlines and store metadata per market from a single design, so the bet doesn’t stop at the price.