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.
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.
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.
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.
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.
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.
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.
