Overview
A Deepview is a mobile web splash page, hosted by Branch, that gives a preview of the in-app content behind a given Branch link. When a visitor opens one of your Branch links and does not have your app installed, you can show them a Deepview instead of sending them directly to the App/Play Store.
Deepviews are discoverable in all search portals (Google, Apple Spotlight, Bing, etc), opening up new mechanisms for people to find your app, and drive much higher conversions to install than sending visitors to the App/Play Store directly. Here's an example flow:
Intended for apps without a mobile website
If you already have a mobile website with content, Journeys is better suited.
1. Enable Default Deepviews Templates
- From the Configuration page, navigate to the Deepviews tab.
- Deepviews are configured separately for visitors on each platform: iOS, Android, Desktop. There's a tab for each platform, and pre-built templates that you can customize. Review the templates, for the ones you want to customize toggle the Enable slider.
If you wish to use a custom template, click + New Deepview at the bottom of the page, and follow the steps outlined here. - When you click to enable Deepviews, you will be prompted with Are you sure you want to enable Deepviews on iOS? review the prompt and click Enable.
- Your Deepview is now ready to be used! When you click to Create a new link, when you see an option to configure redirects you'll select the Deepview you want used.
Note: By default, your Deepview pulls content from the Social Media Preview section of your app's default link settings. If you need to update your app icon, or the text on your Deepview, navigate to the Social Media Preview section of your app's default link settings.


Enabling Desktop Deepviews
To enable desktop Deepviews, be sure to select "Branch-hosted SMS Landing Page" for Desktop redirects on Link Settings.
Note that this will override any Text-Me-The-App page you have configured.
1a. Create a Custom Deepview Template
- From the Configuration page, navigate to the Deepviews tab.
- There are 2 ways to create a custom template:
a. Find a template you click, and click on the...
and then click Duplicate.
b. Alternatively, scroll to the bottom of the Deepview page, and click + New Deepview.
Note: Unlike the prebuilt template, custom Deepview templates are shared between all platforms (iOS, Android, and desktop), and cannot be deleted after creation.
- Next, you will be brought to the Deepview editing screens. The Deepview editing screen contains two tabs:
a. Basic: Displays your new template, and allows you to modify the default fallback OG tags used if none are specified for a link.
b. Editor: The Editor tab allows you to edit the raw HTML and CSS for your template. The rendered template will update as you modify the markup.
- In this next step, the fields you configure are duplicates of the Social Media Preview section of your app's default link settings. Any updates will be applied in both locations. Configure the following:
- Deepview Settings:
- Title: Internal name for your reference
- Key: The value that you will reference when creating a link. E.g.,
$ios_deepview: [key]
- App Settings:
- OG Title: Default value used if
$og_title
: is not specified for a link. - OG Description: Default value used if
$og_description
: is not specified for a link. - Image URL: Default value used if
$og_image_url
: is not specified for a link.
- OG Title: Default value used if
- Click Save when you're done. Your Deepview is now ready to be used! When you click to Create a new link, when you see an option to configure redirects you'll select the Deepview you want used.


2. Deepviews Advanced Configurations
The default Deepview template simply displays the content from three of the link's control parameters. You can specify the content of these parameters when creating your link to control what will display in that link’s Deepview. If nothing is set for a particular link, we will gracefully fall back to the OG values set for your entire app in Configuration > General > Social Media Preview.
Key | Value |
---|---|
$og_title | The title you'd like to appear on the deepview |
$og_description | The description you'd like to appear on the deepview |
$og_image_url | The URL for the image you'd like to appear on the deepview |
Hosting your own OG tags
If you want to use OG tags you host elsewhere, leave these parameters empty and specify a $desktop_url control parameter when you create the link. Branch will perform a one-time scrape to populate the Deepview using the OG tags from the URL you specify.
If you're creating a link by appending query parameters, just append the parameters to the URL. Please make sure to URL encode everything, lest the link will break.
"https://[branchsubdomain]?%24og_title=MyApp%20is%20disrupting%20apps&$og_image_url=http%3A%2F%2Fmyapp.com%2Fimage.png"
When you create links via a mobile SDK, you simply need to set the OG tag parameters. Below are few examples, but you can see every platform here.
-
iOS - Objective C
BranchUniversalObject *branchUniversalObject = [[BranchUniversalObject alloc] initWithCanonicalIdentifier:@"item/12345"]; // Facebook OG tags -- this will overwrite any defaults you set up on the Branch Dashboard branchUniversalObject.title = @"My Content Title"; branchUniversalObject.contentDescription = @"My Content Description"; branchUniversalObject.imageUrl = @"https://example.com/mycontent-12345.png"; // Add any additional custom OG tags here [branchUniversalObject addMetadataKey:@"$og_video" value:@"http://mysite/video.mpg"];
-
iOS - Swift
let branchUniversalObject: BranchUniversalObject = BranchUniversalObject(canonicalIdentifier: "item/12345") // Facebook OG tags -- this will overwrite any defaults you set up on the Branch Dashboard branchUniversalObject.title = "My Content Title" branchUniversalObject.contentDescription = "My Content Description" branchUniversalObject.imageUrl = "https://example.com/mycontent-12345.png" // Add any additional custom OG tags here branchUniversalObject.addMetadataKey("$og_video", value: "http://mysite/video.mpg")
-
Android
BranchUniversalObject branchUniversalObject = new BranchUniversalObject() .setCanonicalIdentifier("item/12345") // Facebook OG tags -- This will overwrite any defaults you have set on the Branch Dashboard .setTitle("My Content Title") .setContentDescription("My Content Description") .setContentImageUrl("https://example.com/mycontent-12345.png") // Add any additional custom OG tags here .setContentMetadata(new ContentMetadata().addCustomMetadata("$og_video", "http://mysite/video.mpg"));
Note: the Deep Link section accepts most link control parameters, but $og_title
, $og_description
and $og_image_url
cannot be specified there.
Enable per-link Deepviews
If you don't want to enable Deepviews globally, you can do it for each platform on a per link basis by inserting custom link control parameters link control parameters.
Enable Desktop Deepviews by appending query parameters:
"https://[branchsubdomain]?%24desktop_deepview=default_template&%24ios_deepview=default_template"
Enable iOS and Android Deepviews through the SDK. Below are few examples, but you can see every platform here
-
iOS - Objective C
BranchLinkProperties *linkProperties = [[BranchLinkProperties alloc] init]; linkProperties.feature = @"sharing"; linkProperties.channel = @"facebook"; [linkProperties addControlParam:@"$ios_deepview" withValue:@"default_template"]; [linkProperties addControlParam:@"$android_deepview" withValue:@"default_template"];
-
iOS - Swift
let linkProperties: BranchLinkProperties = BranchLinkProperties() linkProperties.feature = "sharing" linkProperties.channel = "facebook" linkProperties.addControlParam("$ios_deepview", withValue: "default_template") linkProperties.addControlParam("$android_deepview", withValue: "default_template")
-
Android
LinkProperties linkProperties = new LinkProperties() .setChannel("facebook") .setFeature("sharing") .addControlParameter("$ios_deepview", "default_template") .addControlParameter("$android_deepview", "default_template");
Disable per-link Deepviews
If you've enabled Deepviews globally, it's likely that you'll want to disable them now and again for specific use cases. To do so, just follow the instructions for enabling Deepviews for one link and set one or more of the key values to false
.
Key | Value |
---|---|
$ios_deepview |
|
$android_deepview |
|
$desktop_deepview |
|
3. Deepview Analytics
Branch lets you track the flow of users through Deepviews. You can find this information on the summary page of the Branch dashboard.
There are various metrics to understand when deep linking from your mobile website with Deepviews.
- Views: a user viewed the mobile site.
- Clicks: a user clicked on the Deepview CTA
- Installs: a user installed the app for the first time
- Upgrades: a user re-opened or upgraded the app from a previous version
Only users who do not have the app will go through this flow. You can view the total counts and conversion rate from each step on this chart.
No Deepview CTA Click
If a user without your app clicks a Branch link with an Active Deepview enabled but does not click the Deepview CTA, downstream activity (e.g. installs, purchases) will not be attributed to the original link click.
Glossary
Active Deepviews
Active deepviews should only show when the app is not installed (or when direct deep linking doesn't work like in the Facebook webview), and pause on the deepview page. These let the user preview the content, ultimately deciding if they want to install the app. The user must click the call-to-action of Get The App in order to be sent to the appropriate App or Play Store page.
Key | Value | Default Template |
---|---|---|
$ios_deepview | The name of the template to use for iOS. | default_template |
$android_deepview | The name of the template to use for Android. | default_template |
$desktop_deepview | The name of the template to use for the desktop. | default_template |
Passive Deepviews
Passive deepviews should also only appear when the app is not installed, but instead of pausing on the deepview page, they will attempt to redirect to the App/Play Store immediately without the user taking action. These should be used when you don't want a blank white screen to be left in a browser after the user clicks a link to go install your app. Note that these are automatically enabled in Safari iOS 10.3 and Facebook iOS webviews if you're attempting to redirect to your Store page.
To disable passive deepviews, simply set the value to false
in the link data.
Key | Value | Default |
---|---|---|
$ios_passive_deepview | The name of the template to use for iOS. | default_template |
$android_passive_deepview | The name of the template to use for Android. | default_template |
To enable another template as the default passive deepview, select the 'Set as Passive Default' option. You can also change the template on a link level by providing the template name in the control parameters. If you're creating a link by appending query parameters, you simply need to append the parameters to the URL. Please make sure to URL encode everything, lest the link will break.
FAQs
Updated 5 months ago
What's Next
Deepviews FAQs |