You’ll need an active Adapty UA, AppsFlyer, or Adjust account to implement deep links.
Deep links
Deferred deep links (DDLs) enable you to pass information (such as user identifiers or tokens) through a single link that can:- Redirect new users to the App Store if the app isn’t installed.
- Automatically open the app if it’s already installed.
- Deliver metadata (like authentication tokens) into the app on first launch, even after installation.
Prerequisites
Before setting up deep links, ensure you have:- Adapty UA tracking link configured, an AppsFlyer account with OneLink configured, or an Adjust account. You can also use any other DDL provider of your choice.
- Mobile app with the Adapty, AppsFlyer, or Adjust SDK integrated.
- FunnelFox funnel ready for button configuration.
Configuration
Setting up deferred deep links requires configuring both your funnel and mobile app to pass and receive user identification data.1. Funnel setup
- Adapty UA
- AppsFlyer
- Adjust
1
Create iOS and Android links in Adapty UA
- Open Adapty UA in the Adapty dashboard.
- Create an iOS tracking link and an Android tracking link.
- Append a deferred data parameter to each link to carry the user ID using user variables:
- For the iOS link, add
&ios_deferred_data={{user.id}}. - For the Android link, add
&android_deferred_data={{user.id}}.
- Copy the click links you’ll use in the funnel. Example URLs:
Learn about deferred deeplinks in Adapty UA.
2
Add button elements with conditional visibility
Adapty uses a different deferred data parameter for each platform, so your funnel needs one button per platform.
- Add two Button elements where you want the app redirect (one for iOS, one for Android).
- Use conditional visibility on each button with a Device OS condition: show the first button only on iOS and the second only on Android.
- Configure each button with an External Link action.
3
Set the deep link URLs on the buttons
Paste the Adapty UA links from step 1 into the buttons:
- Set the iOS button link to the iOS Adapty URL containing
ios_deferred_data={{user.id}}. - Set the Android button link to the Android Adapty URL containing
android_deferred_data={{user.id}}.
You can use other identifiers like
{{user.session_id}} or custom properties depending on your authentication flow.2. Mobile app setup
The goal is to get the user ID into the app and use it for identification (e.g., with Adapty).- Adapty UA
- AppsFlyer
- Adjust
When a user clicks an Adapty UA link, Adapty saves the click data (including any
ios_deferred_data or android_deferred_data value you appended).After the user installs the app and opens it for the first time, Adapty matches the install to the click and delivers the payload to the SDK through the onInstallationDetailsSuccess callback.Set up your mobile app in three steps:- Implement the
onInstallationDetailsSuccesscallback on the Adapty SDK. - Parse
details.payload(an escaped JSON string) and readios_deferred_dataon iOS orandroid_deferred_dataon Android. - Identify/authenticate the user using the extracted value.
- Swift
- Kotlin
- React Native
