App Store offer codes, explained for app makers
App Store offer codes are Apple’s mechanism for giving customers a free or discounted period on an auto-renewable subscription, redeemed with a code instead of applied automatically. They come in two forms — auto-generated one-time-use codes and reusable custom codes you name yourself — and they can be redeemed in the App Store, through a URL, or directly inside your app. For app makers, they’re the closest thing iOS has to a classic discount code, which also makes them the backbone of code-based marketing: press campaigns, win-back offers, and affiliate programs.
Here’s what they are, what the limits look like, and how to choose the right shape for what you’re doing.
Offer codes vs. the other Apple discounts
Apple has several subscription pricing tools, and the names blur together. A quick map:
- Introductory offers apply automatically to eligible new subscribers. No code involved; everyone gets the same intro deal.
- Promotional offers are targeted discounts your app presents to existing or lapsed subscribers, signed server-side. Also no code the customer types.
- Offer codes are the ones with an actual code. The customer redeems it deliberately. That deliberateness is the point: it lets you control who gets the discount and know where they came from.
- Not to be confused with the old app promo codes — the small batches developers get for press to unlock an app or in-app purchase for free. Different tool, different purpose.
If your goal is measurement — knowing which campaign, partner, or influencer drove a subscription — offer codes are the tool, because the code itself is the attribution key.
One-time-use codes vs. custom codes
One-time-use codes are unique strings Apple generates in batches (between 500 and 25,000 codes per batch). Each code works exactly once. You download them as a file and distribute them however you like. They fit situations where access must be restricted: a giveaway of 1,000 discounted subscriptions, an insert in a physical product, a churned-user win-back email where each recipient gets their own code.
Custom codes are strings you choose — ANA20, PODCAST25, SUMMERDEAL — redeemable many times, up to a redemption limit you set (up to 25,000 per batch; you can extend by creating another batch of the same code). Custom codes are made to be said out loud: in a video, on a podcast, in a bio. That’s why they’re the natural unit of an affiliate program — one memorable personal code per affiliate.
The limits that actually matter
The numbers worth knowing before planning a campaign, per Apple’s current App Store Connect documentation:
- Codes for up to 1,000,000 redemptions per app, per quarter (you may see 150,000 cited in older articles — that was the original limit, since raised).
- Up to 10 active offers per subscription at a time.
- One-time-use codes expire at most 6 months after creation; custom codes can be set to no expiration.
- Offers can’t be edited once live — you deactivate and create a new one. Deactivating an offer invalidates its unredeemed codes; customers who already redeemed keep their deal.
- A customer redeems one code per offer, though they can be eligible for codes from different offers.
The practical reading for a small app: the quarterly ceiling is unlikely to constrain you, but the 10-active-offers cap shapes program design. Don’t create an offer per partner; create one offer per deal (e.g. “20% off first year”) and hang many custom codes off it.
Offer types and eligibility
Each offer defines what the customer gets, in one of three shapes:
- Free — a free period (e.g. 3 months free), after which the subscription renews at full price.
- Pay as you go — a discounted price for each of the first N billing periods.
- Pay up front — one discounted payment covering the first period, typically “X% off your first year” on an annual plan.
You also set who’s eligible: new subscribers, existing subscribers, expired subscribers, or a mix. Acquisition campaigns and affiliate programs typically target new subscribers; win-back campaigns target expired ones.
The three redemption paths
- App Store: the customer opens the redeem screen in the App Store app and types the code.
- Redemption URL: a link that opens the offer directly, code pre-filled — good for emails and link-in-bio.
- In your app: your paywall presents StoreKit’s code redemption sheet; Apple’s UI handles entry, validation, and purchase.
If codes are part of your marketing, the in-app path is the one not to skip. Customers who hear “use my code in the app” will look for a field on your paywall — meet them there. It’s a small integration, and it’s step three of the full iOS affiliate program setup.
What offer codes give you that links never will
A redeemed code is reported back to you attached to the subscription itself — in App Store Server Notifications and transaction data. That means attribution that doesn’t depend on cookies, click-through journeys, or the customer staying on one device. It’s the property that makes codes the only reliable affiliate attribution on mobile, a topic we’ve unpacked in how cookieless, code-based tracking works.
One honest limitation: a code only attributes customers who use it. Someone who hears about your app from a partner but subscribes at full price without the code is invisible to this method. The discount is what makes customers want to use the code — which is why the discount and the attribution are two halves of one design.
FAQ
Do offer codes work for one-off in-app purchases? Apple has extended offer-code-style campaigns beyond auto-renewable subscriptions in App Store Connect, but subscriptions remain the primary and most mature use. For a subscription app, everything above applies directly.
What iOS versions can redeem codes? Offer code redemption arrived in iOS 14.x. In practice, in 2026, effectively your entire audience can redeem; check Apple’s docs for the exact minimums per redemption path if you support very old OS versions.
Can I see how codes perform? Yes — App Store Connect reports redemptions per offer in Sales and Trends. What Apple doesn’t do is turn redemptions into per-partner revenue ledgers and commission math. That layer — one custom code per affiliate, lifecycle attribution, commissions tracked and calculated on net revenue — is exactly what Affiliate Raccoon adds on top.
If offer codes are how you plan to grow, don’t run the ledger by hand. Start a 7-day free trial and have your first affiliate codes live this week.
Affiliate Raccoon