Skip to content
Clarisights Knowledge Center home
InboxAsk a human

Integrating Branch to Clarisights

Branch is a mobile growth and attribution platform. Connecting Branch to Clarisights brings install, click, impression, and custom-event attribution data alongside the rest of your marketing performance, so you can analyze paid acquisition cost-per-install, post-install conversion, and ROAS in the same reports as your ad-channel spend.

Branch is classified as an Analytics channel in Clarisights — it provides attribution data that's joined to your ad channels (Google Ads, Apple Search Ads, Facebook, Snapchat, Twitter, plus any Custom Advertising channels you've configured).

At a glance

AuthenticationBranch Key + Branch Secret (per Branch app)
Permissions neededAccess to Account Settings → Profile on the Branch dashboard for each app
Account discoveryEach Branch app is connected individually with its own key/secret pair
Data freshnessDaily (7-day rolling pull window)
Lookback window7 days
Backfill on connectLast 7 days; longer historical backfills available on request
TimezoneUTC
CurrencyNative (typically USD); converted to your reporting currency by Clarisights
Levels supportedApp · Advertising Partner · Campaign · Ad Set · Ad · Keyword
Limited rolloutNo

Prerequisites

  • An active Branch account with one or more Branch apps

  • Access to the Branch dashboard with permissions to view Account Settings → Profile

  • The Branch Key and Branch Secret for each app you want to connect

  • The Branch app's App ID and a friendly App Name

Steps to Connect

Step 1 — Get your Branch credentials

In the Branch dashboard, go to Account Settings → Profile. For each app you want to connect, copy:

  • App Name

  • App ID

  • Branch Key

  • Branch Secret

[TODO: Screenshot needed — Branch dashboard Account Settings → Profile showing key/secret]

Treat the Branch Secret like a password. It grants read access to your Branch query API for that app.

Step 2 — Connect the app in Clarisights

In Clarisights, go to Integrations → Branch and click + Connect. Paste the App Name, App ID, Branch Key, and Branch Secret and submit.

[TODO: Screenshot needed — Clarisights Integrations page Branch connect modal]

⚠ "Authentication failed" on submit → Re-check that the Branch Key and Secret were copied without leading/trailing whitespace and that the credentials match the same Branch app. Keys and secrets are app-specific.

Step 3 — Connect each additional app individually

If you have multiple Branch apps, repeat Steps 1–2 for each one. Branch's API exposes one app's data per credential pair.

Step 4 — Configure data sources (Analytics Config)

From the Branch integration page, open Analytics Config to choose which Branch data sources Clarisights should pull. Branch groups metrics into data sources — by default Clarisights pulls:

  • cost — spend across ad channels

  • eo_install — installs across ad channels

  • eo_impression — impressions

  • eo_click — clicks

  • eo_open — app opens

  • eo_custom_event — your custom in-app events

  • eo_commerce_event — revenue / commerce events (revenue data source)

Custom events configured on Branch can be exposed as their own metrics. Let your Clarisights CSM know which custom events you want pulled. The data-source list applies to all Branch apps connected to your workspace.

[TODO: Screenshot needed — Clarisights Analytics Config for Branch]

Step 5 — Configure advertising channels (Connection Config)

Open Connection Config to enable each ad channel you want Branch attribution joined to. Supported partners:

  • Google Ads

  • Apple Search Ads

  • Facebook Ads

  • Snapchat Ads

  • Twitter Ads

  • Custom Advertising channels

For native channels, set the Counter Type and Attribution Type (defined below). For Custom Advertising channels, you'll also set the Branch Partner Name, Strategies, and Joining Dimensions; your Clarisights CSM will help with these settings.

[TODO: Screenshot needed — Clarisights Connection Config for Branch]

Verify the connection

  • Go to Integrations → Branch. Each connected Branch app should show a "Connected" status.

  • First data appears within ~24 hours of the next scheduled sync.

  • Quick start: open a report that uses one of your ad channels (Google Ads, Apple Search Ads, etc.), and add Branch Installs as a metric. The values should populate against the campaign/ad-group rows in that report.

Data available

Hierarchy

Branch is an analytics channel — its data is joined onto your ad channels rather than living in its own ad-account hierarchy. The conceptual hierarchy below is how Branch organizes data internally; it maps to standard Clarisights levels via the underlying ad channel.

Native level (Branch)

Clarisights level

Branch App

Account (one Clarisights account per Branch app)

Advertising Partner Name

Joined to the matching ad channel (Google Ads, Apple Search Ads, Facebook, etc.)

Campaign / Campaign ID

Campaign on the joined ad channel

Ad Set / Ad Set ID

Ad Group on the joined ad channel

Ad / Ad ID

Ad on the joined ad channel

Keyword

Keyword (search channels only)

(Unpopulated / null partner)

"Unpopulated" — organic / non-ad-attributed activity

Counter Type (aggregation type): Branch returns each event as either a unique count (one event per user/day) or a total count (every occurrence). Set this per ad channel in Connection Config; Branch's API only returns one of the two per request.

Example: a user who opens the app 3 times in a day → unique = 1, total = 3. Over a month the gap is significant.

Attribution Type: Branch supports last_touch and last_CTA_view. You can set this per ad channel — e.g., last_touch for Google Ads, last_CTA_view for Facebook. Default is last_touch. Tell your Clarisights CSM if you need a different model on a specific channel.

Dimensions

Dimension

Level

Description

Branch App / Branch App ID

Account

The connected Branch app

Advertising Partner Name

Account / Channel

Partner attributed by Branch (Google Ads, Apple Search Ads, Facebook, etc.); "Unpopulated" for organic

Campaign / Campaign ID

Campaign

Campaign name and ID from the ad channel

Ad Set / Ad Set ID

Ad Group

Ad set name and ID

Ad / Ad ID

Ad

Ad / creative name and ID

Keyword

Ad

Keyword (Google Ads / Apple Search Ads)

Country Code

Event

User country at event time

Platform

Event

iOS / Android / Web

Feature

Event

Branch feature tag (deep linking, journey, etc.)

Channel

Event

Branch channel parameter (utm_medium-style)

Sub-channel

Event

Branch sub-channel parameter

Data Source

Event

Branch data source (eo_install, eo_click, etc.)

Event Name

Event

The Branch event name (snakecase)

Metrics

Branch metrics are pulled per data source. The exact list depends on which data sources you enable in Analytics Config.

Standard data sources

Data source

Description

cost

Spend reported via Branch from connected ad channels

eo_install

App installs (attributed)

eo_impression

Ad impressions tracked through Branch

eo_click

Ad clicks tracked through Branch

eo_open

App opens (configurable as unique or total)

eo_custom_event

Custom in-app events you've configured in Branch

eo_commerce_event

Commerce events including revenue

SKAdNetwork data sources (configurable)

iOS SKAN postback events with Branch's conversion-value mapping

Custom event metrics

Each custom event configured in Branch surfaces as its own metric in Clarisights (e.g. br_event_purchase, br_event_complete_registration). Send your CSM the list of custom events you want exposed.

Revenue metrics

Commerce events come with a revenue companion metric (suffix br_rev_*) that surfaces revenue per event in your reporting currency.

Limitations & known constraints

  • One app per credential: each Branch app needs its own key/secret. Use multiple connections for multi-app accounts.

  • Data sources are workspace-wide: the list of enabled data sources in Analytics Config applies to every connected Branch app in your Clarisights workspace.

  • API rate limits: Branch enforces 5 req/sec, 20 req/min, and 150 req/hour per organization. High-frequency backfills are throttled and may take longer to complete.

  • 7-day rolling pull window: each scheduled sync pulls the last 7 days. Late-arriving attribution older than 7 days will not update existing rows; ask your CSM about a backfill if you need it.

  • Counter Type is per-channel: you can only request unique or total, not both. Choose based on how you analyze each channel.

  • Page size 20 000 rows: results are paginated; very wide breakdowns over long date ranges may take multiple pages to fetch.

  • Organic attribution: events with no ad partner are tagged "Unpopulated" rather than mapped to an ad channel.

Operating notes

  • Refresh schedule: daily, with a 7-day rolling lookback.

  • Lookback: 7 days.

  • Multi-app: connect each Branch app individually; each becomes its own Clarisights account.

  • Currency conversion: native amounts are pulled as-is and converted by Clarisights.

  • Credential rotation: rotate the Branch Key/Secret in the Branch dashboard, then update Clarisights via Integrations → Branch → Edit Connection.

  • Adding new ad channels: enable a new partner in Connection Config and configure its Counter Type and Attribution Type. Your CSM helps for Custom Advertising partners (which need Branch Partner Name, Strategies, and Joining Dimensions).

  • SKAN events: if you use SKAdNetwork, share the SKAN event names and conversion-value mapping with your CSM so they can be exposed as named metrics.

Need help?

When contacting support from the in-app messenger, please include:

  • The Branch App Name and App ID (Integrations → Branch)

  • The ad channel and date range affected

  • The Counter Type and Attribution Type configured for that channel

  • The exact error message or screenshot

  • When the issue started