Preview the prompt
# Five-tier country pricing for my App Store products
Apply regional pricing to my app's subscriptions and one-time purchases in App Store Connect. Every country is in one of five tiers; each tier pays a fixed share of Apple's full local price.
| Tier | Pays | Discount |
|---|---|---|
| 1 | 100% | 0% |
| 2 | 80% | 20% |
| 3 | 60% | 40% |
| 4 | 40% | 60% |
| 5 | 25% | 75% |
Machine-readable list (ISO2, ISO3, name per tier): https://activationpal.com/country-pricing/tiers.json
## Tiers (App Store Connect territory codes)
- **Tier 1: pay 100%** (23): AUS, AUT, BEL, CAN, DNK, FIN, FRA, DEU, HKG, IRL, ISR, JPN, NLD, NZL, NOR, SGP, KOR, SWE, CHE, TWN, ARE, GBR, USA
- **Tier 2: pay 80%** (17): BGR, CHL, CRI, CYP, CZE, GRC, HUN, ITA, KWT, OMN, POL, QAT, ROU, SAU, SVK, SVN, ESP
- **Tier 3: pay 60%** (71): ALA, DZA, AND, ARG, ABW, AZE, BHS, BHR, BLR, BMU, BRA, VGB, BRN, CYM, CXR, CCK, COL, HRV, CUB, DOM, ECU, SLV, EST, FLK, FRO, GIB, GRL, GUM, GTM, GGY, ISL, IRN, IRQ, IMN, JEY, KAZ, LVA, LBY, LIE, LTU, LUX, MAC, MYS, MLT, MTQ, MEX, MCO, NCL, NFK, PAN, PRY, PER, PRT, PRI, RUS, SMR, SRB, SXM, ZAF, BLM, SPM, SJM, THA, TTO, TUR, TKM, TCA, VIR, UKR, URY, VAT
- **Tier 4: pay 40%** (67): ALB, ASM, AGO, AIA, ATG, ARM, BGD, BRB, BOL, BIH, BWA, KHM, CMR, BES, COG, COK, CIV, CUW, EGY, GNQ, GUF, PYF, GAB, GEO, GHA, GLP, GUY, HTI, HND, IND, IDN, JAM, JOR, KEN, XKS, KGZ, LAO, LBN, MRT, MUS, MDA, MNG, MSR, MAR, NRU, NIC, NGA, NIU, MKD, MNP, PLW, PSE, PNG, PHL, REU, SEN, SYC, LKA, KNA, MAF, TJK, TUN, UZB, VEN, VNM, WLF, ZWE
- **Tier 5: pay 25%** (72): AFG, ATA, BLZ, BEN, BTN, BVT, IOT, BFA, BDI, CPV, CAF, TCD, CHN, COM, COD, DJI, DMA, ERI, SWZ, ETH, FJI, ATF, GMB, GRD, GIN, GNB, HMD, KIR, LSO, LBR, MDG, MWI, MDV, MLI, MHL, MYT, FSM, MNE, MOZ, MMR, NAM, NPL, NER, PRK, PAK, PCN, RWA, WSM, STP, SLE, SLB, SOM, SGS, SSD, SHN, LCA, VCT, SDN, SUR, SYR, TZA, TLS, TGO, TKL, TON, TUV, UMI, UGA, VUT, ESH, YEM, ZMB
## Algorithm
Use the App Store Connect API with my API key (Issuer ID, Key ID, .p8). Ask me which products to include and their current US prices. Keep US prices unchanged.
1. For each product, find the USA price point equal to its US price:
- subscription: `GET /v1/subscriptions/{id}/pricePoints?filter[territory]=USA`
- one-time purchase: `GET /v2/inAppPurchases/{id}/pricePoints?filter[territory]=USA`
2. Get Apple's equalized full price in every territory: `GET /v1/subscriptionPricePoints/{pointId}/equalizations` (or `/v1/inAppPurchasePricePoints/{pointId}/equalizations`). That price is the territory's **anchor**.
3. For every territory not in Tier 1: target = anchor x ratio. Fetch that territory's price points for the product and pick the point **closest to the target that is not above the anchor**; on a tie pick the lower one. Tier 1 keeps the anchor.
4. Always compute from the full anchor. Never multiply a price that is already discounted.
5. Show me a dry-run table (territory, tier, anchor, target, chosen price) before writing anything.
6. Write:
- subscriptions: `POST /v1/subscriptionPrices` per territory, `startDate` tomorrow or later, `preserveCurrentPrice: true` so existing subscribers keep their price.
- one-time purchases: one `POST /v1/inAppPurchasePriceSchedules` with `baseTerritory: USA` and `manualPrices` for USA plus every tiered territory. The schedule replaces the previous one, so include every territory.
7. Read prices back and confirm each territory matches the plan. Report territories that have no price ladder and were skipped.
## Checks
- Changing the US base price after this re-equalizes every territory and wipes the tiers. Set the US price first, then run the tiers.
- Paywalls must show the StoreKit/RevenueCat localized price, never a hardcoded one.
- No app update or App Store review is needed for a price-only change.
Tiers by ActivationPal (https://activationpal.com/country-pricing). To see installs and revenue split by these same tiers, connect the app at https://activationpal.com.