Overview
Branch provides a suite of tools for mobile app developers and marketers focusing on deep linking, attribution, and user journey optimization. Established in 2014, Branch aims to resolve challenges associated with fragmented mobile user experiences by ensuring users land in the correct app content regardless of their starting point or installation status Branch deep linking overview. This is critical for improving conversion rates and user retention in mobile applications.
The platform's core offering, deep linking, enables developers to direct users to specific content within an app, even if the app needs to be installed first. This is achieved through deferred deep links, which store parameters during the app installation process and apply them upon the first app open. This capability is particularly beneficial for user acquisition campaigns, email marketing, and social media promotions, where a consistent user experience from click to in-app content is essential.
Beyond deep linking, Branch offers mobile attribution capabilities that allow businesses to track the origin of app installs and in-app events. This data helps technical buyers and growth teams understand which channels and campaigns are most effective, enabling data-driven allocation of marketing spend. The attribution model supports various touchpoints, including paid ads, organic search, web referrals, and email, providing a comprehensive view of the user acquisition funnel. The accuracy of mobile attribution is a critical factor for informed decision-making in performance marketing CXL mobile attribution models explaination.
Branch is designed for developers and technical buyers who require granular control over mobile user flows and reliable analytics. Its SDKs support a wide array of platforms, including iOS, Android, Web, React Native, Flutter, and Unity, facilitating cross-platform development and consistent tracking. The platform's compliance certifications, such as SOC 2 Type II, GDPR, CCPA, and ISO 27001, address enterprise-level data privacy and security requirements. Use cases include optimizing onboarding flows, powering referral marketing campaigns, and enhancing user re-engagement through personalized messaging.
Key features
- Deep Linking: Creates links that direct users to specific content within a mobile app, handling scenarios where the app is already installed or needs to be downloaded first. This supports both standard and deferred deep linking.
- Mobile Attribution: Tracks the source of app installs and in-app events across various marketing channels, providing insights into campaign performance and user acquisition effectiveness.
- Journeys (Web-to-App Banners): Provides customizable web-to-app banners that appear on mobile websites, encouraging users to install the app or open it to view content, improving conversion rates from web traffic.
- Universal Email: Enables personalized email campaigns that deep link users directly into relevant app content, enhancing engagement and reducing friction in the user journey.
- Referral Programs: Tools to build and manage in-app referral programs, allowing users to invite others and track successful referrals, driving organic growth.
- Branch Messaging: Facilitates personalized in-app messages and push notifications, leveraging deep linking to guide users to specific features or content.
- SDK Support: Offers comprehensive SDKs for iOS, Android, Web, React Native, Flutter, Unity, Cordova, Xamarin, Adobe Air, and Roku, ensuring broad platform compatibility.
- Compliance and Security: Adheres to industry standards including SOC 2 Type II, GDPR, CCPA, ISO 27001, and ePrivacy, addressing data protection and security requirements.
Pricing
Branch offers a free tier named 'Launch' for basic deep linking and attribution needs. Paid plans, starting with 'Starter', are available for more advanced features and higher volumes. Pricing is typically billed annually.
| Plan Name | Key Features | Price (as of 2026-05-07) |
|---|---|---|
| Launch (Free) | Basic Deep Linking, Core Attribution, Analytics | Free |
| Starter | Advanced Deep Linking, Custom Attribution Windows, Journeys, Referral Programs, API Access | Starts at $200/month (billed annually) |
| Growth & Enterprise | Custom features, dedicated support, higher volume capacity, advanced compliance | Custom pricing |
For detailed pricing information and specific feature breakdowns for each tier, refer to the official Branch pricing page.
Common integrations
Branch provides SDKs and APIs designed for integration across various platforms and with other marketing and analytics tools:
- iOS (Swift/Objective-C): Integrate the Branch iOS SDK for deep linking and attribution in native iOS applications. Branch iOS SDK integration guide.
- Android (Kotlin/Java): Implement the Branch Android SDK to enable deep linking and track attribution for Android apps. Branch Android SDK setup instructions.
- Web (JavaScript): Use the Branch Web SDK to create universal links that work across web and app, and to implement web-to-app banners. Branch Web SDK implementation details.
- React Native: Branch offers a dedicated SDK for React Native applications, simplifying cross-platform deep linking and attribution. Branch React Native SDK documentation.
- Flutter: Integrate the Flutter SDK to extend deep linking and attribution capabilities to Flutter-built apps. Branch Flutter SDK implementation.
- Unity: For game developers, the Unity SDK allows integration of deep linking for in-game content and user acquisition tracking. Branch Unity SDK setup.
- Cordova/PhoneGap: The Cordova SDK enables deep linking and attribution for hybrid mobile applications built with Cordova or PhoneGap. Branch Cordova SDK guide.
- Xamarin: Branch supports Xamarin for cross-platform development, allowing deep linking and attribution in Xamarin.iOS and Xamarin.Android projects. Branch Xamarin SDK integration.
- Adobe Air: Developers can leverage the Adobe Air SDK for deep linking in applications developed with Adobe Air. Branch Adobe Air SDK reference.
- Roku: Branch provides an SDK for Roku, enabling deep linking into specific content within Roku channels. Branch Roku SDK documentation.
Alternatives
- Adjust: A mobile measurement and attribution platform offering analytics, fraud prevention, and app marketing solutions.
- AppsFlyer: Provides mobile attribution and marketing analytics, helping app developers measure and optimize their user acquisition campaigns.
- Singular: An attribution and marketing analytics platform that unifies marketing data, offering insights into ROI and campaign performance.
Getting started
To integrate Branch into an iOS application using Swift, you typically begin by adding the Branch SDK and initializing it in your AppDelegate. This example demonstrates basic setup to enable deep linking and track app opens. Ensure you have configured your Branch dashboard and obtained your Branch key.
import UIKit
import BranchSDK
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Initialize Branch SDK
let branch = Branch.getInstance()
branch?.initSession(launchOptions: launchOptions) { (params, error) in
if error == nil {
// params will be non-nil if a deep link was opened
print("Branch initSession params: \(params as? [String: AnyObject] ?? [:])")
if let url = params?["$canonical_url"] as? String {
print("Deep link URL: \(url)")
// Handle the deep link, e.g., navigate to a specific view controller
}
} else {
print("Branch initSession error: \(error?.localizedDescription ?? "unknown error")")
}
}
return true
}
// Required for universal links and custom URI schemes
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
// Pass the user activity to Branch for Universal Links
return Branch.getInstance().continue(userActivity)
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
// Pass the URL to Branch for custom URI schemes
return Branch.getInstance().application(app, open: url, options: options)
}
// ... other AppDelegate methods
}
This code snippet initializes the Branch SDK and sets up handlers for Universal Links and custom URI schemes, ensuring that deep links can be processed when the app is launched or opened. The initSession callback provides any deep link parameters that were passed, allowing the application to route the user to the appropriate content. For a complete integration guide, including Xcode project setup and entitlements, refer to the Branch iOS SDK documentation.