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.
- Head to the Deepviews configuration page on the Branch dashboard.
- Deepviews are configured separately for visitors on each platform (iOS, Android, and desktop). Select the platforms you want and click Enable.
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.
Changing the app icon
If we pulled the wrong app icon, you can upload a new one in the Social Media Display Customization section of the dashboard Settings.
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.
- 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.
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.
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 Settings > Link Settings > Social Media Display Customization.
|$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.
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")
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"));
Edit the Title, Description and Image URL in the Social Media section.
Note: the Deep Link section accepts most link control parameters, but
$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:
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")
LinkProperties linkProperties = new LinkProperties() .setChannel("facebook") .setFeature("sharing") .addControlParameter("$ios_deepview", "default_template") .addControlParameter("$android_deepview", "default_template");
Finally, enable Deepviews for an individual link on the Marketing dashboard by selecting Deepviews as a redirect option under the second page.
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
When creating Quick Links on the Branch dashboard
You can disable Deepviews for an individual link on the Marketing dashboard by selecting Deepviews as a redirect option in Configure Options > Redirects and setting it to false.
Create New Deepview Templates¶
You can create new Deepview templates using the Deepviews configuration page on the Branch dashboard, either by duplicating the default Branch Public Template, or by creating a new one from scratch. New Deepview templates are shared between all platforms (iOS, Android, and desktop), and cannot be deleted after creation.
The Deepview editing screen contains two tabs: Basic and Editor.
The Basic tab displays your new template, and allows you to modify the default fallback OG tags used if none are specified for a link.
|Title||Internal name for your reference|
|Key||The value that you will reference when creating a link. E.g.,
These fields are duplicates of the Social Media section of your app's main link settings page. Any updates will be applied in both locations.
|OG Title||Default value used if
|OG Description||Default value used if
|OG Image Url||Default value used if
Edit Deepview Templates¶
You can use the Deepview editor to edit created templates. You cannot edit pre-created templates. 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.
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.
|$ios_deepview||The name of the template to use for iOS.||
|$android_deepview||The name of the template to use for Android.||
|$desktop_deepview||The name of the template to use for the desktop.||
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.
|$ios_passive_deepview||The name of the template to use for iOS.||
|$android_passive_deepview||The name of the template to use for Android.||
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.