All posts
PRICING

How to audit your App Store pricing after Apple’s automatic currency adjustments

Apple quietly re-prices your app in dozens of storefronts when exchange rates shift. Here is a step-by-step audit process — using the App Store Connect dashboard and the ASC API — to catch misalignments before they erode revenue or lose users.

By the AppsOps team · · 9 min read

Apple’s automatic currency adjustment mechanism is one of the most underappreciated threats to a carefully calibrated global pricing strategy. You can spend weeks fine-tuning your price points using PPP data and conversion math — then a single macro currency event silently resets your Turkish, Brazilian, or Indonesian price to a number you never chose.

This guide walks through a structured pricing audit: what triggers Apple’s auto-adjustments, how to spot the changes, how to evaluate whether the new price is better or worse than your original intent, and how to lock in manual overrides using both the App Store Connect dashboard and the ASC API.

How Apple’s automatic currency adjustments work

When you create a subscription or in-app purchase in App Store Connect and choose “globally equivalent pricing,” you are telling Apple to derive prices in all 175+ storefronts from your base currency — typically USD. Apple maintains a set of discrete price points in each territory and maps your base price to the nearest equivalent. These are not a continuous curve; they are specific steps Apple has defined, and your price must land on one of them.

Apple periodically reviews exchange rates and adjusts prices in affected storefronts to maintain parity with the base price. When a currency depreciates significantly — the Turkish lira, Argentine peso, and Nigerian naira have historically seen the steepest swings — Apple bumps the local price to the next higher price point to compensate. If a currency appreciates, prices may decrease, though this is less common in practice.

Apple sends an email notification to the account holder and any admin team members before these adjustments take effect. In practice, however, these emails often land in a shared alias, get filtered as marketing, or arrive during a period when no one is actively watching. The adjustments happen regardless of whether you acknowledge the notification.

Key distinction: Automatic adjustments apply only to products where you have globally equivalent pricing enabled. If you have set manual prices for a specific storefront, Apple does not override those. Managing prices manually — at least for your highest-revenue and most volatile markets — is the most reliable way to prevent surprise changes.

When to run a pricing audit

Rather than auditing on a rigid fixed schedule, tie your audit cadence to events that signal exchange rate volatility or unusual subscriber behavior:

175+App Store storefronts where Apple can automatically adjust your prices

Step 1: Pull your current prices with the ASC API

The App Store Connect dashboard lets you view prices territory by territory, but navigating 175+ storefronts manually is impractical for any app with broad distribution. The ASC API’s subscription price endpoints return your current pricing configuration in machine-readable form. Combined with a reference file of your intended prices, you can build a territory-by-territory diff that surfaces every divergence in seconds.

At a high level, an audit script does the following:

  1. Authenticates with the ASC API using a JWT signed with your private key. If this is new territory for your team, see our walkthrough on App Store Connect API JWT authentication before starting.
  2. Fetches the list of subscription products (or IAP products) for your app using GET /v1/subscriptions.
  3. For each product, retrieves the active price schedule per territory via GET /v1/subscriptionPrices.
  4. Compares retrieved prices against your “target” prices — the prices you intended to charge — stored in a CSV or JSON reference file that you maintain separately.
  5. Flags any territory where the current live price differs from the target, and outputs a report sorted by revenue impact.

You do not need to build this from scratch. If you have already set up a price-update workflow with the ASC API, adding a comparison step is a natural extension of what you already have. The workflow authenticates, fetches, writes — the audit step is just a diff against your reference file inserted before the write.

Step 2: Evaluate each flagged territory

Not every price change Apple makes is harmful. Before reverting a change, ask three questions for each flagged territory:

Did the local currency genuinely depreciate? If Apple raised your Turkish price from ₺199 to ₺219 because the lira lost 10% of its value, the new price may actually be the right economic outcome — ₺199 was already underpriced in USD terms at the new exchange rate. Reverting it would mean you are now charging even less in real terms than you intended.

Does the new price exceed the local affordability ceiling? Research published by Phiture and RevenueCat suggests that subscription churn rates in low-PPP markets are highly sensitive to price-to-income ratios. If an auto-adjusted price pushes past the threshold local consumers can absorb, the revenue loss from cancellations may outweigh the per-subscriber uplift.

Does the new price land on a clean local number? Consumers in many markets anchor on round numbers. A price of ₺219 can feel arbitrary compared to ₺199 or ₺249. Pricing psychology work in emerging markets suggests that off-step prices — ones that do not match local “charm” conventions — underperform equivalent round numbers.

The table below summarizes a decision framework for the most common scenarios:

Scenario Currency move New price vs PPP target Recommended action
Currency weakened, price raised by Apple Depreciated >8% At or below your PPP target Accept the change; update your reference file
Currency weakened, price raised by Apple Depreciated >8% Above your PPP target or affordability ceiling Set manual price at nearest lower price point
Currency strengthened, price lowered by Apple Appreciated >5% Below your minimum revenue floor Set manual override at your floor price
No significant currency move detected <3% change Any Investigate further; may indicate a system reclassification — contact Apple if unexplained
Price changed in a market you never targeted Any N/A Evaluate whether the market is worth actively pricing before accepting

Step 3: Apply manual overrides where needed

Once you have decided what each flagged territory’s price should be, apply manual overrides using the POST /v1/subscriptionPrices endpoint. Specify the territory, the price point ID for your chosen price, and set the start date to immediately (or a scheduled future date if you want to coordinate with a marketing push). The key difference from globally equivalent pricing is that a manually set price is pinned — Apple will not override it in future auto-adjustment runs.

The tradeoff of pinning is maintenance overhead. A price you set manually in Turkey a year ago may now be significantly below or above your intended USD equivalent, because you are no longer tracking the exchange rate on Apple’s behalf. Consider building a quarterly reminder into your workflow to review whether manually managed prices still reflect your pricing intent — even a simple calendar event for each quarter is better than nothing.

For teams managing pricing across a portfolio of apps or a large number of territories, the AppsOps pricing dashboard provides territory-level overrides with an audit trail, making it easier to track who changed what and when without building bespoke tooling.

One-way door to watch: Switching a product from globally equivalent pricing to manual pricing is straightforward. But if you later switch back to globally equivalent, Apple resets the price to the nearest equivalent price point at that moment — which may differ from both your original price and your most recent manual price. Document your intent before switching, so a future team member does not accidentally undo deliberate work.

Step 4: Build ongoing monitoring so audits stay lightweight

A one-time audit is a snapshot, not a system. Apple’s auto-adjustments are ongoing; currency markets do not stand still. After completing an initial audit, put lightweight monitoring in place so the next audit takes minutes rather than days:

Common mistakes to avoid

Treating the audit as a one-time exercise. Currency markets move continuously. An audit that takes two weeks to complete may already be partially stale by the time it is done. Build a lightweight automated check that runs weekly, even if a full manual review only happens quarterly.

Reverting all changes without evaluating them. If Apple raised your Turkish price and the lira has genuinely depreciated, reverting to the old price means you are now charging even less in USD terms than you originally intended. Accept economically justified changes; override only where Apple’s adjustment overshoots your affordability target or breaks a clean local price point.

Ignoring markets below your current revenue threshold. Small-revenue markets today can become significant as purchasing power rises. Countries like Vietnam, Indonesia, and the Philippines have growing middle-class consumer bases and rising app spending. Setting a hostile or incoherent price impression in these markets during their growth phase is a recoverable mistake, but it takes time to fix a reputation for poor value.

Not documenting the intent behind manual overrides. Without documentation, a new developer looking at your pricing configuration will not know whether Turkey’s ₺249 price was a deliberate PPP-based decision or a leftover from a test. A comment in your pricing reference file, a Notion page, or an internal changelog — any audit trail is better than none and costs almost nothing to maintain.

Sources and further reading

Share this post

Ready to put this into practice?

AppsOps is the first App Store ops dashboardPPP-fair pricing for 175 App Store territories, AI metadata localization in 39 languages, AI screenshot localization for 14 Apple device classes, and one-click App Store Connect API push — all from one dashboard, all for $19/month.

Try AppsOps free — no card →

Related reading