Deferred Deep Linking with Attribution Analytics

When you add a standard deep link, Attribution Analytics checks the device to see if the app is already installed: if so, then the app launches directly to the specified deep link URL; if not, then the user is taken to the appropriate app store page to download and install the app (the deep link URL gets ignored).

When you add a deferred deep link, Attribution Analytics also performs app detection and if it’s an existing user, launches the app directly to the specified deep link URL. Otherwise, the user is taken to the appropriate app store page to download and install the app:

Deferred_Deeplinking_with_iOS_1_Process_Diagram.png 
Instead of discarding the deep link URL after install (as in the case of standard deep linking), Attribution Analytics provides a separate web service endpoint that lets your app SDK perform lookups for deferred deep link availability. So on the first app-open event, your app can render a specific screen or page in the app instead of the default one. That means you can direct users to a specific part of your app even if they don’t already have the app installed.

To create deferred deep links in Attribution Analytics, follow the steps on creating standard deep links described at Creating and Using Deep Link URLs.

For technical implementation details and requirements for deferred deep linking, visit our developer documentation on Implementing a Deferred Deep Link.

Enabling Deferred Deep Linking

You can enable deferred deep linking at the account level as well as on a per app basis. To enable deferred deep linking for all of your mobile apps:

  1. In Attribution Analytics, go to Applications > Settings.
  2. Set Deferred Deep Linking to Enabled.
  3. Click Update.

For Device Fingerprint Matching

TUNE supports deferred deep link attribution via both deterministic identifier matching (e.g. using Google AID or iOS IFA) and device fingerprinting. To enable deferred deep link attribution via device fingerprinting once you’ve enabled deferred deep linking:

  1. Toggle the Deferred Deep Linking setting to Enabled.
  2. Set Fingerprint Matching Window to Enabled.
  3. Click Update.

Note: TUNE supports only a 2 hour window when using the fingerprint attribution methodology.

iOS Example

The following video clip shows an example of an iOS deferred deep link to a High Scores/Leaderboard screen: a new user (who does NOT have the app installed) clicks the TUNE link and gets redirected to the iTunes App Store to install the app. But then on first app open, the app opens directly to the Leaderboard screen (the deferred deep link) instead of its default homescreen.

Deferred_Deeplinking_with_iOS_2_AniGifExample.gif

Android Example

The following video clip shows an example of an Android deferred deep link to a chat room: a new user (who doesn’t have the Hello Chatty app installed) sees an ad that offers a free account to users who submit a username, select their gender, and provide their age. The ad captures this input (and may dynamically include the values as parameters in the TUNE link) and redirects the user to the Google Play Store to install the app. But then on first app open, the app opens directly to a Chat Room (the deferred deep link) instead of its default homescreen.

Deferred_Deeplinking_with_Android_2_HelloChatty.gif

Android Browser Compatibility

Please be aware that there are some subtle variations in how different versions of mobile browsers handle deep link URLs on Android:

  • Chrome v34+: Renders the intent-formatted deep link URL (for example, market://details?id=com.test.mobileapptracking)
  • Chrome v33 and lower: Doesn’t invoke the deep link URL but redirects to Google Play
  • Naver: Doesn’t invoke the deep link URL but redirects to Google Play
  • Firefox: Renders the appscheme-formatted deep link URL (for example, myapp://screen123)
  • Other browsers: Renders the appscheme-formatted deep link URL (for example, myapp://screen123)

iOS Browser Compatibility

Please be aware that there are some subtle variations in how different versions of mobile browsers handle deep link URLs on iOS:

  • iOS 8 with Safari or Chrome: If app is not installed, then deep link clicks redirect users to the iTunes App Store. If app is installed, then deep link clicks open a pop-up message asking users if they want to open the app.
  • iOS 9 with Chrome: Same as iOS 8 with Safari or Chrome
  • iOS 9 with Safari: If app is not installed, then deep link clicks open a pop-up message stating “Failed to open link”; tapping Okay opens another pop-up message asking users if they want to “Open app in iTunes Store”. If app is installed, then deep link clicks open a pop-up message asking users if they want to open the app.

More Details About Deferred Deep Links

Attribution Analytics cannot guarantee deferred deep linking functionality, especially in cases where the first app open event occurs much later than the ad click. For example, if a user doesn’t open an app until 12 hours after install, then there is no guarantee that the deferred deep link will open. But if a user first opens the app within a limited window (roughly 2 hours) after app install, then the deferred deep link will work.

Our SDK includes a built-in action for the app open event that pings our deep link endpoint to retrieve available deferred deep links and open the deep link if provided. If you need to troubleshoot deferred deep links, make sure you’re using the latest version of the TUNE SDK and that the deferred deep link call is enabled in your app.

In most cases, your app will open its default homescreen unless our endpoint specifies a particular deep link URL (returns a successful lookup with HTTP Response Code 200 and a JSON response that includes the deep link URL).

7 Comments

Leave a reply
  • FICOOO  •  April 5, 2017

    Does iOS 10 supports deferred deeplinks ? Because i've read the documentation and it said : " Beginning with iOS 10, iOS doesn't support deferred deep linking, so you can't open content other than the starting screen once people have installed the app. " . How to handle it in iOS 10 ?

    • Grace  •  April 11, 2017

      Hello!

      It seems you are referring to this StackOverflow comment? Just as the last answer from Branch states, this is not a problem with the iOS 10 operating system itself. Deferred deep linking works just fine for iOS 10 using the TUNE SDK.

      • Anton  •  May 9, 2017

        Never worked for me so far... No matter what I do... I either get 404 in error callback, or no callback at all...

        • Grace  •  May 11, 2017

          Hello Anton,

          Our highly knowledge support team can help you troubleshoot the situation you're running into with deferred deep linking using the TUNE SDK. You can submit a ticket or set up a call here.