Skip to main content

Overview

Present Encore retention offers when users dismiss your RevenueCat paywall without converting.

Presenting Offers

Option 1: Using PaywallView

If you’re using RevenueCat’s PaywallView component, use the onRequestDismiss callback to trigger Encore:

Option 2: Using presentPaywallIfNeeded Modifier

If you’re using the .presentPaywallIfNeeded modifier, use the onDismiss callback:
See the SDK Reference for complete API details: placement() and onPurchaseRequest()

Handle Offer Results

Register RevenueCat as your purchase handler at app launch so Encore delegates purchases automatically.

Register onPurchaseRequest

Register onPassthrough

Called when the user dismisses the offer or no offers are available. Use this to resume the user’s original action.

Alternative: Automatic StoreKit Purchase

If you don’t set onPurchaseRequest, Encore purchases via native StoreKit 2 automatically. RevenueCat can auto-detect these transactions when configured in observer mode.

Setup

  1. Configure RevenueCat to observe external purchases:
No onPurchaseComplete handler is needed — RevenueCat auto-detects StoreKit transactions in observer mode.

Configure Analytics

Forward subscription events from RevenueCat to Encore

Configure RevenueCat to forward subscription events to Encore. In your RevenueCat dashboard:
  1. Go to Project Settings -> Integrations -> Webhooks
  2. Create a new webhook with URL https://api.encorekit.com/encore/webhooks/revenuecat/<your-token> (your token is provisioned by Encore — see the note below)
  3. Save
RevenueCat will now POST subscription lifecycle events (renewals, cancellations, refunds) to Encore. This powers offer impact measurement.
Your RevenueCat webhook token (an rcw_… value) is issued by Encore and surfaced in your dashboard. Unlike your SDK API keys — which you retrieve yourself — this third-party webhook token is provisioned during onboarding, so share your RevenueCat project details with Encore to receive it.
Custom server infrastructure? If you already operate your own ASSN proxy that fans out to multiple destinations, you can forward to Encore from there instead. This is an obsolete fallback — the webhook approach above is preferred for all new integrations.