Let’s say you’re looking for a new smartphone. To check out your options, you would go online, type in some keywords in the search box, scroll up and down, scratch your head a bit, and click on a link that seems most relevant.
If you’re familiar with navigating the internet as above, you would already know that a typical link looks like something below.
You would also be well aware that clicking a link takes you to a specific web page. Deep links are used to do the same thing in mobile environments.
What is deep linking?
Mobile users are directly sent to in-app destinations when they click on deep links on a web page or another app. This allows the users to access in-app content simply by clicking on an ad. Hence, deep linking is an essential part of mobile app marketing that significantly increases conversion and retention rates, optimizing user experience.
However, with deep linking technology ever-evolving, occasional crashes are inevitable. How can we do our best to avoid such hassle and make the most out of it? To begin with, let’s take a look at what deep links do and what URI schemes, Universal Links and App Links are.
Why do you need deep linking?
If a user who already has the app installed clicks on a deep link but is routed to an app store, he or she would leave immediately. The case would be the same if a user clicks on an advertisement of a product only to be sent to the app’s home page. In order to increase conversion and retention rates, thus retaining your hard-won users, you need to send them to the right destination. Deep linking creates a seamless user journey by making web-to-app navigation easier.
Three types of deep links
There are three deep linking technology standards: URI schemes, Universal Links, and App Links. They all bring users to specific in-app content but differ in settings. URI schemes were the first generation standard, but had its limitations which led iOS and Android to develop Universal Links and App Links, respectively.
Given the various types of deep links today, not only app developers but also marketers willing to implement deep links are often confused by the concept. Hence, we’ll begin by discussing the types of deep links and how each of them work.
1) URI schemes
URI schemes are the primary method for deep linking. This way, every in-app content is assigned a unique address which can be tapped by users to run apps and explore resources. Similar to URLs on the internet, URIs direct users to a specific page. The difference is that URLs mostly begin with http:// or https:// whereas URIs begin with a “custom scheme” registered by each mobile app.
- URI (Uniform Resource Identifier) is a unique string of characters that identifies a resource. URN and URL are subsets of URIs.
- URL (Uniform Resource Locator) is also a text string used to specify the location of a resource such as a web page, an image, or a video on the internet.
The following image shows the standard structure of a URI.
In the example above, airbridge:// is the scheme or the protocol. A mobile app can register its own custom URI scheme that distinguishes itself from others. That is to say, each app developer decides which scheme to use.
The rest consists of page/ko, the path to the resource, ?product=1, the parameter or the query string and #content, the anchor or the bookmark representing a specific part of the resource. (Learn more about URL syntax on MDN)
- A scheme is registered by the developer to distinguish the app from other apps.
- A path specifies a specific page in an app.
How Universal Links and App Links overcome the limitations of URI schemes
URI schemes were widely used because of their easy implementation. However, problems emerged as it was impossible to prove ownership of or reserve a particular scheme. With the number of apps increasing, multiple apps happened to register the same scheme, resulting in URI conflicts. In addition, any URI scheme defined by an app could be hijacked by another app. If two apps share the same URI-based deep link, an Android user can choose which app to open while an iOS user is automatically directed to the most recently installed app.
As an app’s scheme is not publicly open, there is no way for developers to make sure their scheme of choice is unique. To deal with this problem, Apple and Google have each developed deep linking protocols: Universal Links and App Links.
2) Universal Links and App Links
Universal Links and App Links are deep linking protocols used in iOS and Android, respectively. They overcome the limitations of URI schemes by registering the app’s domain names on the OS to help them prove their ownership.
A domain name is a distinctive address used to access websites. In http://www.airbridge.io/ko, airbridge.io is the domain name. Each and every domain name is unique, and can only be managed by the owner of the domain, assuring its ownership.
During the app development process, the developer registers its domain and verifies it by adding a TXT record to the DNS.. When the app is installed, the OS makes sure that the TXT record matches the one added during the app development process. Once the verification is complete, it stays valid unless the app is deleted.
When a user clicks on a deep link that is created by a verified domain,
- If the app is installed, a specific page within the app opens.
- If the app isn’t installed, deep linking fails and the user is sent to the domain’s web page. Various options for fallbacks are available once that happens; the user can be routed to a mobile web page or the app store.
Below is an example of a Universal Link/App Link.
How to set up deep links in Android and iOS
Now, let’s take a look at how to set up URI schemes, App Links (Android) and Universal Links (iOS).
How to enable deep links in Android
In your Androidmanifest.xml file, set up deep links for your in-app activities. Rather than assigning a different URI for each and every single activity, you can add multiple data tags to define the URI that the activity accepts.
The android manifest file contains the following information about your app:
- Attributes: package name, versionCode, and versionName
- Permissions
- Components: activities, services, broadcast receivers, and content providers.
As shown above, when using URI schemes or App Links, you can add an intent filter to your manifest file to specify the scheme, host, path and query parameters.
How to enable deep links in iOS
Deep links in iOS are configured to open a certain page, which in turn redirects to the final destination.
To work with URI schemes on iOS, register your scheme in Xcode from the Info tab of your project settings. Declare “URL Schemes” in the URL Type section, as shown in the following illustration.
To set up a Universal Link, open your Xcode project and enable the Associated Domains section in the Capabilities tab. Add an entry for each domain, as shown below.
What to be aware of when deep linking for app marketing
Even though Universal Links and App Links provide a solution to the ownership issue of URI schemes, they are far from an app marketer’s ideal. You need to be strategic about which deep link standards to use depending on the browser.
Universal Links and App Links work fine in the browser of its provider: Apple’s Safari and Google’s Chrome. However, Apple no longer officially supports URI schemes for deep linking whereas other browsers either exclusively support URI schemes or support Universal Links and App Links but only to a limited extent. Such discrepancy occurs as each in-app and mobile web browser has its API developed differently.
The table below summarizes how the three deep link mechanisms - Universal Links, App Links (https://www.airbridge.io) and URI schemes (airbridge://) - work in major in-app and mobile web browsers. If the user has landed on the web, this means that the deep link has not worked properly.
For Universal Links, you should also note that:
- Universal Links don’t work if the user directly pastes the link to the address bar.
- Universal Links aren’t triggered by JavaScript.
- Universal Links can’t be opened if your app uses openURL.
Since each in-app and mobile web browser supports different types of deep links under different conditions, running tests and changing settings accordingly are inevitable parts of the deep linking process. You may have to use URI schemes - even if you don’t want to - depending on how the browser is set up.
Moreover, URI schemes have no built-in fallback option, meaning that if the user doesn’t have the app installed, he or she will simply see an error page when clicking the link.
👉 Find out more about fallback redirect here
While user acquisition is an essential part of app marketing, users are likely to leave if they are routed to a web page or if deep linking fails.
How to make the best use of deep links in app marketing
Given such concerns, how could app marketers benefit from deep links and drive growth?
Start by setting up deep links based on your understanding of the three types of deep links. As it’s the app’s job to direct the user to specific in-app content, deep links have to be set up within the app in advance.
The next step is to use tracking links supported by MMPs or attribution solutions like Airbridge. When creating a tracking link for your app to capture touchpoints, configure it as a deep link. This allows you to:
- Provide a seamless user journey without having to run tests or change settings for every environment a user interacts with a deep link.
- Set up different fallback options for Android, iOS and desktop on the MMP’s dashboard. With tracking links, URI schemes not having a fallback option is no longer a problem
With Airbridge, you can specify the fallback path when creating a tracking link.
- Take advantage of deferred deep links, which take a user to the intended in-app content after first routing them to the app store to install the app. To create deferred deep links, you need to use an MMP.
Note that the app is responsible for directing the user to specific in-app content, and thus you first need to set up the links in the app. MMPs like Airbridge only follow the app’s deep linking settings.
Interested in perfecting your user journey with deep linking? Contact us today.
Read more Deep Linking 101 articles here
👉
👉