> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adriel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data reference

> Metrics, breakdowns, refresh cadence, and limits for the Branch data source in Adriel.

## Introduction

Branch is a mobile measurement partner (MMP) and deep-linking platform that attributes installs, app opens, and in-app events across mobile ad networks, deep links, email, and owned channels. It supports iOS and Android through the Branch SDK and surfaces attribution data through the Branch Query API.

This connector reads attribution and aggregated performance data for a single Branch app. Each data source maps to one Branch account, identified by app key, and exposes installs, opens, clicks, cost, and standard or custom in-app events. Custom events defined in Branch appear automatically once they begin firing. Events are attributed using Branch's per-app last-touch model, which is configured inside Branch rather than in Adriel.

As a measurement connector, attribution events, breakdowns, and currencies are standardized so widgets can aggregate across sources without additional configuration.

To connect this data source, see [How to connect Branch to Adriel](/data-sources/a-f/branch/how-to-connect).

## Data refresh strategy

### Architecture data

Architecture covers the app and event catalog tied to the Branch app key. The event catalog is discovered from data returned by the Query API — new custom events appear automatically once they have fired and propagate into a refresh.

### Reports data

Reports include daily attribution and performance data for the connected Branch app.

**Daily cache.** This is a daily-cache connector: several days of data are refreshed on a daily basis.

**Initial fetch.** After connection, historic daily data from the last **180 days** is retrieved.

**Refresh schedule.** At **5:00 PM UTC**, the latest **5 days** of data are refreshed.

**Rate limiting.** Queries are subject to Branch's **150 requests per hour** limit ([Branch Query API](https://help.branch.io/developers-hub/reference/query-api)). A safety buffer triggers at 135 to leave headroom for retries. All Branch connector instances in the same process share one rate limiter, so concurrent jobs from different data sources contend on the same budget.

## Architecture levels

App → Advertising partner → Campaign → Ad set → Ad → Creative → Keyword

All hierarchy fields come from Branch's `last_attributed_touch_data_tilde_*` family.

## Date range limits

| Breakdown | Max range |
| --------- | --------- |
| Daily     | 93 days   |
| Weekly    | 1 year    |

## Metrics

<Note>
  **How to read the columns**
  **Data type** uses this vocabulary: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean.
  **API Key** in code style like `install` is the literal Branch event name. *Italic text* describes how a value is produced when it doesn't map cleanly to a single Branch field.
</Note>

### Clicks & impressions

| Metric | Description     | Data type | API Key |
| ------ | --------------- | --------- | ------- |
| Click  | Tracked clicks. | Number    | `click` |

### Installs & app events

| Metric                | Description                        | Data type | API Key                 |
| --------------------- | ---------------------------------- | --------- | ----------------------- |
| Install               | Attributed installs.               | Number    | `install`               |
| Reinstall             | Reinstall events.                  | Number    | `reinstall`             |
| Open                  | App opens.                         | Number    | `open`                  |
| Login                 | Login event count.                 | Number    | `login`                 |
| Complete registration | Sign-up / registration count.      | Number    | `complete_registration` |
| Onboarding complete   | Onboarding-complete event count.   | Number    | `on_boarding_complete`  |
| Referral              | Referral event count.              | Number    | `referral`              |
| Opt in                | Opt-in event count.                | Number    | `opt_in`                |
| Opt out               | Opt-out event count.               | Number    | `opt_out`               |
| On duty               | On-duty event count.               | Number    | `on_duty`               |
| EDP open app          | Email-deep-link app open.          | Number    | `edp_open_app`          |
| EDP open sign up      | Email-deep-link sign-up.           | Number    | `edp_open_sign_up`      |
| EDP completed sign up | Email-deep-link completed sign-up. | Number    | `edp_completed_sign_up` |

### In-app revenue

| Metric                  | Description                     | Data type | API Key                   |
| ----------------------- | ------------------------------- | --------- | ------------------------- |
| Add to cart             | Add-to-cart event count.        | Number    | `add_to_cart`             |
| View item               | Single-item view event count.   | Number    | `view_item`               |
| View items              | Multi-item view event count.    | Number    | `view_items`              |
| First purchase          | First-purchase event count.     | Number    | `first_purchase`          |
| Purchase                | All purchase events.            | Number    | `purchase`                |
| Order accepted          | Order-accepted event count.     | Number    | `order_accepted`          |
| Delivery complete       | Delivery-complete event count.  | Number    | `delivery_complete`       |
| First delivery complete | First-time delivery completion. | Number    | `first_delivery_complete` |

### Cost & ROAS

| Metric | Description            | Data type | API Key |
| ------ | ---------------------- | --------- | ------- |
| Cost   | Reported network cost. | Currency  | `cost`  |

### Cache metadata

| Metric    | Description              | Data type | API Key     |
| --------- | ------------------------ | --------- | ----------- |
| Row count | *Cache-layer row count.* | Number    | `row_count` |

Custom in-app events defined in Branch are exposed as metrics automatically the first time they fire and propagate into a refresh.

## Breakdowns

### Attribution touchpoints

All attribution breakdowns map to Branch's `last_attributed_touch_data_tilde_*` fields.

| Breakdown                | Description                                            | API Key                    |
| ------------------------ | ------------------------------------------------------ | -------------------------- |
| Campaign ID              | Group by attributed campaign ID.                       | `campaign_id`              |
| Campaign name            | Group by attributed campaign name.                     | `campaign_name`            |
| Ad set ID                | Group by attributed ad set ID.                         | `adset_id`                 |
| Ad set name              | Group by attributed ad set name.                       | `adset_name`               |
| Ad ID                    | Group by attributed ad ID.                             | `ad_id`                    |
| Ad name                  | Group by attributed ad name.                           | `ad_name`                  |
| Keyword ID               | Group by attributed keyword ID.                        | `keyword_id`               |
| Keyword name             | Group by attributed keyword name.                      | `keyword_name`             |
| Creative ID              | Group by attributed creative ID.                       | `creative_id`              |
| Creative name            | Group by attributed creative name.                     | `creative_name`            |
| Advertising partner name | Group by the attributed advertising partner (network). | `advertising_partner_name` |
| Tags                     | Group by Branch link tags.                             | `tags`                     |

### Time & date grouping

<Note>
  Branch returns daily records; Adriel groups them into these views for reporting.
</Note>

| Breakdown           | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| Auto Time Breakdown | Automatically picks the best granularity for the date range. |
| Daily               | Split reports by day.                                        |
| Weekly              | Split reports by week.                                       |
| Monthly             | Split reports by calendar month.                             |
| Quarterly           | Split reports by calendar quarter.                           |
| Yearly              | Split reports by calendar year.                              |

## Limitations

* **50,000 rows per request** — a single Branch API request returns at most 50,000 rows; very wide queries may be truncated ([Branch Query API](https://help.branch.io/developers-hub/reference/query-api)).
* **No zero-activity rows** — Branch does not return rows for date and breakdown combinations with zero activity, and the connector does not reinsert empty rows. Downstream dashboards should treat absent rows as zero, especially when averaging over sparse data.
* **Missing breakdown values become `unknown`** — when Branch has no value for a breakdown on a given event, the literal string `unknown` is stored rather than null, keeping groupings consistent.
* **Missing metrics default to 0** — after Branch's per-event responses are merged, any metric not present in a row is backfilled with `0` rather than null.
* **Shared rate limit** — all Branch data sources in the same process share one 150-requests-per-hour budget, with a safety buffer at 135.
* **Deleted elements are not provided** — historical rows for deleted campaigns and other elements are not returned.
* **Generic data source type** — combining Branch with other connector types in a single widget requires blend settings.

## API references

* [Branch Query API](https://help.branch.io/developers-hub/reference/query-api)
* [Branch developer documentation](https://help.branch.io/developers-hub/docs)

## See also

* [How to connect Branch to Adriel](/data-sources/a-f/branch/how-to-connect) (paired how-to)
* [Adjust data reference](/data-sources/a-f/adjust/data-reference) — alternative MMP
* [AppsFlyer data reference](/data-sources/a-f/appsflyer/data-reference) — alternative MMP with broader event coverage
