Deep links are a handy tool for pushing users to directly interact with your app. You can send them straight into your app, rather than over to the App Store. When using deep links in advertising or in marketing, you might also like to track how that outreach works for you. Adjust can automatically track deep links, as well as defer deep links, conditionally redirect people to the App Store or other locations, and more.

For all following setup options, you can create any campaign structure desired and use any other tracker parameters together with deep links. For more information on campaign structure and tracker configuration, please see the tracker generation guide.

Note that in all instances, deeplink and deep_link are equally valid parameters.

Note: The following page contains examples using a minimum-length tracker token. Always use the entire tracker token as displayed in your Adjust Campaign Wizard.

Deep links are a type of link that, when clicked on or redirected to, sends users directly into your app instead of to a website or the App Store. These are in-built into the mobile OS, like iOS or Android, and can be created for your app by adding certain registrations.

A deep link specifies a custom URL scheme (iOS - see also Universal Links) or an intent URL (Android) that will open your app if it is already installed. You can use deep links to launch the app, as well as to direct users to specific pages.

For example, you can specify myapp:// as your custom URL scheme, and then pass various types of data through the deep link:


This can be captured in your app to open the product page for the product with ID “650”. These are features that you can integrate into your app yourself, and then use in conjunction with Adjust.

If you have deep links registered in your app and would like to use them while tracking user behaviour and acquisition with Adjust, you can simply add the deep link to the “deep_link” parameter of your tracker URL:

Generally, you should encode the deep link before attaching it onto the URL to make it URL-safe. Data may be dropped from trackers and deep links if you attach unencoded deep links to tracker URLs.

(For more on how to append parameters to your links, check out the guide to tracker generation.)

If the app is installed, we will:

  • send the user into your app with the deep link;
  • reattribute the user onto the f0ob4r tracker;
  • track any future activity from that user on f0ob4r.

If the app is not installed, we will:

  • send the user to the App Store;
  • reattribute the user onto the f0ob4r tracker and track any future activity on f0ob4r;
  • defer the deep link, that is to say, open it after the install;
  • unless you have specified a different fallback or redirect, in which case we send them to your fallback.

Please note, the user will only be reattributed when the app has set the deep link reattribution in the SDK.

When a user clicks on a URL with a deep link, Adjust will automatically test the link to see if the user has the app installed. If the app isn’t installed, Adjust sends the user to a fallback of your choice - by default, the App Store. This is a deep link fallback.

If you want to send the user somewhere other than the App Store, you can override the deep link fallback with the redirect parameter. For example, to send users to your mobile website instead, you can set your tracker link as follows:

This will test the deep link and fall back to if the app isn’t installed.

4Deferred deeplinking

You can add a deep link to your tracker and direct your users to a specific site in your app immediately after install. For example, if you are promoting your app with a voucher campaign you can direct your customers directly to an in-app page for the voucher.

Deep links are automatically deferred by Adjust, once you add the deep link to a tracker.

Deferred deeplinking will not work if the linked page is not accessible directly after the install. For example, if the page is only available after an onboarding routine, or otherwise blocked until a later point, the deep link cannot be directly deferred. The deep link would still be called, though, and executed for users who have access to that page.

Note: Attempting to use both the Adjust SDK and the Facebook SDK for deferred deeplinking will stop the feature from working. While Adjust supports Facebook deferred deeplinking by default, you will need to notify us first if you would like to deeplink through your own means or through the Facebook SDK. Please contact if you wish to use your own deeplinking or deep link through the Facebook SDK.

If you have further questions, please reach out to

5Retargeting and deeplinking

You’ll often use deep links in retargeting campaigns. In this case, you can set your retargeting network to send traffic to us directly, and we can handle all requisite attribution and deep link logic.

You define your campaign tracker and append the required device IDs, as described in our deeplinking guide.

Once you have created a tracker for your retargeting campaign, you can simply add the deep_link parameter to the URL:[EXAMPLE]&deep_link=example://

Links that look similar to the above (and carry those parameters) will execute the following logic:

  • If the user does not have the app installed, and never has, then the user will be sent to the App Store as per a usual tracker link and is attributed to the campaign.
  • If the user does not have the app installed but has had the app before (and is known to Adjust), then the user will be sent to the App Store and reattributed onto the campaign.
  • Any user that then installs or reinstalls the app will be sent to the deep link as soon as they open the app - the deep link is deferred.
  • If the user still has the app installed, then the user will be deeplinked into your app and reattributed to your new campaign.

Any inactive user that converts from that link will be reattributed to your new campaign. In order for reattributions to be triggered users have to be inactive based on the set reattribution window.

You can also track retargeting and re-engagement campaigns that use deep links directly by manually adding attribution data onto the deeplink.

To be completely URL-safe, you should encode your custom URLs and make sure that any adservers involved do not interfere with the particular encoding of the URL.

The process and caveat are similar to install callbacks. Any of our certified partners are able to safely handle partially encoded URLs.

For re-engagement and retargeting campaigns, you can track the performance of campaigns driven with deep links using deep link reattribution. This works just as well with deep links directly (meaning without using Adjust tracker links) as when you use a tracker link.

When a user lands in your app from a deep link, Adjust can pick up data on where the user came from, provided that this is added into the deep link.

Reading this data is a feature that you can activate in your app. Please read through the SDK readme for detailed instructions on how to set this up within your app. This feature cannot be used unless it’s been explicitly integrated into your app.

If you are sending users to a tracker link with a deep_link parameter, deep links will automatically trigger reattributions. In order for reattributions to be triggered users have to be inactive based on the set reattribution window.

If you are using deep links directly (without a tracker link), you can manually add the attribution data.

A user being re-engaged over a direct deep link will be reattributed the same way as if they were re-engaged with a retargeting tracker. When they enter the app, Adjust will track their re-engagement and move that user over to the tracker that you specify.

This feature must be activated in your SDK.

For example, if we set up a tracker,, for your new re-engagement efforts, we can specify this on the deep link as follows:


Note that you should not include the URL (, only the alphanumeric tracker token (f0ob4r).

You can also add campaign structure parameters, similar to regular trackers:

Parameter name Function
adjust_campaign Campaign-level structure parameter
adjust_adgroup Adgroup-level structure parameter
adjust_creative Creative-level structure parameter

Trackers can be configured with a number of parameters, as described in the tracker generation guide. These parameters have the same behaviour when you use them together with deep links. For example, § the deep_link parameter together with fallback redirects non-mobile users to the fallback, while still executing the deep link logic for mobile users.

For iOS 9 and above, you should implement Universal Links with Adjust to activate deeplinking functionality. This is covered in more detail in a separate guide.

Safari supports Smart App Banners for iOS 6 and later. Smart App Banners detect whether or not an advertised app is already installed on a user’s mobile device and will direct users accordingly: users with the app installed will be directed to the app, while users who do not have the app installed will be pointed to the App Store.

Smart App Banners are added to a mobile site with a simple HTML tag, and you are able to attribute users to these banners via deep link reattribution. Simply add a deep link URL with Adjust parameters, as per above, into the app-argument parameter in the following tag:

<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">

The SDK will automatically capture the parameter and attribute the user to the specific Smart App Banner they came from.

For full instructions on implementing Safari Smart Banners within your website, be sure to review the complete documentation in the iOS Developer Library.

10Known issues & troubleshooting

  • We are aware of an issue whereby deep links may not be opened on a Chrome browser on Android. The issue specifically appears if you set the Adjust tracker URL with an attached deep link as the destination (href) of a link with target=_blank. This is an edge case that appears due to the way Chrome handles intent URLs. The recommended solution is to not use target=_blank.