6 min read
Apple retired in-app purchase promo codes: what to do now
Since 26 March 2026 you can’t create new promo codes for in-app purchases. Here is what changed, what offer codes do instead, and a step-by-step plan for creator programs.
By the Proofline team. Facts checked 21 Oct 2026.
If you ran a creator program on promo codes, the spreadsheet with “SARAH = 50 codes” stopped working this spring. On 26 March 2026 Apple stopped letting developers create new promo codes for in-app purchases (Stora (opens in a new tab), 9to5Mac (opens in a new tab)). Offer codes are now the only code path, and they cover every in-app purchase type (Apple (opens in a new tab)).
That sounds like a loss. For creator programs it is mostly an upgrade, if you set it up right.
What changed
- Promo codes for in-app purchases: no new ones. They were free-access codes in batches, with no way to know which creator a redemption came from unless you tracked batches by hand.
- Offer codes: a code attached to an offer (a discount or a free period) on your in-app purchases. They now cover subscriptions and the other in-app purchase types (Apple: subscription offer codes (opens in a new tab)).
Why offer codes are better for creators
The store tells you which code was used. When someone redeems an offer code, Apple’s
transaction says so: the offerType field marks it as an offer code, and offerIdentifier
identifies the offer (offerType (opens in a new tab),
offerIdentifier (opens in a new tab)).
RevenueCat passes an offer_code field in its webhooks
(RevenueCat (opens in a new tab)). That
is attribution the store itself confirms, rather than a guess.
Custom codes are per creator. A custom code like SARAH20 is shared publicly, so one creator
gets one code. One-time codes are unique per user and suit email campaigns, not posts.
There’s a link that opens the App Store with the code applied:
https://apps.apple.com/redeem?ctx=offercodes&id={appStoreId}&code={code}
According to RevenueCat, redeeming through this link also installs the app (RevenueCat (opens in a new tab)). App Store links open from inside TikTok and Instagram, where universal links often don’t. So the purchase can happen before the app is ever opened, with Apple recording which creator’s code was used.
The limits to plan around
| Limit | What it means |
|---|---|
| Custom code length | Up to 64 characters, letters and digits only, and it can’t be edited after creation |
| Codes per app | 1,000,000 per quarter, shared across all your in-app purchases |
| Per customer | One redemption per offer |
| Expiry | One-time codes last up to six months; custom codes can run without an end date |
| An offer is required | Every code needs a discount or a free period |
What to do now: a plan for creator programs
- List your creators and what they post. Anyone who shares a code publicly needs a custom code.
- Create one offer per subscription you promote, such as “Creator: 20% off for 3 months”. Model the discount cost; it usually lifts conversion enough to pay for itself.
- Give each creator a custom code on that offer:
SARAH20,LEO15. Check every code before you create it, since Apple doesn’t allow edits. Our free offer-code planner validates a whole list and sizes the limits. - Set redemption limits with headroom and reissue the same code when it runs low.
- Put the redemption link in every creator link, so people in TikTok and Instagram land in the App Store with the code applied.
- Record redemptions as the creator’s sales, from Apple’s notifications or RevenueCat’s
offer_code, and tie renewals to the user. Apple’s Set App Account Token endpoint attaches your user ID to a purchase made outside the app (WWDC25 session 249 (opens in a new tab)). - Keep in-app code entry on your paywall for podcast and video mentions. A typed code is weaker evidence than a redemption, but it shows clear intent.
What we don’t know yet
Two details matter for creator programs and we are testing them in Apple’s sandbox before relying on them:
- Does
offerIdentifiercarry the custom code text, or the offer’s ID? If it is the offer ID, creators who share one offer can’t be told apart from Apple’s data alone. The fallback is a separate offer for each top creator, and in-app code entry for everyone else. - How many offers can one subscription have, and how do expiry rules apply to custom codes? That decides how far the per-creator-offer fallback can go.
We’ll update this post when we have answers.
If you won’t discount
Offer codes need an offer. If a discount or trial isn’t an option, use creator links plus in-app code entry: the user types the creator’s code on your paywall. You lose the store’s confirmation, but you keep a clear, user-entered signal.
Plan your creator codes in five minutes.
The free planner checks every code against Apple’s rules and sizes redemption limits.