Create a universal link
Raw universal links with an Adjust link URL appended are the standard format of our universal links. They are short, tidy, and work in web campaigns.
A raw universal link will only work for users with iOS 9+ and who already have your app installed.
Adding in-app paths
If your universal link path already includes query parameters, avoid using ?
to append Adjust parameters. When two ?
characters are used in a URL, any information after the second will be dropped by the browser, which may result in an HTTP 404 error if your app is not installed. You can use the example below to confirm your setup, or check our Universal links FAQs for more information.
Correct: https://z9pm.adj.st/my?path=location&client=name&adjust_t=klm012
Incorrect: https://z9pm.adj.st/my?path=location&client=name?adjust_t=klm012
Create multi-platform universal links
A multi-platform universal link will deep link all of your app users with a single Adjust URL.
To create your own multi-platform universal link, first identify whether your iOS and Android apps share the same path and query parameters. This determines what format to use.
Next, make sure your Android App Scheme is saved in Adjust. This specifies the URL prefix that opens your app. It is configured in your app and specific to each mobile platform (iOS and Android). Example: my_android_app://
iOS and Android share the same path & query parameters
When your deep link destination shares the same path and query parameters in both your Android and iOS apps, use the following universal link format.
For apps separated by platform in AppView
https://[RAW UNIVERSAL LINK]/[PATH]?adjust_t=[IOS LINK TOKEN]_[ANDROID LINK TOKEN]&[ADJUST PARAMETERS]
Example:https://z9pm.adj.st/my/path?adjust_t=abc123_987xyz
For apps configured as multi-platform in AppView
https://[RAW UNIVERSAL LINK]/[PATH]?adjust_t=[LINK TOKEN]&[ADJUST PARAMETERS]
Example:https://z9pm.adj.st/my/path?adjust_t=abc123
iOS and Android apps have different paths and query parameters
When your deep link destination does not share the same path and query parameters in both your Android and iOS apps, use the following universal link formats.
For apps separated by platform in AppView
https://[RAW UNIVERSAL LINK]/[IOS UNIVERSAL LINK PATH]?adjust_t=[IOS LINK TOKEN]_[ANDROID LINK TOKEN]&adjust_deeplink=[ENCODED ANDROID APP SCHEME + PATH]&[ADJUST PARAMETERS]
Example:https://z9pm.adj.st/my/path&adjust_t=abc123_987xyz&adjust_deeplink=myamazingapp%3A%2F%2Fsuper%2Fexclusive%2Fpromotion
For apps configured as multi-platform in AppView
https://[RAW UNIVERSAL LINK]/[IOS UNIVERSAL LINK PATH]?adjust_t=[LINK TOKEN]&adjust_deeplink=[ENCODED ANDROID APP SCHEME + PATH]&[ADJUST PARAMETERS]
Example: https://z9pm.adj.st/my/path&adjust_t=abc123&adjust_deeplink=myamazingapp%3A%2F%2Fsuper%2Fexclusive%2Fpromotion
Create Javascript universal links
Javascript universal links (JSR) are used when a click and HTTP redirect happen outside of supported environments, like in an email campaign. Typically, universal links break in this instance and send all users to the store, even if they have the app installed.
You need to set universal linking in your app for JSR to work.
For iOS 11 and later
To add the JSR linking parameter to your link, follow these steps.
- Find the universal link you want to use. Example:
https://ab12.adj.st/?adjust_t=abc123
- Encode your universal link.
- Append your encoded universal link after this:
https://app.adjust.com/jsr?url=
Example:
https://app.adjust.com/jsr?url=https%3A%2F%2Fab12.adj.st%2F%3Fadjust_t%3Dabc123
For iOS 10.3 and earlier
To target users in Safari webview or iOS versions earlier than 11, you can add the following flag to your JSR universal link: adjust_deeplink_js=1
. The flag works as a fallback, prompting the link to open via a scheme and directing users either to the store (if they don't have the app installed) or to a pop-up inviting them to open the page in your app.
Example:
https://app.adjust.com/jsr?url=https%3A%2F%2F6s45.adj.st%2F%3Fadjust_t%3D1uhwo6%26adjust_deeplink_js%3D1