At a glance: Enable new users to get a similar deep linking experience as existing users when clicking on a custom link.
![]() |
![]() |
![]() |
![]() |
Scope of work
Who's involved
Note: This guide indicates when and how the marketer needs to involve the developers. |
Prerequisites
|
Time required Approximately 1.5 hours, working together with your mobile developers. |
Outcome Using the same custom link explained in OneLink 3/4, new users who click it are sent first to the correct app store to download and install your app. With the first launch, new users are served with specific content (or a specific experience) in the app. These users are attributed by the click/install to your defined owned media sources. |
Example
Mark's email campaign (from the previous guide's example) about healthy fruits successfully deep linked existing app users to the fruit pages inside Feed Me's app.
However, Mark knows that many people reading the email don't yet have the app installed. He wants these potential users to enjoy the same campaign offering as existing users do, to increase conversions and user satisfaction.
With the help of Andrea the Android developer, and Yossi the iOS developer, Mark adds deferred deep linking ability to Feed Me's apps. New app users who click the OneLink in the email and install, go straight to the fruit page when they open the app for the first time.
Procedures
Deferred deep linking for new users is enabled by using parameters and values from the custom attribution link. When a user clicks your custom link, AppsFlyer parses and delivers the attribution data to your app's internal code.
Inside the app, the code written by the mobile developer receives the parameter information via the AppsFlyer SDK (if integrated) and makes the app do something specific, e.g. navigate to a particular page.
Note
Deep linking existing app users with Apple Universal Links, Android App Links, and URI schemes opens the mobile app. However, to serve users with specific content in the app, developers must access the deep link information using the AppsFlyer SDK.
Deferred deep linking is very similar. When launching the app for the first time, developers access the deep link information using an AppsFlyer SDK method. Using this information, developers can direct new users to personalized content.
Complete the following procedures to achieve these goals.
1. Implementing deferred deep linking
To implement deferred deep linking:
- Custom attribution link setup.
- If you use the same custom link you created using the previous guide, you don't need to set a new deep_link_value (or other new parameters). You can use the same deep_link_value parameters already configured.
- If you want to create new parameters, follow the instructions in the previous guide.
- Contact your iOS and Android developers.
- Agree on the deep_link_value (and other parameters and values) to be used after getting the attribution data from the SDK on the first launch. If you followed the instructions in the previous guide, then you already have it agreed, and now just need to implement the same logic for new users. See parameter name limitations.
- The developers implement the desired behavior in the code. Share the guide so they understand the technical flow and see examples:
- Unified deep linking (UDL) for Android and iOS: For deep linking AND deferred deep linking new or existing users, with or without your app.
Considerations for unified deep linking: 1. Requires SDK V6.1 or later. 2. SRN campaigns not supported. 3. af_dp parameter can launch the app via URI scheme, but is not available in API response. - Note: Customers already using OneLink may be using the legacy methods for Android and iOS, instead of UDL.
- Unified deep linking (UDL) for Android and iOS: For deep linking AND deferred deep linking new or existing users, with or without your app.
- Make sure to receive confirmation from the developers that the app behaves according to the selected parameters and values.
2. Testing
Prerequisites:
- An Android and/or iOS device without the app installed.
Deferred deep linking is for new app installs, so any version of the app must be removed. - The testing device must be registered.
If the device is not registered, then deferred deep linking doesn't work, and repeated installs can't be attributed. - Find various conversion data response scenarios here.
To test your link:
- In the AppsFlyer dashboard, go to Engagement & deep linking > OneLink Custom Links.
- Hover over the Actions icon of the link you want to test and click Get URL.
- Send the short or long URL to your phone. You can either:
- Scan the QR code with your phone camera or QR scanner app.
- Email or WhatsApp yourself the link, and open it on your phone.
Note: Do not paste into iOS notes, or directly into a mobile browser. Often, the mobile operating system intentionally will not open the app in this context.
- Click the link on your mobile device.
It should redirect you to the app store to download the app. Don't download! - Install the new app version created by your developer.
- Open the app.
It should open to the specific page or personalized experience you chose. - In the AppsFlyer Overview dashboard look for a new attributed install.
Look for a new click and install under media source (for example, test) and the campaign name you set in the custom link.
Link not behaving as expected? Check out our troubleshooting guide.
If you completed the procedures in this article, then congratulations! You have implemented deferred deep linking for all your potential users, who would get campaign-specific content in the app the first time the app opens.
Before embarking on a full-scale deep linking campaign we recommend visiting the Best Practices for Deep Linking article. It covers typical pitfalls and solutions for implementing mobile deep linking with OneLink.
FAQs and Limitations
The following sections contain various FAQs and general explanations about deferred deep linking.
How long does it take to get the deferred deep linking data?
The AppsFlyer SDK is responsible for enabling access to the attribution data from within the app.
- On the first app launch, accessing the attribution data from the AppsFlyer SDK might take a few seconds.
- In the following sessions, the access is immediate, as the attribution data is stored on the device.
Why can't I see deferred deep linking data from Facebook?
According to Facebook's privacy policy, AppsFlyer (or any other mobile measurement partner) cannot provide user-level attribution for Facebook installs unless the marketer accepts Facebook's Terms of Service.
If the Terms of Service are not accepted yet, Facebook Mobile Ads installs are categorized as ‘Organic’ and the marketer is unable to receive the user-level data for Facebook installs. Without the user-level conversion data, deferred deep linking can't be performed.
Find more details here.
Can I store conversion/deferred deep linking data?
Conversion data may be used to store raw user data in your backend, in addition to deferred deep linking purposes. However, as this method is required to return the fastest responses, it is the least recommended method for preserving the final attribution data.
Click here to read about selecting the best data APIs for you.
Are there any parameter name limitations?
Conversion data will not return a custom parameter named "name, " with a lowercase "n".
iOS 14 and deferred deep linking
There is no user experience impact to iOS 14 users who are deferred deep linking from campaigns on ad networks and owned media.
For attribution/reporting purposes, AppsFlyer uses IDFA or IDFV when available. If they aren't available, probabilistic modeling may be used in the context of owned media, cross-promotion, and consented web-to-app flows. That said, iOS 14 may affect deferred deep linking from ad network campaigns that rely on IDFA. We advise customers who want to implement deferred deep linking from ad networks and owned media to use AppsFlyer iOS SDK V6.1.0+ and allow flexibility in ATT consent (if needed), to mitigate the overall impact and benefit from faster response times.