Guides
Set up Apple offer codes for creators
Apple stopped new in-app purchase promo codes on 26 March 2026. Offer codes replace them and now cover every in-app purchase type. A redeemed offer code is the strongest creator signal on iOS (VVerified): Apple itself records which code was used.
1. Create an offer
In App Store Connect, open your subscription, then Offer Codes, and create an offer such as “Creator: 20% off for 3 months” or a free trial. A code always needs an offer: a discount or a free period. Model what the discount costs you; it usually raises conversion.
2. Create one custom code per creator
For each creator, add a custom code to the offer, such as SARAH20.
- Up to 64 characters, letters and digits only.
- Codes can’t be edited after creation, so check spelling first. The free offer-code planner validates a whole list.
- Each issue has a redemption limit. Size it to the creator’s expected redemptions with headroom, and reissue the same code when it runs low.
- Apple allows up to 1,000,000 codes per app per quarter, shared across all in-app purchases.
- One-time codes last up to six months; custom codes can run without an end date.
3. Record the code in Proofline
For now, add each code to the creator in Proofline (or POST /api/v1/codes) with:
store: "apple", thecode, and thestoreOfferRef(the offer identifier Apple reports),- an
offerLabelsuch as “20% off for 3 months”, theredemptionLimitandexpiresAt.
Automated creation through the App Store Connect API follows; you’ll connect an API key with permission to manage in-app purchases.
4. Use the redemption link
The creator’s landing page leads with Apple’s redemption link in iOS in-app browsers:
https://apps.apple.com/redeem?ctx=offercodes&id={appStoreId}&code={code}
The App Store opens with the code applied; the user subscribes, and the app installs as part of
redemption. Apple reports the purchase with offer type 3 (offer code), directly or through
RevenueCat’s offer_code field, and Proofline records a V1 signal, even if the user never opens
the app.
5. Tie renewals to the user
On first open, call Proofline.identify. Proofline then sets the app account token on the original
transaction (Apple’s Set App Account Token endpoint), so renewals, upgrades and refunds carry your
user’s ID.
If you don’t want to discount
Codes need an offer. If you won’t discount at all, use smart links plus in-app code entry (UUser-asserted): the user types the creator’s code on your paywall.