Skip to main content
After a visitor pays, Funeli can take them into your product with access already granted. There are two ways: App handoff for a mobile app with RevenueCat or Adapty, and Web handoff for a web app with your own backend.

App handoff (RevenueCat or Adapty)

1

Connect the app

In the project settings, open App and connect RevenueCat or Adapty with its server credentials. Add the App / universal link that opens your app and, if you use AppsFlyer, the AppsFlyer OneLink for visitors who still need to install it.
2

Map plans to access

In the funnel’s Settings, App handoff section, choose the provider and map each plan to the entitlement (RevenueCat) or access level (Adapty) and its duration.
3

Redeem in the app

After purchase, the buyer gets a link that opens your app with a one-time handoff token. Your app sends the token and its app user id to Funeli, and Funeli grants access through the provider based on the verified purchase.
RevenueCat receives a promotional entitlement. Adapty validates the real Paddle or Stripe subscription and binds it to the app user. A token is bound to one app user; another user cannot redeem it.

Web handoff

For a web app, turn on the web redirect in the funnel’s Settings, Web handoff section, or set one for the whole project so every funnel inherits it. After a verified purchase and the final success step, the buyer is sent to your URL with a temporary handoff token. Your backend exchanges the token with Funeli for the verified purchase, the answers you allowed and the visitor’s UTM parameters and ad click ids.
A redirect alone does not prove payment. Always exchange the token on your backend, or verify payment from the provider’s signed webhook, before granting access.

Troubleshooting

Check the App / universal link in the project’s App settings and that your app handles it. For visitors without the app, add an AppsFlyer OneLink so the install carries the handoff token.
A token can be redeemed by one app user only; the same user can redeem it again and gets the same result. Check that the plan is mapped to an entitlement or access level in the funnel’s App handoff settings and that the provider credentials pass their checks.
Access comes from the verified purchase and the plan mapping, never from parameters in the link. Fix the mapping for that plan and publish the funnel.