Overview
Encore placements let you present targeted offers at key decision points in your app. Each moment has different user intent and conversion characteristics. Start with the highest-impact moment and expand from there.Paywall Abandonment (Primary)
The highest-impact moment. A user has seen your paywall and is about to leave without purchasing. Present an Encore offer as a last chance to convert.- User has already shown purchase intent by viewing the paywall
- They’ve seen your pricing — an offer feels like a personalized win
- Highest conversion rate of any placement moment
- User taps “X” or swipes to dismiss the paywall
- User taps “Not now” or “Maybe later”
- User navigates back from a pricing screen
Churn Intercept (Secondary)
Catch users who are actively trying to cancel their subscription. Present a retention offer before they complete cancellation.- User is an existing subscriber — they’ve already paid before
- High willingness to stay if given the right incentive
- Prevents revenue loss from churn
- User taps a cancel/unsubscribe button in your settings
- User navigates to subscription management with cancel intent
- Before redirecting to the App Store subscription management page
Your
onPassthrough handler is critical here — if the user dismisses the offer, you must let them proceed with cancellation. Never block the cancel flow.Choosing a Placement ID
Placement IDs identify where in your app the offer was triggered. Use descriptive, consistent names:| Moment | Placement ID | Description |
|---|---|---|
| Paywall abandonment | paywall | User dismissed the paywall |
| Churn intercept | cancellation_flow | User initiated cancellation |
| Feature gate | feature_gate | User hit a premium feature wall |
| Upgrade prompt | upgrade | User shown an upgrade path |
Handling Results
Regardless of which moment you target, the same handlers apply:Promotional Offer Handling
For retention moments like churn intercept, Encore can include a promotional offer with the purchase request. When a promotional offer is configured in your Encore dashboard, thePurchaseRequest object will contain a promoOfferId alongside the productId. Your onPurchaseRequest handler must apply this offer during purchase.
Promotional offers are configured in App Store Connect and linked through your Encore dashboard. The
promoOfferId is only present when Encore determines the user should receive a promotional offer — standard purchases will have promoOfferId set to nil.- StoreKit
- RevenueCat
- Adapty
- Qonversion
When no
onPurchaseRequest handler is set, Encore handles promotional offer signing and purchase automatically through native StoreKit. This is the recommended approach for apps using StoreKit directly.To enable automatic signing, provide your In-App Purchase key in the Encore dashboard under Entitlements → Promotional Offer Setup. See Create a Promotional Offer for setup instructions.Next Steps
- Present Offers (Quickstart) — Basic integration walkthrough
- Using RevenueCat — RevenueCat-specific purchase handling
- Using Superwall — Superwall-specific purchase handling
- Using Qonversion — Qonversion-specific purchase handling