Connector · Deep linking and mobile attribution

Branch, from a link to the right screen.

How our analytics and monitoring module uses Branch so a link opens the right screen of your app, even straight after an install, and your marketing team sees which links and campaigns bring customers who open an account: what consent changes, how one link travels, and how we get you live.

Website
branch.io
Modules
Analytics & monitoring
SDKs
iOS, Android, Web, React Native, Unity
Contract
We help you get it
Checked

Who Branch is

Branch is a deep linking and mobile measurement company that has worked with app makers since 2014. The company behind it, Branch Metrics, Inc., gives its address in Mountain View, California, and its founders started it after links into their own app kept breaking. A Branch link opens the right screen of an app, and when the app is not installed yet, it opens that screen after the install from the store. Around the links sit attribution of installs and in-app events to the ads, emails, QR codes and web pages behind them, fraud protection, web-to-app banners it calls Journeys, and data exports.

On iPhones it works with Apple's App Tracking Transparency and SKAdNetwork, and with AdAttributionKit for Apple Ads campaigns. Its SDKs let an app decide, customer by customer, how much Branch may process, from full attribution down to deep links alone, and Branch is ISO 27001 certified. It treats the link and the measurement as one job, which is why it is one of the mobile attribution connectors of our analytics and monitoring module.

What it does in your platform

  • Analytics & monitoring

    Gives your ads, emails and QR codes links that open the right screen of the app, even when the customer has to install it first, and shows your marketing team which links and campaigns brought customers who went on to open an account or make a first payment. Branch's SDK runs only for customers who agreed, while events that involve money come from the platform's server.

How the connection works

Branch publishes no Flutter SDK of its own: the plugin its documentation points to, flutter_branch_sdk, comes from an independent developer. So the apps reach Branch's own iOS and Android SDKs through a thin bridge, and start them only once a customer agrees. On the server, the platform sends money events to Branch's Events API, and erasure requests to its Data Subject Request API with an access token that never leaves the server.

  1. A poster brings an install

    A customer scans the QR code on your poster for a new savings account, which carries a Branch link, and installs the app from the store. Until they choose, the app sends Branch nothing.

  2. The customer decides

    The app asks first: only when the customer agrees to attribution in its consent screen does it start Branch's SDK. On iPhones, the app shows Apple's tracking prompt before it starts the SDK, as Branch's documentation describes. Branch never shows the prompt itself, and if the customer declines it, Branch gets no advertising identifier.

  3. The right screen opens

    Branch matches the install to the link the customer scanned and hands the link's data to the app, which opens on the savings account rather than the home screen. The same match credits the install to the poster's campaign.

  4. The account opens

    When the KYC check passes, the app gives Branch the customer's random platform ID as their identity, never a name, email or phone number, which Branch's own rules forbid too. The platform's server sends an account-opened event to Branch's Events API under the same ID.

  5. The first payment lands

    When the ledger settles the customer's first payment, the server reports it the same way. Your marketing team can then compare the poster with your ads and emails by the customers who opened an account and paid, not by scans or installs alone.

  6. Consent is withdrawn

    If the customer withdraws consent in the app's settings or asks to be forgotten, the app sets their Branch Consumer Protection Preference to No Attribution, so Branch stops processing their data at once, and it does not start Branch's SDK for them again. The server stops sending their events, and the platform asks Branch's Data Subject Request API to erase the personal data held under their IDs.

Next to other providers

Branch is one of the module's attribution connectors, next to Adjust, AppsFlyer and Singular, and the module handles them all alike: each starts only after consent, knows customers by the platform's random ID and receives only the events on your tracking plan. Branch began with links, and its links reach the engagement tools too: Branch documents how links in emails sent through Customer.io, Braze or CleverTap open the matching screen of the app.

Your consent records, tracking plan and money events stay in the platform, so if you later move to another attribution provider, the connector changes while your apps' screens, events and consent flow stay as they are. Branch links already printed or sent keep pointing at Branch, so a move comes with a plan for them.

When Branch fits best

A strong fit when

  • You want links in ads, emails, QR codes and on your website to open the right screen of the app, even for customers who install it first.
  • You want each customer's consent to set how much Branch may process, level by level, rather than all or nothing.
  • You work under financial regulation and want Branch's Advanced Compliance: an isolated endpoint that hashes personal data as it arrives, behind extra layers of encryption.

Also worth a look

  • Adjust, AppsFlyer or Singular, the module's other attribution connectors, when your marketing team already measures its campaigns with one of them.
  • Product analytics alone, with Mixpanel, Amplitude, Google Analytics for Firebase or PostHog, when you do not need to know which link or campaign brought each customer.

How we get you live

  • The contract

    We help you get your Branch account and contract in place, with what your campaigns need, such as ads attribution, fraud rules, a link domain of your own and, for regulated work, Advanced Compliance. We also ask Branch to open its Data Subject Request API to you, which it does on request.

  • The data

    We choose with you where Branch keeps your data: in the United States, or in its EU Hosted Data region in Ireland if Branch offers it for your contract. Together we agree the events on your tracking plan, such as account opened and first payment, the Branch Consumer Protection Preference level that matches each customer's consent, and the consent signals Branch passes on to Google for customers in the EU.

  • The keys

    The access token for Branch's Data Subject Request API goes into your platform's secrets, issued to a Branch user with the sensitive data access that API requires. The apps carry only the Branch key, which Branch designs to be public and which also names your app in the server's event calls.

  • A full test run

    The apps and the server first use your Branch test key, with test devices registered in Branch so an install can be tested more than once, and we check consent, deep links after a fresh install, installs and events in Branch's Liveview before the switch to the live key and your first real customer. Branch's Data Subject Request API does not run in test environments, so we check erasure on the live app with a test device.

Questions

Asked about this connector.

How do we get started with Branch?

Talk to us. We help you get the Branch account and contract in place, agree your links, events and data location with you, connect Branch's iOS and Android SDKs to your Flutter apps and your platform's server to Branch's APIs, then test everything with your Branch test key before your first campaign.

Do Branch links still work when a customer declines Apple's tracking prompt?

Yes. Branch gets no advertising identifier from that iPhone, but its links still open the right screen, even straight after an install, and links in your own emails and on your QR codes are still credited. Installs from ads in other apps are reported in aggregate through Apple's SKAdNetwork, where the ad network supports it, and Apple Ads campaigns through AdAttributionKit too.

Where does Branch keep our data?

Branch's privacy policy places the data it collects on servers in the United States. Branch is certified under the EU-US Data Privacy Framework, and its data processing agreement includes the EU's Standard Contractual Clauses for transfers from the EU. It has also announced an EU Hosted Data option, which stores an app's log-level data at its AWS data centre in Ireland after processing in North America, while aggregate data and account information stay in North America. All of an app's data goes to one region, so we confirm the option with Branch before launch.

How does Branch forget a customer?

Through its Data Subject Request API. The app first sets the customer's Consumer Protection Preference to No Attribution and the server stops sending their events; then the platform sends an erasure request with their IDs, and Branch erases the personal data it holds under them. Branch acts as your processor, so such requests reach it through you, and it opens the API to each client on request, which we arrange during setup.

Start your project

Tell us the idea. We'll show you the platform.

One call is enough to map your product to the modules that already exist.

  • Response in under one business day
  • NDA on request
  • No obligation
What are you building?