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

# Enable Snap (New)

> Integrate Snap with Branch for effective campaign tracking, advanced conversions, and privacy-preserving measurement on iOS.

## Overview

Snap is a mobile-first social platform for running campaigns across Snapchat and the Snap Audience Network. Branch's Snap integration tracks attribution for installs and post-install events, imports cost data, and supports SKAdNetwork (SKAN) for iOS.

Snap is a self-attributing network (SAN), which means Snap runs its own attribution and reports results back to Branch via API rather than receiving traditional Postbacks from Branch.

For more information about integrating ad partners in general, visit our [Ad Partner Integration Guide](https://help.branch.io/marketer-hub/ad-partner-integration-guide-new.md).

> **Note: this guide is for new Branch**
>
> Please note that this guide is about integrating Snap in the [new Branch experience](https://help.branch.io/marketer-hub/new-branch-overview.md). For information on Snap in legacy Branch, visit our [legacy guide](https://help.branch.io/marketer-hub/snap.md).

### Partner capabilities

| Capability | Details |
| --- | --- |
| Company type | Self-attributing network (SAN) |
| Deep linking | Limited: • URI scheme pass-back via the Snap `DEEPLINK URI` field is supported <br>• [Universal Links](https://help.branch.io/developer-hub/ios-universal-links.md#overview) and [App Links](https://help.branch.io/developer-hub/android-app-links.md#overview) are not supported in Snap paid media campaigns |
| Attribution | Click-through attribution, View-through attribution, [Engaged View-through attribution](https://help.branch.io/marketer-hub/engagement-attribution-for-sans.md), [Engaged Click-through attribution](https://help.branch.io/marketer-hub/engagement-attribution-for-sans.md) |
| Ad campaign types | Drive Traffic to App (installs and re-engagement), Snap Audience Network |
| Supported platforms | iOS, Android |
| Cost ingestion support | Supported (via API) |
| Pricing models | CPM, CPC, CPA |
| Engagement Builder Ad Partner Integration | [Available](https://help.branch.io/marketer-hub/enable-engagement-builder.md) |

## Before you begin

To set up the Snap integration, you need:

- Ad partner integrations enabled for your Branch account. Availability varies by Branch plan. See [Branch pricing](https://www.branch.io/pricing/) or contact your Branch representative.
- A Branch account with access to **Configuration > Ad Partners** and admin permissions to enable and configure integrations.
- A Snap Business Manager account with admin access and at least one Snap App ID configured.

## Enable Snap

Setting up Snap in Branch requires three steps:

1. **In Snap**: Locate your Snap App IDs in Snap Business Manager.
2. **In Branch**: Connect with Snap and enter your App IDs in Account Settings.
3. **(Optional) In Branch**: Enable Snap Advanced Conversions for iOS privacy-preserving measurement.

### Find your Snap App IDs

Snap App IDs are generated in [Snap Business Manager](https://business.snapchat.com). Each Snap App ID is tied to your advertiser organization. You need one App ID per platform (iOS and Android). Learn more about generating a Snap ID in Snap’s [documentation](https://businesshelp.snapchat.com/s/article/generate-snap-app-id).

**Important:** Only a single Branch user can authenticate the Snap integration. That user must have access to all Snap ad accounts you want to connect.

### Connect Snap to Branch

1. In Branch, navigate to **Configuration > Ad Partners > Snap**.
2. Select **Connect with Snap** and sign in with your Snap account.

   - Follow [Connect with OAuth](https://help.branch.io/marketer-hub/ad-partner-integration-guide-new.md#connect-with-oauth) in the general [Ad Partner Integration Guide](https://help.branch.io/marketer-hub/ad-partner-integration-guide-new.md) for the full sign-in flow.
3. In **Account Settings**, enter your Snap App IDs:

   - iOS App ID
   - Android App ID
4. Select **Save**.

Note that Snap terms and conditions are accepted once per Branch organization. If a teammate has already accepted them, they will appear pre-signed in the Manage account panel.

### Enable Snap Advanced Conversions (optional)

Snap Advanced Conversions is Snap's privacy-preserving conversion measurement for iOS. When enabled, Branch sends hashed conversion data to Snap for users who have opted out of ATT, allowing Snap to model conversions without tying them to individual users. Advanced Conversions is disabled by default.

To enable Snap Advanced Conversions, toggle on the feature in Event config:

1. On the Snap page, select the **Event config** tab.
2. Under **Advanced Conversions**, toggle **Enable Snap Advanced Conversions** to on.
3. Select **Save**.

See [Snap privacy frameworks](#snap-privacy-frameworks) below for a full explanation of how Advanced Conversions works and how to pass hashed PII for Advanced Matching.

## Configure attribution

To configure attribution windows, select the **Attribution windows** tab on the Snap page.

**Important:** Snap attribution windows are configured per account in the Snap advertising interface and vary by advertiser. To minimize discrepancies when comparing Branch and Snap reporting, match your Branch attribution windows to the settings in your Snap account. Contact your Snap account manager for your current window settings.

| Attribution type | Default |
| --- | --- |
| Click to conversion event | 1 day |
| Click to install | 7 days |
| Click to start session | 28 days |
| Household measurement window | 2 days |
| Impression to conversion event | 1 day |
| Impression to install | 1 day |
| Impression to start session | 1 day |

## Configure events

To configure event mappings, select the **Event config** tab on the Snap page.

Follow [Configure events](https://help.branch.io/marketer-hub/ad-partner-integration-guide-new.md#configure-events) in the general [Ad Partner Integration Guide](https://help.branch.io/marketer-hub/ad-partner-integration-guide-new.md) for the event mapping flow. The full Branch-to-Snap event name reference is in [Data mappings](https://help.branch.io/marketer-hub/enable-snap-new.md#data-mappings) below.

Snap supports up to 5 custom event slots (`CUSTOM_EVENT_1` through `CUSTOM_EVENT_5`). You can map any of your Branch Standard Events or Custom Events to these slots in the Event config tab.

## Verify your data

After your integration is connected and events are flowing, you can verify data is reaching Snap and Branch:

- **In Branch** [**Liveview**](https://app.branch.io/testing-and-monitoring/events): confirm events from your app appear in real time. This is the fastest way to confirm SDK events are firing.
- **In Branch** [**Analysis dashboards**](https://help.branch.io/marketer-hub/analysis-dashboards-overview-new.md): review attributed installs and events where `Ad Partner Name = Snap`.
- **In Snap Ads Manager**: confirm that conversion events appear in your campaign reporting under **Ads > Reporting**.

## Snap privacy frameworks

### SKAdNetwork

Snap supports SKAN for iOS via direct SKAN postbacks. To receive SKAN data in Branch and enable Snap to use Branch event names for conversion value optimization, you need to add Branch as an MMP in Snap:

1. In Snap Ads Manager, navigate to **Snap App Details**.
2. In the **Please share postbacks with this MMP** dropdown, select **Branch**.
3. In Branch, confirm that the events you use for SKAN conversion values are mapped to the corresponding Snap event names in the **Event config** tab. Snap requires Snap event names (not Branch event names) for conversion value mapping to work correctly.

### Snap Advanced Conversions

Snap Advanced Conversions is Snap's privacy-centric measurement approach for iOS and allows for campaign optimization for users who have opted out of ATT. It uses cryptographic techniques to measure aggregate conversion data without tying off-platform activity back to individual Snapchatters.

Advanced Conversions applies to iOS only. Android attribution is unaffected. To enable it, see [Enable Snap Advanced Conversions](#enable-snap-advanced-conversions-optional) in the Enable section above.

Once enabled, Advanced Conversions data appears in Snap's dashboard after conversion volume crosses a threshold on Snap's side. Your Snap account team can advise on expected timing.

#### Advanced Matching (optional)

To further improve conversion modeling and remarketing audience quality, you can optionally pass hashed PII, like phone numbers or email addresses, alongside conversion events. This is called Snap Advanced Matching and requires help from your development team. See [Pass Hashed Data to Snap](https://help.branch.io/developer-hub/pass-hashed-data-to-snap.md) in Developer Hub for implementation details.

## Data mappings

### Campaign data

| Branch field | Snap field | Definition | Possible values |
| --- | --- | --- | --- |
| `~advertising_partner_name` | — | Automatically set by Branch when Snap claims attribution. | `Snap` (Static) |
| `~campaign` | `campaign_name` | Name of the Snap campaign. | Snap campaign name |
| `~campaign_id` | `campaign_id` | Unique ID of the Snap campaign. | Snap campaign ID |
| `~ad_set_name` | `ad_squad_name` | Name of the Snap ad squad (ad set). | Snap ad squad name |
| `~ad_set_id` | `ad_squad_id` | Unique ID of the Snap ad squad. | Snap ad squad ID |
| `~ad_name` | `ad_name` | Name of the Snap ad. | Snap ad name |
| `~ad_id` | `ad_id` | Unique ID of the Snap ad. | Snap ad ID |
| `~ad_account_id` | `ad_account_id` | Unique ID of the Snap ad account. | Snap ad account ID |

### Event names

| Branch event | Snap event |
| --- | --- |
| `INSTALL` | `APP_INSTALL` |
| `OPEN` | `APP_OPEN` |
| `REINSTALL_EVENT` | `APP_INSTALL` |
| `VIEW_ITEM` | `VIEW_CONTENT` |
| `ADD_TO_CART` | `ADD_CART` |
| `INITIATE_PURCHASE` | `START_CHECKOUT` |
| `PURCHASE` | `PURCHASE` |
| `ADD_PAYMENT_INFO` | `ADD_BILLING` |
| `COMPLETE_REGISTRATION` | `SIGN_UP` |
| `SEARCH` | `SEARCH` |
| `ACHIEVE_LEVEL` | `LEVEL_COMPLETE` |
| `SUBSCRIBE` | `SUBSCRIBE` |
| `PAGEVIEW` | `PAGE_VIEW` |
| `CLICK_AD` | `AD_CLICK` |
| `VIEW_AD` | `AD_VIEW` |
| `TUTORIAL_COMPLETE` | `COMPLETE_TUTORIAL` |
| `INVITE` | `INVITE` |
| `LOGIN` | `LOGIN` |
| `SHARE` | `SHARE` |
| `RESERVE` | `RESERVE` |
| `UNLOCK_ACHIEVEMENT` | `ACHIEVEMENT_UNLOCKED` |
| `ADD_TO_WISHLIST` | `ADD_TO_WISHLIST` |
| `SPEND_CREDITS` | `SPENT_CREDITS` |
| `RATE` | `RATE` |
| `START_TRIAL` | `START_TRIAL` |
| `VIEW_ITEMS` | `LIST_VIEW` |
| Branch Custom Event | `CUSTOM_EVENT_1` through `CUSTOM_EVENT_5` |

### Event metadata

| Branch SDK field | Snap field | Description |
| --- | --- | --- |
| `content_items[i].$sku` | `item_ids` | EAN or other product/category identifier for items in the event. |
| `quantity` | `number_items` | Number of items in the event. |
| `revenue` | `price` | Monetary value of the conversion event in float format. Do not include currency symbols or commas (for example, `34.24`). |
| `event_data_currency` | `currency` | Three-character ISO 4217 currency code (for example, `USD`). Required if `price` is included. |
| `transaction_id` | `transaction_id` | Transaction ID for the event. |
| `custom_data.search_query` | `search_string` | The text string that was searched. |
| `custom_data.level` | `level` | Level in the game at time of event. |

## Data limitations

Be aware of the following Snap-specific data behaviors in Branch:

- **No compare-by on click and impression data**: Snap's reporting API does not support breaking down click and impression data by platform, OS, or country. Only ads analytics tag dimensions are available for compare-by.
- **Time zone lock**: Snap Ads Manager time zones are set at account creation and cannot be changed. If your Snap and Branch time zones differ, daily attribution totals will not align. You can update your Branch time zone in [**Configuration > App Settings > General**](https://help.branch.io/account-hub/general-new.md#timezone) to match Snap.
- **60-day purge**: Branch purges last-attributed Snap data after 60 days.

- **View-through conversion raw data restrictions**: Snap restricts log-level data for view-through conversions (VTCs). For VTC-attributed events, campaign-level dimensions (Ad Account ID, Campaign ID, Ad Squad ID, Ad ID) and deep link URI are removed from raw data exports, webhooks, data integrations, and postbacks. Aggregate data in the Branch platform and our APIs is unaffected.

| Snap parameter | Branch parameter |
| --- | --- |
| `ad_account_id` | `~advertising_account_id` |
| `ad_id` | `~ad_id` |
| `ad_name` | `~ad_name` |
| `country` | `~country_or_region` |
| `request_id` | N/A |
| `snap_channel` | `~secondary_publisher` |
| `deep_link_url` | `external_intent_uri`, `universal_link_url`, `android_app_link_url` |

## Troubleshooting

> **Branch and Snap numbers don't match**
>
> Some discrepancy between Branch and Snap is expected. Common causes include:
>
> - **Attribution window mismatch**: Confirm your Branch attribution windows match your Snap account settings. Ask your Snap account manager for your current window configuration.
> - **Time zone mismatch**: Snap Ads Manager time zones are fixed at account creation. If your Branch and Snap time zones differ, daily totals will be offset. Align your Branch time zone in [**Configuration > App Settings > General**](https://help.branch.io/account-hub/general-new.md#timezone).
> - **Click date vs. conversion date**: Snap attributes by click date; Branch attributes by conversion date. For events that occur days after the click, daily totals will differ even though cumulative totals align over time.
>
> See [Common Sources of SAN Reporting Discrepancies](https://help.branch.io/marketer-hub/common-sources-of-san-reporting-discrepancies.md) for the full list.

> **Campaign dimensions missing from raw exports for view-through conversions**
>
> Snap restricts log-level data for view-through conversions. Campaign-level fields (including Ad Account ID, Campaign ID, Ad Squad ID, Ad ID, and deep link URI) are removed from raw data exports, webhooks, data integrations, and postbacks for VTC-attributed events. This is a Snap platform restriction, not a Branch configuration issue.
>
> Campaign-level aggregate data remains available in Branch dashboards and aggregate-level APIs, and in Snap's own reporting.

> **Deep links not routing correctly in Snap campaigns**
>
> Snap does not allow iOS Universal Links, Android App Links, or MMP redirect links in the `DEEPLINK URI` field of paid media campaigns. Only URI scheme links are supported. To deep link in Snap campaigns:
>
> - Use your app's URI scheme in the Snap `DEEPLINK URI` field (for example, `yourappscheme://your-key-value`).
> - Set the `FALLBACK TYPE` to `Web Site` and insert a Branch Link into the fallback field. This enables deferred deep linking for users who don't have the app installed. If you select `App Install` as the fallback type, users will be sent to the App Store without a Branch Link and deferred deep linking will not work.
> - If you're running an app campaign with a Branch Link elsewhere in the creative, add `%24deeplink_no_attribution=true` as a query parameter to prevent the Branch Link from claiming attribution over the SAN claim.

## Additional resources

For more on Snap and Branch, see the Snap FAQ and our guide on [Common Sources of SAN Reporting Discrepancies](https://help.branch.io/marketer-hub/common-sources-of-san-reporting-discrepancies.md).
