> For the complete documentation index, see [llms.txt](https://help.branch.io/llms.txt).

# Network Performance and Arbitration

> Compare Branch numbers with ad network reporting to identify and explain campaign discrepancies.

## Overview

When analyzing campaign performance, understanding how your numbers compare to what ad networks report is critical for identifying discrepancies and resolving them quickly. Equally important is understanding how Branch decides which network wins credit when multiple partners claim the same conversion.

Network performance and arbitration give you visibility into both sides of this equation. Network performance surfaces the install, reinstall, and open counts that ad networks report in their own systems. Arbitration shows you how many of those conversions each network claimed and why a particular network won or lost the attribution decision.

## Benefits

Visibility into network-reported performance and arbitration decisions helps you:

- Identify discrepancies between Branch-attributed conversions and network-reported conversions.
- Understand why a specific network won or lost an attribution decision.
- Diagnose unexpected changes in conversion counts by comparing Branch and network data side by side.

## Network performance

Network performance refers to the install, reinstall, and open counts that ad networks report in their own ad manager systems. These are not Branch-attributed numbers. They represent what each network independently reports as conversions it drove.

Branch pulls these network-reported counts when they are available and surfaces them as three new events:

- **Network Installs**
- **Network Opens**
- **Network Reinstalls**

These events are available as column selections in **Ads Analytics** > **Activity** only.

### Available dimensions

Network-reported data includes the following dimensions:

- Ad partner name
- 3p
- Ad account ID
- Campaign
- Campaign ID
- OS

### Network-specific considerations

Not all networks report the same set of events. The table below summarizes which network-reported events are available for each partner.

| Network | Network Installs | Network Opens | Network Reinstalls |
| --- | --- | --- | --- |
| Meta | Yes | Yes | No |
| TikTok | Yes | Yes | No |
| Apple Search Ads | Yes | No | Yes |
| Snap | Yes | Yes | No |
| Google Ads | Yes | Yes | No |

> **Note**
>
> Meta and TikTok don't distinguish between installs and reinstalls. Meta reports both as `mobile_app_install`, and TikTok reports both as `app_install`. If you map reinstalls to the install event in your event config, combine your Branch-reported installs and reinstalls when comparing against the network install count.

## Arbitration

Arbitration shows you how many conversions each SAN (Self-Attributing Network) claimed out of the events Branch sent to them. When Branch sends an install, reinstall, or open to a SAN, the network responds with whether it drove that conversion. This response is the network's "claim" or "ad event."

Branch surfaces arbitration data through three new events and two new fields, all available in **Ads Analytics** > **Activity**.

### Arbitration events

The following events represent the number of conversions each SAN claimed:

- **Arbitration Installs**
- **Arbitration Reinstalls**
- **Arbitration Opens**

These events are available as column selections in **Ads Analytics** > **Activity**.

### Arbitration fields

Branch also introduces two new fields available as dimensions in **Ads Analytics** > **Activity**:

| Field | API field name | Description |
| --- | --- | --- |
| Arbitration Win-Loss Reason | `attributed_false_reason_code` | Describes why a network won or lost the attribution decision. |
| Arbitration Winner | `attributed_false_winner` | Identifies the network that won the attribution decision. |

### Win-loss reason values

The "Arbitration Win-Loss Reason" field contains the following possible values:

| Value | Description |
| --- | --- |
| DID_WIN | The network won the attribution decision. |
| NOT_LAST_TOUCH | The network lost because it was not the last touchpoint before the conversion. |
| OUT_OF_ATTRIBUTION_WINDOW | The network lost because its touchpoint fell outside the attribution window. |
| FRAUD_BLOCKED_POST_ATTR | The network claimed the conversion, but our post-attribution fraud detection system blocked it. |

### Arbitration winner values

The "Arbitration Winner" field identifies the network that won the attribution decision. Possible values include:

- PERSONA
- GOOGLE_AD_WORDS
- TIKTOK
- SNAP
- GOOGLE_MARKETING_PLATFORM
- FACEBOOK
- APPLE_SEARCH_AD
- TWITTER
- OATH
- SAN

### SAN touch data

When Branch attributes a conversion, it asks each SAN whether it claims that conversion. A SAN that claims it responds with the click or impression it's counting. Branch keeps each claim as an `eo_san_touch` record. Each record shows whether Branch credited that SAN. If a SAN lost, the record also holds the reason it lost and the network that won.

In short, SAN touch records show what each SAN claimed for a conversion, and the arbitration fields show how Branch decided between the claims.

To see the records, use either of these options:

- **Branch**: Go to **Exports**, create an export, and select the SAN touch topic. In legacy Branch, you can also select the **SAN Touch** pre-configured export under **Custom Exports**. For legacy steps, see [Custom Exports](https://help.branch.io/marketer-hub/dashboard-custom-exports.md). These exports include the **Attributed False Reason Code** (`attributed_false_reason_code`) and **Attributed False Winner** (`attributed_false_winner`) fields. They have the same API field names as Arbitration Win-Loss Reason and Arbitration Winner.
- **API**: Request the `eo_san_touch` topic in the [Custom Exports API](https://help.branch.io/apidocs/custom-exports/overview.md) or the [Scheduled Log Exports API](https://help.branch.io/apidocs/scheduled-log-exports/overview.md).

Branch doesn't record SAN touches for every account. If you don't see the SAN touch topic when you create an export, contact your Branch account team.

## FAQ

> **What is the difference between Branch-attributed data and network-reported data?**
>
> Branch-attributed data reflects the conversions Branch credits to a network based on its own attribution logic. Network-reported data reflects the conversions the network independently reports in its own ad manager. These numbers often differ due to differences in attribution methodology, windows, and deduplication.

> **Why don't Meta and TikTok show network reinstalls?**
>
> Meta and TikTok don't distinguish between installs and reinstalls in their reporting. Meta groups both under `mobile_app_install`, and TikTok groups both under `app_install`. Because of this, Branch can only surface network installs and network opens for these partners.

> **How do I compare Branch installs to Meta's network installs if I have reinstalls mapped?**
>
> If you map reinstalls to Meta's `mobile_app_install` event in your event config, add your Branch-reported installs and reinstalls together before comparing against the Meta network install count. This ensures an apples-to-apples comparison.

> **What does it mean when a network's arbitration win-loss reason is NOT_LAST_TOUCH?**
>
> This means the network claimed the conversion, but another network had a more recent touchpoint. Branch uses last-touch attribution, so the network with the most recent qualifying touchpoint wins.

> **What does OUT_OF_ATTRIBUTION_WINDOW mean?**
>
> This means the network claimed the conversion, but its touchpoint occurred outside the configured attribution window. The touchpoint was too old to qualify for credit.
