At a glance: Use this guide to enable new users a similar deep linking experience as existing users get when clicking on a custom link. After acquiring the attribution data from the SDK, use the same content-serving functionality you have already implemented for deep linking existing Universal Links and Android App Links users.
Scope of work
Note: This guide indicates when and how the marketer needs to involve the developers.
Approximately 1.5 hours, working together with your mobile developers.
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.
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.
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.
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 need to 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, in addition to normal attribution data, 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 new parameters. You can use the same 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 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.
- Send them these instructions in order to configure the app code to handle the parameters and values.
- Make sure to receive confirmation from the developers that the app behaves according to the selected parameters and values.
- 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, 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 (e.g. test) and the campaign name you set in the custom link.
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?
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".