Battle-pass season launch checklist for F2P UA and live-ops

Gate a season start on store In-App Event readiness, IAP price availability, and a shared creative freeze — not on a verbal go-live.
Season starts fail when UA creative, store merchandising and the live pass SKU disagree on date, price or rewards. Treat launch as a gate list with named owners — not a Slack “LGTM”.
Store and offer gates (observed docs)
Apple’s In-App Events overview (source read 20 September 2026) states that event cards show name and short description, that the details page includes information about any required In-App Purchases or subscriptions, and that customers without the app can download from the card. If you merchandise a battle-pass season as an In-App Event, the pass SKU and eligibility copy on that page must match what UA ads claim.
Apple’s Set a price for an In-App Purchase requires pricing before review, offers up to 800 default price points across 174 storefronts / 43 currencies, and notes Apple may auto-adjust non-base storefront prices for tax and FX while never changing the base country price without your action.
Shared launch checklist
- Confirm pass SKU product IDs, local prices and availability windows in App Store Connect / Play Console match the season brief.
- If using an App Store In-App Event, freeze event name, short description and required-IAP disclosure before creative lock.
- Freeze UA endcards and playables to the same reward names and end date as the live pass track.
- Record announcement date vs effective go-live separately; do not backdate either.
- Kill or pause previous-season creatives that still show expired rewards before paid spend ramps.
Facts vs limits
| Fact | Limit |
|---|---|
| In-App Event details can disclose required IAPs | Not every studio uses In-App Events; Android merchandising is a separate surface |
| IAP price points and storefront equalisation are documented | This checklist does not invent a market battle-pass price |
| Creative/SKU sync is an operator process | No public RACI template is claimed here |


