The mobile linking infrastructure

Branch increases mobile conversion, retention, and engagement through deep linking, user routing, and personalized app experiences.

Deep links example

Making mobile experiences work the way they should

Deep Linking

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

Attribution

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

How exactly do Branch links work?

Learn

Route through install

Handle every device

Android
iOS
Desktop

Publish links anywhere

Facebook
Twitter
Pinterest
SMS
Email
WhatsApp

Support all standards

App Indexing
Facebook App Links
Twitter Cards
Android App Links
iOS Universal Links
Apple Spotlight

Our Happy Partners

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

See Ten Thousand More

All the features you need to grow on mobile

Explore more features

Powerful new features for marketing!

Journeys Smart Banners

Convert mobile traffic into engaged app users.

Try It Now

Data Integrations

Drive more insights from your other analytics and marketing tools

Get Started

Deep Linked Email

Improve purchases from email by 3x

Learn More

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 = @"https://mysite.com/article_logo.png";
[branchUniversalObject addMetadataKey:@"read_progress" value:@"17%"];

BranchLinkProperties *linkProperties = [[BranchLinkProperties alloc] init];
linkProperties.feature = @"sharing";
linkProperties.channel = @"facebook";
[linkProperties addControlParam:@"$fallback_url" withValue:@"http://mysite.com/article/12345"];

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

LinkProperties linkProperties = new LinkProperties()
        .setChannel("facebook")
        .setFeature("sharing")
        .addControlParameter("$fallback_url", "http://mysite.com/article/12345");

branchUniversalObject.generateShortUrl((Activity)this, linkProperties, new Branch.BranchLinkCreateListener() {
    @Override
    public void onLinkCreate(String url, BranchError error) {
        Log.i("MyApp", "Got my Branch link to share: " + url);
    }
});
branch.banner({
    icon: 'http://mysite.com/app_icon.png',
    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'
    }
});
branch.link({
    channel: 'facebook',
    feature: 'share',
    data: {
        '$canonical_identifier': 'article/12345',
        '$og_title': 'Check out this article!',
        '$og_description': 'It’s really entertaining...',
        '$og_image_url': 'https://mysite.com/article_logo.png',
        'read_progress': '17%',
        '$fallback_url': 'http://mysite.com/article/12345'
    }
}, 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", "https://mysite.com/article_logo.png");
data.Add("read_progress", "17%");
data.Add("$fallback_url", "http://mysite.com/article/12345")

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 = "https://mysite.com/article_logo.png";
universalObject.metadata.Add("read_progress", "17%");

BranchLinkProperties linkProperties = new BranchLinkProperties();
linkProperties.feature = "sharing";
linkProperties.channel = "facebook";
linkProperties.controlParams.Add("$fallback_url", "http://mysite.com/article/12345");

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" : "https://mysite.com/article_logo.png",
  "contentMetadata" : {
      "read_progress" : "17%",
  },
});

branchUniversalObject.generateShortUrl({
  "feature" : "sharing",
  "channel" : "facebook"
}, {
  "$fallback_url" : "http://mysite.com/article/12345",
});
var dataToInclude:Object = {
        "$canonical_identifier": "article/12345",
        "$og_title": "Check out this article!",
        "$og_description": "It’s really entertaining…",
        "$og_image_url": "https://mysite.com/article_logo.png",
        "read_progress": "17%",
        "$fallback_url": "http://mysite.com/article/12345"
};
branch.getShortUrl( "facebook", "sharing", JSON.stringify(dataToInclude));
var branchUniversalObject = {
   "canonicalIdentifier" : "article/12345",
   "contentTitle" : "Check out this article!",
   "contentDescription" : "It’s really entertaining...",
   "contentImageUrl" : "https://mysite.com/article_logo.png"},
   metadata:{
      "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

501,234,654

users across tens of thousands of mobile apps on its platform.

JOIN THEM NOW

Branch also powers a global Mobile Growth Community

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

11,748

members

40

meetup groups

146

events