Overview

Branch Metrics is a mobile linking and attribution platform designed to facilitate user acquisition, engagement, and measurement across various mobile channels. Founded in 2014, Branch specializes in deep linking, which allows developers to route users to specific content within a mobile application, regardless of whether the app is already installed. This functionality is critical for creating uninterrupted user experiences from web to app, within apps, and across different platforms like email or social media as described in Branch's deep linking documentation.

The platform provides a suite of tools for mobile app attribution, enabling marketers and developers to measure the effectiveness of their campaigns by tracking installs, re-engagements, and in-app events back to their original source. This includes support for various ad networks and channels, offering a unified view of performance data. Beyond attribution, Branch offers features for creating and managing referral programs, personalized onboarding flows (Journeys), and optimizing web-to-app conversion paths.

Branch is primarily utilized by companies developing mobile applications that require precise user routing, detailed analytics on campaign performance, and the ability to enhance user retention through personalized experiences. Its SDKs support major mobile development frameworks, including iOS, Android, React Native, and Flutter, simplifying integration into existing applications. The platform's developer experience is supported by comprehensive documentation, including API references and integration guides, alongside debugging tools to assist in verifying deep link functionality available in the Branch API reference.

Compliance is a core focus for Branch, with certifications like SOC 2 Type II, GDPR, CCPA, and ISO 27001, addressing data privacy and security requirements for its global user base. While Branch offers a free "Launch Tier," its advanced features and enterprise-grade support are available through custom pricing models, catering to a range of business sizes from startups to large enterprises. The platform aims to reduce friction in the mobile user journey, from initial discovery to long-term engagement, by providing the infrastructure for intelligent linking and granular measurement.

Key features

  • Mobile Linking (Deep Linking): Enables the creation of links that direct users to specific content within an application, supporting deferred deep linking for new installs and contextual deep linking for existing users.
  • Attribution & Analytics: Provides tools to measure the source of app installs, re-engagements, and in-app events, offering insights into campaign performance across various channels.
  • Journeys (Web to App): Facilitates the creation of customizable web-to-app banners and interstitial experiences to convert web visitors into app users.
  • Universal Email: Allows for dynamic deep links within email campaigns, guiding users directly to relevant content in the app.
  • Paid Ads Measurement: Integrates with various ad networks to provide a unified view of paid media performance and attribution data.
  • Referral Programs: Offers infrastructure to build and manage user referral programs, including tracking and rewarding referrals.
  • SDKs for Multiple Platforms: Supports a range of mobile development frameworks, including iOS, Android, React Native, Flutter, Unity, Cordova, Xamarin, Adobe Air, mParticle, and Segment.
  • Compliance & Security: Adheres to industry standards such as SOC 2 Type II, GDPR, CCPA, and ISO 27001 for data privacy and security.

Pricing

Branch Metrics offers a tiered pricing model that includes a free tier for initial use and custom enterprise pricing for advanced features and higher volumes. The details below are a summary; specific pricing is subject to custom quotes.

Tier Name Description Key Features Availability
Launch Tier Free tier for basic deep linking and analytics. Basic deep linking, attribution, limited data access. Available upon signup.
Startup Tier Entry-level paid tier for growing businesses. Advanced deep linking features, full attribution, some custom analytics, API access. Custom pricing.
Enterprise Tier Comprehensive solution for large organizations with high volume and complex needs. All features, dedicated support, advanced security, custom integrations, unlimited data. Custom pricing.

For detailed pricing information and custom quotes, prospective users should contact Branch Metrics directly via their official pricing page.

Common integrations

Branch Metrics provides SDKs and APIs designed for integration with various mobile development environments and marketing platforms:

Alternatives

For mobile measurement and attribution, several platforms offer similar or complementary functionalities:

  • AppsFlyer: A mobile attribution and marketing analytics platform that helps app marketers measure and optimize their campaigns.
  • Adjust: Provides mobile measurement, fraud prevention, and cybersecurity solutions for app marketers globally.
  • Singular: Offers marketing analytics, attribution, and cost aggregation to unify marketing data.
  • Criteo App Marketing: Focuses on retargeting and user acquisition for mobile applications, often complementary to attribution platforms.
  • Google Analytics for Firebase: While primarily an analytics solution, Firebase also offers attribution capabilities for app installs and events within the Google ecosystem.

Getting started

To integrate Branch Metrics into an iOS application using Swift, you typically begin by adding the SDK to your project and then initializing it. The following example demonstrates a basic setup and how to retrieve deep link data. This assumes you have already configured your Branch key in your Info.plist file.

import BranchSDK
import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Initialize Branch SDK
        Branch.set  Debug(true) // Enable debug mode for development
        Branch.getInstance().initSession(launchOptions: launchOptions) { (params, error) in
            if error == nil {
                print("Branch initSession params: \(params as? [String: AnyObject] ?? [:])")
                // Handle deep link data here
                if let deepLinkURL = params?["$deeplink_url"] as? String {
                    print("Deep link URL: \(deepLinkURL)")
                    // Navigate to specific content based on deepLinkURL
                }
            } else {
                print("Branch initSession error: \(error?.localizedDescription ?? "Unknown error")")
            }
        }
        return true
    }

    // Required for deep linking to work after app is installed and opened via a Branch Link
    func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        Branch.getInstance().application(application, open: url, options: options)
        return true
    }

    // Required for Universal Links
    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        Branch.getInstance().continue(userActivity)
        return true
    }
}

This Swift code snippet illustrates the basic steps for initializing the Branch SDK within your AppDelegate. The initSession callback provides access to deep link parameters, allowing your application to respond to incoming links by navigating to specific content. The open url and continue userActivity methods are crucial for handling traditional URL schemes and Universal Links, respectively, ensuring that Branch can correctly process all types of incoming links. Further configuration, such as setting up Universal Links and URL schemes in your Xcode project, is necessary for full deep linking functionality as detailed in Branch's iOS configuration guide.