Learn about the purpose of deep linking and what technologies are used to implement deep links.
For information about deep linking in Singular, see the Singular Links FAQ.
Deep links drive returning users directly to the heart of your application, much like regular web links direct users to a specific page within a website. After doing a little leg work to implement deep links in your app, you can lead users straight into your app to a specific screen, or create customized experiences the moment they enter the app.
Developers have been using different methods to enable deep linking:
Note: Singular Links technology was developed with iOS and Android deep link trends in mind. When you generate a tracking link in Singular, the link is automatically enabled with the compatible deep linking technology, including Apple Universal Links, Android app links, and Android intent technology. In addition, the Singular SDK is designed to simplify the usage of deep links and deferred deep links. See the Singular Links FAQ for more information.
- URI Schemes (e.g. "myapp://path/to/page?pageid=1"): Also known as "app scheme" deep linking. In this legacy deep linking method, the app developer registers a “scheme” for the app, so that the device platform knows it needs to open the app whenever a user clicks a link with that scheme - in our example, any link starting with “myapp://”.
- If the app is installed on the device, it opens, and then parses the rest of the link and shows the user a specific page within the app or delivers a specific experience accordingly.
- If the app is not installed on the user’s device, this results in an error. There is no fallback URL.
- iOS Universal Links (iOS 9+): This technology was developed to improve on URI-scheme-based deep linking on iOS. When using this technology, the app developer first sets up a verified web domain (e.g. "myapp.com") to serve Universal Links for an app. When a user clicks a Universal Link (e.g. "https://www.myapp.com/path/to/page?pageid=1"), the device platform knows it needs to open a specific app.
- If the app is installed on the device, it opens, and then parses the rest of the link and shows the user a specific page within the app or delivers a specific experience accordingly.
- If the app is not installed, the user is taken seamlessly to the web URL, using the device’s default browser.
- Android App Links (Android 6.0+): Android's improvement on URI-scheme-based deep linking. When using this technology, the app developer first sets up a verified web domain to serve App Links. When a user clicks an app link, the device platform knows it needs to open a specific app.
- If the app is installed on the device, it opens, and then parses the rest of the link and shows the user a specific page within the app or delivers a specific experience accordingly.
- If the app is not installed, the user is taken seamlessly to the web URL, using the device’s default browser.
Deferred deep linking is another improvement on deep links. With this technology, if a user clicks on a deep link and does not have the app installed on their device, not only is the user directed to an app store, but the deep link parameters (what page or customized experience to show to the user) are actually not lost. If the user later installs the app from the app store and opens it, the app accesses the deep link parameters and shows the user the intended customized experience.
Unlike deep linking, deferred deep linking is generally only possible with the help of an attribution tracker:
- The tracker collects information about pre-install touchpoints (clicks and views) meant for the mobile app.
- The tracker’s SDK, implemented inside the app, can access that pre-install context.
- The app uses the SDK to find out what deep link the user originally engaged with and serve the intended page or customized experience when the app is opened for the first time.
Though deep linking is an incredibly useful way to engage with your users. However, to properly use it for your marketing channels, you should be familiar with its usage and limitations.
Limitations of URI (App) Schemes
Using URI (app) schemes is generally not recommended, because if the app is not already installed on the user’s device, clicking a link will cause an error and drastically reduce user engagement.
On iOS, URI scheme deep linking may be the only way deep link the user in cases the preferred method, iOS Universal Links, may fail. However, keep in mind that the end-user experience when using URI scheme deep linking are not ideal, and the user may see pop-ups depending on their default iOS browser:
Examples of the User Experience with URI scheme deep linking on iOS | |
![]() User confirmation before deep linking |
![]() User pop-up "error" if app is not installed. Upon clicking "OK", the user continues to the fallback destination |
On Android, you can work around this by using Android intents to direct the user to the Google Play store instead of being shown an error message.
In addition, URI-scheme deep linking has security vulnerabilities: other apps can register the same URI scheme as your app and hijack your deep links.
Limitations of iOS Universal Links
- Social Media Apps: Some social media apps intentionally break or limit deep links that try to take the user out of the social media app. These are often social media apps that open links in an internal web browser view.
- Link Wrapping: Universal Links can’t work with link wrapping, where another URL redirects to the universal link. Link wrapping includes link shorteners such as bit.ly.
- Pasting in Browser URL Field: Universal Links will not deep link if you enter the link into a mobile browser's URL field.
- Triggering Links with Javascript: Scripts that trigger URL redirects will not deep link unless it is part of a user action.
Limitations of Android App Links
- Social Media Apps: Some social media apps intentionally break or limit deep links that try to take the user out of the social media app. These are often social media apps that open links in an internal web browser view.