The fundamentals of Branch's contextual deep links.
Don't know what a deep link or a contextual deep link is? Start here.
The first step toward deep linking greatness is creating a Branch link. Once you’ve signed up with Branch, you can easily change your links to something like you.app.link, or add your own domain. Then you can create a link via:
Mobile SDK
When you’ve integrated the Mobile SDK, you can create a Branch link every time a user clicks to share or invite another user from within your app. Your app makes a call to us, and we return a Branch link.
Web SDK
When you’ve integrated the Web SDK, you can create a Branch link every time a user clicks to share or invite another user from within your website, or direct users straight to your app from your website. Your website makes a call to us, and we return a Branch link.
API
You can use the API to create Branch links in bulk, for instance if you wanted to send a unique link to every user on your email list. You make a call to us, and we return Branch links.
Dynamic long links
If you’re creating lots of links and you don’t want to call the API, you can use dynamic long links by manually appending query string parameters to your link. You can deliver Branch links to your users this way without ever making a call to us.
Quick Links
The Quick Link creator in the Dashboard allows anyone to create a Branch link without technical know-how. You can still customize the appearance, redirects, and other aspects of the link, but no coding is necessary. It's easy to fill in open graph tags so your links look great on social media.
No matter which approach (or approaches) you choose to create Branch links, you can always associate each link with data. In the Dashboard’s Quick Link creator, that means filling in some form fields, or with the programmatic routes, it means writing a key-value data dictionary with whatever information you like. We encourage you to specify:
You can put any key-value pair you want in there.
A Branch link is an actual page on the web. When users click a Branch link, they open that webpage, and we get pinged. We use matching to detect your users’ device, operating system, and browser, and combine that with cookies to either remember or check whether they have the app installed. Then we can redirect them for an optimal experience.
The long-standing challenge with deep linking to apps has been that any data associated with a link – like where the user originated and where they should go – gets lost at the app store. As soon as your app opens, it makes a call to Branch using the Mobile SDK. We again use device fingerprints to match that app open to the original link click, even if there was a detour through the app store.
When a match is made, we send the data associated with that link and link click – that you decided on in Step 2 – back to your app. Then your app is free to use that data however you wish. You could use an image associated with a link to personalize onboarding, or, of course, deep link to app content.
The Mobile SDK is an optional way to create links, but an essential part of interpreting deep links and their data. The Mobile SDK calls Branch on app open, retrieves link data, and makes sure that data is available to your app.
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.
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.
For full details on how Branch matches users, visit our docs. You can also learn more about why matching accuracy is important.
All of the data associated with links, link clicks, and app use is available to you via the Dashboard. Think about what you could learn from this data, for example:
For a more in-depth explanation of how Branch deep linking works, visit our docs.