Alex joined Branch as a Developer Advocate in 2016, and helped build the company's early developer relations and long-tail adoption strategies. He works closely with teams across the organization to help shape Branch's place in the mobile ecosystem, writes the Mobile Growth Newsletter, and tweets regularly about mobile-related topics at @alexdbauer.
Jul 28, 2016
So you’ve heard about this thing called “deep linking.” Maybe someone mentioned it in the morning stand-up, or it came through in one of those weekly industry newsletters. But what is deep linking and what does it actually do? And what does all of this mean for mobile apps?
The first thing to know about deep linking is that it’s everywhere. You run into it every day — whether you realize it or not — whenever you do a Google search or open a link on Facebook. For example, if you enter “Zootopia DVD” into Google and open the first result, you expect to end up here:Imagine how irritating it would be if you clicked that Zootopia DVD link and were taken here instead:
It would be frustrating, to put things mildly.
The Zootopia DVD search result is a “deep link,” meaning it takes you directly to a specific piece of content. It’s a simple enough concept — and on the web it just works. Unfortunately, things are not so easy for mobile apps because there is no single, universal standard between all apps on every platform.
If you have never tried it, just imagine the headache of maintaining one linking system using URI schemes for Android, and another with Universal Links for iOS (except for iOS 8 and earlier, where you still need to support a custom URI scheme instead). Then don’t forget about handling Chrome separately, custom behaviors for Facebook depending on whether the user is on iOS or Android, the difference between AppLinks and App Links, and what happens if someone visits on a Samsung device instead of HTC or Motorola. Mobile app deep linking is messy.
Instead of supporting an alphabet soup of conflicting technologies, you just need to worry about one thing: what to do with your visitors after the app is open.
Your app may have lots of places that you want to take them: routing to shared content, customized onboarding, user identification, tracking and attribution, etc., the possibilities are limitless. The important thing is that you recognize the users who are opening the app and can take them to the place they intended to go.But how can you be certain to recognize users when they have come into your app from a broad set of potential customer touch points? That’s where matching accuracy comes in. On the traditional web, matching accuracy is easy: you’re staying within the same channel and one page leads seamlessly to the other (that’s how you can click on the Zootopia DVD link and be confident you will not get a page for used garden hoses). Matching users who go from the web into a mobile app is an art; users are changing channels and it is not easy to trace the identity from one to the other. By being focused on the user, Branch does this better than anyone else in the industry. Here’s how:
If your app is already installed when the visitor clicks an app deep link, the accuracy of the match will be 100% guaranteed, every time. Users you have already seen are easy to recognize when they come back, even from a different channel.
Branch makes this process simple and painless, but there’s no real magic here. Technically, it’s something you can even build yourself, if you feel like handling a few thousand edge cases, and a number of other companies have recently begun offering “deep link delivery services” similar to what Branch has always provided.
If your app is not installed when the visitor clicks an app deep link, things get much more interesting. For example, say you want the visitor to be sent to the app store, download your app, open it, and still end up in the right place. In other words, the user is switching channels and your app has never seen this person before.
In some cases, a 100% guaranteed match is still possible based on common standards available to anyone. Branch uses a number of methods for this, including the Facebook API, Google Play Referrer, and a rather ingenious shared domain cookie pass-through system that we built for iOS 9+ Safari. These options are technically available to anyone, but they all take a lot more work and most other deep-linking services haven’t put in the time to do it.
But the real secret comes from our unique use of first-party mobile web cookies combined with the iOS Identifier for Advertising (IDFA) and Google Android Advertising ID (GAID). We have spent the last two years compiling a huge, proprietary database of cookies, and this allows us to offer matching accuracy unparalleled by anything else on the market. Here’s how it works:
There are now more than 14,000 apps with Branch SDK integrations. Every single day, we see around 70% of the estimated 207.2 million smartphones in North America, and our total database is now over 1 billion devices. With the number of smartphones worldwide projected at around 2 billion in 2016, this means that as a Branch partner you already have a guaranteed match to over half of the mobile devices on earth. And this percentage is growing literally every second of the day.
And for the other half of the world? Those for whom we can’t yet make a 100% guaranteed match? Our proprietary digital snapshotting system allows us to make very accurate estimates in the vast majority of situations.
Being able to match this way isn’t just an academic pursuit; it allows you to drive conversion and retention by delivering personalized experiences to your users. Imagine you’re a retailer or eCommerce company with a large existing customer base, and you are launching a brand new mobile app. You want to drive adoption of it among your existing customers, so you offer a personalized promotion on your website and via email: a 10% discount for their favorite item if they buy it in the app.
Since your app is brand new and no user has installed it before, the best you could do in the past would have been routing every new user to the same generic welcome page. However, with Branch’s proprietary matching data, you can recognize a majority of these new users, put a personalized welcome message on the first page they see when they open the app, and highlight their favorite product and the personalized offer you’ve made them.* Personalization like this has been shown to drive additional revenue, higher conversion rates, and increased retention over time.
Perfect matching accuracy is taken for granted on the traditional web, and this is part of what has made it an indispensable part of modern life. While mobile app deep linking may never be quite that straight-forward, any improvement in matching accuracy means more ROI for you. If you care about powering high quality, reliable user experiences with mobile app deep linking (and the matching accuracy that makes it possible), Branch is the only partner you should trust to deliver that confidence at scale. Anything else is simply leaving money on the table.
*On a technical note, our success rate in situations where we do not yet have a 100% guaranteed match is very high, but if you are building something with confidential content (a deep linked password reset feature, or linking directly to a user’s order history, for example), then you want to to be absolutely certain. Branch allows you to check the +match_guaranteed parameter that we return with every Branch link, and confidently build user experiences in your app using only these 100% guaranteed matches. More on this here.