Improve mobile experiences
with deep linking

Branch links drive app conversions, engagement, and retention on every marketing channel.

Introducing premium solutions

Unify mobile experiences between native apps and marketing channels


Convert mobile traffic into engaged app users

Try It Now

Deep Linked Email

Improve purchases from email by 3x

Learn More

Data Integrations

Drive more insights from your other analytics and marketing tools

Get Started

Deep linking created for growing apps

Deep Linking

Deep links that support all standards, opening the app when installed or passing data through the app stores.


Click, install and re-open attribution at the link or campaign level to understand your mobile growth and engagement.

Branch makes discovering apps and app content easier

Explore more features

What is deep linking? How does it work?


Deep linking improves app performance

1.8x signups
2.0x engagement
1.9x retention

Our Happy Partners

We have amazing partners that use Branch to drive their growth!

See Thousands More

Learn from the Mobile Growth Community

Join thousands of growth-focused app developers and mobile marketers at meetups and events around the world.




meetup groups



Deep linking in a few lines of code

Branch offers a simple integration and support for all major mobile and app development platforms.

BranchUniversalObject *branchUniversalObject = [[BranchUniversalObject alloc] initWithCanonicalIdentifier:@"article/12345"];
branchUniversalObject.title = @"Check out this article!";
branchUniversalObject.contentDescription = @"It’s really entertaining...";
branchUniversalObject.imageUrl = @"";
[branchUniversalObject addMetadataKey:@"read_progress" value:@"17%"];

BranchLinkProperties *linkProperties = [[BranchLinkProperties alloc] init];
linkProperties.feature = @"sharing"; = @"facebook";
[linkProperties addControlParam:@"$fallback_url" withValue:@""];

[branchUniversalObject getShortUrlWithLinkProperties:linkProperties andCallback:^(NSString *url, NSError *err) {
    NSLog(@"Got my Branch link to share: %@", url);
BranchUniversalObject branchUniversalObject = new BranchUniversalObject()
        .setTitle("Check out this article!")
        .setContentDescription("It’s really entertaining...")
        .addContentMetadata("read_progress", "17%");

LinkProperties linkProperties = new LinkProperties()
        .addControlParameter("$fallback_url", "");

branchUniversalObject.generateShortUrl((Activity)this, linkProperties, new Branch.BranchLinkCreateListener() {
    public void onLinkCreate(String url, BranchError error) {
        Log.i("MyApp", "Got my Branch link to share: " + url);
    icon: '',
    title: 'Article App',
    description: 'See the article in the app!',
    rating: 5,
    openAppButtonText: 'Open',
    downloadAppButtonText: 'Get'
}, {
    feature: 'smart_banner',
    data: {
        '$deeplink_path': 'article/12345',
        'article_id': '12345',
        'user_token': '6789'
    channel: 'facebook',
    feature: 'share',
    data: {
        '$canonical_identifier': 'article/12345',
        '$og_title': 'Check out this article!',
        '$og_description': 'It’s really entertaining...',
        '$og_image_url': '',
        'read_progress': '17%',
        '$fallback_url': ''
}, function(err, link) {
    console.log(err, "Got my Branch link to share: " + link);
var data = new Dictionary<string, object>();
data.Add("$canonical_identifier", "article/12345");
data.Add("$og_title", "Check out this article!");
data.Add("$og_description", "It’s really entertaining...");
data.Add("$og_image_url", "");
data.Add("read_progress", "17%");
data.Add("$fallback_url", "")

Branch branch = Branch.GetInstance ();
await branch.GetShortUrlAsync(this, data, "sharing", "facebook");
BranchUniversalObject universalObject = new BranchUniversalObject();
universalObject.canonicalIdentifier = "article/12345";
universalObject.title = "Check out this article!";
universalObject.contentDescription = "It’s really entertaining...";
universalObject.imageUrl = "";
universalObject.metadata.Add("read_progress", "17%");

BranchLinkProperties linkProperties = new BranchLinkProperties();
linkProperties.feature = "sharing"; = "facebook";
linkProperties.controlParams.Add("$fallback_url", "");

Branch.getShortURL(universalObject, linkProperties, (url, error) => {
    Debug.Log("Got my Branch link to share: " + url);
var branchUniversalObject = branch.createBranchUniversalObject({
  "canonicalIdentifier" : "article/12345",
  "title" : "Check out this article!",
  "contentDescription" : "It’s really entertaining...",
  "contentImageUrl" : "",
  "contentMetadata" : {
      "read_progress" : "17%",

  "feature" : "sharing",
  "channel" : "facebook"
}, {
  "$fallback_url" : "",
var dataToInclude:Object = {
        "$canonical_identifier": "article/12345",
        "$og_title": "Check out this article!",
        "$og_description": "It’s really entertaining…",
        "$og_image_url": "",
        "read_progress": "17%",
        "$fallback_url": ""
branch.getShortUrl( "facebook", "sharing", JSON.stringify(dataToInclude));
var branchUniversalObject = {
   "canonicalIdentifier" : "article/12345",
   "contentTitle" : "Check out this article!",
   "contentDescription" : "It’s really entertaining...",
   "contentImageUrl" : ""},
      "read_progress" : "17%"

var linkProperties = {
	"feature" : "sharing",
	"channel" : "facebook"

var shareOptions = {
	"messageHeader" : "Check out this article!",
	"messageBody" : "It’s really entertaining..."

branch.showShareSheet(shareOptions, branchUniversalObject, linkProperties, ({channel, completed, error}) => {});

Branch powers deep linking,
attribution, and analytics for


users across thousands of mobile apps.