Overview
Branch deep linking gives you peace of mind that your links will work in every edge case to route users to the best destination with the industry’s highest matching accuracy, by combining every deep linking standard into a single, simple package. Easy to implement, and always up to date.
Deep linking use cases:
Direct deep linking users who have the app installed already to relevant content.
Deferred deep linking users who do not have the app installed to relevant content immediately after the first install.
Customized/branded URLs.
Store custom data parameters in link data.
How does it work?
User clicks a link.
If user has the app installed, then the app opens and routes to relevant content.
If user doesn't have the app installed, then:
User is routed to App/Play store to download the app, then routed to relevant content when they open the app, or
User is routed to relevant mobile web content.
Access
Deep Linking is available as part of our Engagement product. Learn more on our packaging page.
Integration guide
Caution
Developers knowledgeable with APIs, and web and mobile development, are required for these steps.
1. Implement the Branch SDKs to your mobile app
Please visit our Native SDK Overview page to learn how to implement the Branch SDK on both iOS and Android.
2. Set up deep link routing
How your mobile app is routing to in-app content will determine how you will create and tag your Branch Links.
3. Create your Branch Link
Branch Link creation options:
Ideal for one-off campaigns, especially social media, blog posts, etc.
Ideal if you are looking to programmatically generate Branch Links at scale.
4. Configure your Branch Link
When configuring your Branch Link you must make sure you are adding the correct key/value pairs to the data dictionary to ensure they make it into the app when it opens from a Branch Link click.
Additional details on configuring your Branch Link can be found here.
5. Test your Branch Link
Click the Branch Link on your mobile device and it should go through the flow outlined on the How Does It Work? page.
6. Set up NativeLinkâ„¢ Deferred Deep Linking (optional)
For NativeLinkâ„¢ Deferred Deep Linking, please follow our guide here.
Best practices
Deep link routing with $canonical_url
A canonical URL is a Branch referred term that represents the corresponding web URL for the in-app content. If your app can already deep link using web URLs, it is recommended to use the $canonical_url key with the web URLs value for deep linked routing for the app. This reduces the level of effort as $canonical_url is often automatically applied as Branch Link data for products like Journeys and Email; therefore, there is not an additional need to add extra data to a link.
For example, a shopping brand that has both a website and a mobile app will have equivalent experiences for the user to get to related content and it can be identified with a canonical URL. A web URL might look something like this:
https://www.myshop.com/category/productName
For a hotel/travel brand, a canonical URL might look something like this:
https://www.mytravel.com/Hotel-Search?rooms=1&adults=2&destination=Bangkok%20(BKK%20-%20Suvarnabhumi%20Intl.)®ionId=4934466&latLong=13.687353%2C100.74995&startDate=2021-09-23&endDate=2021-09-24&d1=2021-09-23&d2=2021-09-24
The different parts of the URL can be used for deep linking the user to in-app content.
Open Graph tags in Branch Links
When creating your Branch Link, you can add Open Graph tags to enhance its look and feel in a social graph. Adding these tags should make your Branch Link look better in channels like SMS or on social media posts. The following tags can be used in your Branch Link:
Open Graph Key | Description |
---|---|
| The title of your object as it should appear within the graph. |
| A one to two sentence description of your object. |
| An image URL which should represent your object within the graph. |
This is automatically set when setting the Social Media Tags if you are creating a Branch Quick Link or scraped when setting $original_url
, $desktop_url
, or $fallback_url
.
Caution
$original_url
is set in the Link Template, which will automatically add the$canonical_url
with the same value. However,$canonical_url
is NOT directly scraped for setting the Social Media Tags.
Testing and troubleshooting
Please use the following guides for testing and troubleshooting your deep links:
Android
iOS