Deep linking: From URL and URI schemes to Universal Links, App Links, and beyond

If links are to be used everywhere, they need to work everywhere. Today we’ll recap how the evolution of URL and URI schemes has impacted Universal Links and App Links, and discuss the vital importance of optimizing deep linking strategies in a fragmented market.

 

URLs and URIs to Universal Links and App Links

The road from compelling customer experiences to defensible long-term value is paved in acronyms and dotted with potential wrong turns. Knowing the history and mechanics of how links work can help developers, marketers, and product leaders more accurately predict where the mobile industry is going next. Before diving into Universal Links and App Links, let’s quickly review URL and URI schemes.

A Uniform Resource Locator (or URL) is used to make websites, files, email addresses, and other resources available via a browser. Standard URL protocols such as https://, https://, ftp://, and mailto:// conform to URI syntax, meaning every URL is a URI (Uniform Resource Identifier). URIs expand upon URLs to include a string of characters that direct users to a unique location.  For example: https://branch.io/resources/case-study may commonly be referred to as a URL. Characters beyond the protocol (https://) represent the URI portion of the web address and are essential to reaching an intended destination. (For additional details on the differences – and occasionally disputed nuances – between a URL and a URI, visit stackoverflow.)

In the early days of app development, URI schemes were the primary method of deep linking into apps on both iOS and Android. However, as mobile app developers began registering their own custom URI schemes (for example: myapp://), URIs became more convoluted, and deep linking accuracy suffered.

Since URI schemes have no fallback option, links to content in uninstalled apps had a tendency to fail without complicated JavaScript redirects. Trouble is, redirects also had a high probability of breaking when each new mobile operating system was released. Add the chaos of multiple apps claiming the same custom URI scheme (ex. myapp://) and a wide array of unacceptable customer experiences prevailed.

As a result, the iOS and Android teams developed linking standards known as Universal Links and App Links, respectively. While URIs remain the primary approach to deep linking on Android, they are less effective for deep linking on iOS.

Here’s an overview of how URI schemes compare to Universal Links and Android App Links on several key criteria:

*Note: We’re limiting the scope of this post to Universal Links and App Links.  Other linking protocols such as Facebook App Links and Twitter Links, while also important, will not be covered in depth today.

Best intentions aside, Universal Links and App Links are less than perfect, especially in situations where an app isn’t installed. Meaning an up-to-date deep linking strategy is essential if you’re going to drive the customer engagement you need.

 

How to optimize a deep linking strategy

Universal Links and App Links perform as designed when they direct users to content based upon whether or not an app is installed or a mobile web option is preferred. For details on how Universal Links and App Links work, check out How to Deep Link Out of Your App, The Deep Linking Playbook for iOS 12, and Updated for 2019: The Ultimate Android Deep Linking Guide.  

Here are three examples of what we’ve learned while helping customers bridge the gaps between the limitations of deep linking solutions and the realities of what leading digital brands require.

1. Beware of edge cases

Many apps built upon content feeds (such as Instagram) handle external links by intercepting clicks and loading the content in an internal webview. This helps them preserve their tracking data for as long as users remain within their walled garden and prevents users from detouring into content outside of their app. Implementing a Universal Link or App Link would require developers of such apps to send users to external destinations and lose touch with valuable performance metrics. This is not a popular tradeoff.

As a workaround, developers and marketers seeking to use legacy deep links on feed-style platforms must build edge case handling methods. Lacking a truly unified approach to deep linking, it’s easy to picture what happens next: The number of edge cases becomes overwhelming, leading to frustrated developers and broken customer experiences that can seldom be repaired. Key takeaway: Always opt for a proven deep linking solution (such as Branch) that compensates for the shortcomings of traditional options and accommodates every edge case.

2. Email works (when you know what you’re doing)

Over 70% of emails are opened on mobile devices. Given that mobile apps are often just a few pixels away from mobile email, you’re going to want reliable, break-proof links pointing from your marketing emails to the in-app experiences customers demand.

The increasing volume and complexity of email campaigns have motivated many brands to use email service providers such as Sailthru, Mailchimp, or Sendgrid to help automate their processes and collect open, click, and conversion tracking. To gather this data, email providers wrap original links in a redirect, so that users hit the provider’s server prior to being sent to their destination.

The bad news: Universal Links and App Links break when wrapped in a redirect, forcing mobile marketers to choose between unifying their redirecting domain or giving up on the centerpiece of their measurement strategy. In 2019, it’s little surprise that no marketer or product leader has time for broken links or anything other than reliable data.

Fortunately, Branch works with all major email service providers to offer click/install analytics for Universal Links in email. Problem: solved (at a fraction of the hassle of building an in-house solution.)

3. Are you verified?

If you’re looking to save time (and who isn’t?), then you’ll need to know how to scale your links verification.

The prospect of a seven-step verification process for Universal Links or App Links is few people’s idea of a good time. Web server, developer portal, and native app project configurations are riddled with pitfalls. Forget an end bracket in the structured JSON file you’re hosting on your server? Prepare for a broken link. Forget to include the entitlements file in your app build? Ditto.

To combat these challenges, we built our own Universal Links Validator. This saves developers from crawling through each step and re-evaluating potential errors in every line of code. This has been shown to save days’ worth of time otherwise devoted to debugging.

 

Looking Ahead

At Branch, we’re equipping customers for a cross-platform future in which their links seamlessly connect users to content irrespective of whether journeys begin on web or app, resume via email or ads, and convert on phones, tablets, or elsewhere. From analytics capabilities such as cross-platform cohort analysis to deep linking extensions and more, our goal remains the same as ever: to drive mobile growth with enterprise-grade links that help customers acquire, engage, and measure across all devices, channels, and platforms.

Stay tuned for a wide range of additional deep linking insights here on the Branch blog. For additional details on how to put Branch’s deep linking technology to work for you, check out our documentation as well as our deep linking web page, and other destinations.