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

# Enable TikTok For Business SAN (New)

> Integrate TikTok For Business with Branch to track installs, events, and optimize campaigns across platforms for effective social advertising.

## Overview

TikTok For Business is a social advertising platform for running campaigns across TikTok, News Feed App Series, Pangle, and Helo. Branch's TikTok For Business integration tracks attribution for installs and post-install events, imports cost and clicks-and-impressions data, and supports SKAdNetwork (SKAN) for iOS.

TikTok For Business is a self-attributing network (SAN), which means TikTok 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 TikTok for Business in the [new Branch experience](https://help.branch.io/marketer-hub/new-branch-overview.md). For information on TikTok for Business in legacy Branch, visit our [legacy guide](https://help.branch.io/marketer-hub/enable-tiktok-for-business.md).

### Partner capabilities

| Capability | Details |
| --- | --- |
| Company type | Self-Attributing Network |
| Deep linking | Supported: • [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 supported <br>• Deferred deep linking is supported via [Branch Ad Links](https://help.branch.io/marketer-hub/ad-links-new.md) |
| 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 | App Install, App Re-engagement |
| Supported platforms | iOS, Android |
| Cost ingestion support | Supported (via API) |
| Pricing models | CPM, CPC, CPA, CPI |
| Engagement Builder Ad Partner Integration | [Available](https://help.branch.io/marketer-hub/enable-engagement-builder.md) |

## Before you begin

To set up the TikTok For Business 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 TikTok For Business account with admin access and at least one TikTok App ID configured in TikTok Events Manager.

## Data sharing and access

You can access log-level TikTok For Business attribution data through Branch's [Custom Exports API](https://help.branch.io/apidocs/custom-exports/overview.md) and [Webhooks](https://help.branch.io/marketer-hub/webhooks.md) for your own internal analysis and reporting.

However, per TikTok's data-sharing requirements, Branch can't forward TikTok For Business attribution data to any other analytics or measurement platform. This means integrations you've connected to Branch (such as Adobe Analytics, Amplitude, or other data/analytics partners) won't receive TikTok For Business click or view data.

## Data retention

Branch purges last-attributed TikTok data fields after 60 days. Branch retains event data it collects directly (such as mobile device ID) but wipes data it would not have without TikTok For Business sharing, such as campaign info.  
  
Branch keeps all of the event data that was sent from TikTok For Business on the event, such as mobile device ID. Branch wipes all data that we would not have without TikTok For Business sharing, such as campaign info.

## Other data considerations

- **View-through conversion raw data restrictions**: For view-through attributed events, only aggregate data is available in the Branch platform and our APIs. Raw data exports and webhooks include limited touch data, only day, month, and year are available for the touch timestamp; hour, minute, and second are removed.
- **Time zone lock**: TikTok Ads Manager time zones are set at account creation and can't be changed. If your TikTok and Branch time zones differ, daily attribution totals won't align. You can update your Branch time zone in Configuration > App Settings > General to match TikTok.

## Enable TikTok For Business

Setting up TikTok For Business in Branch requires three steps:

1. **In TikTok**: Locate your TikTok App IDs in TikTok Events Manager.
2. **In Branch**: Connect with TikTok For Business SAN and enter your App IDs in Account Settings.
3. **(Recommended) In TikTok**: Enable Advanced SAN to maximize attribution coverage by adding your Branch Key to TikTok Events Manager.

### Find your TikTok App IDs

TikTok App IDs (also called TTAIDs) are generated in TikTok Events Manager. You need one App ID per platform (iOS and Android). See TikTok's [documentation](https://ads.tiktok.com/resources/help/article/how-to-generate-a-tiktok-app-id?redirected=2) for instructions on generating a TikTok App ID.

### Connect TikTok For Business to Branch

1. In Branch, navigate to **Configuration > Ad Partners > TikTok For Business SAN**.
2. Select **Connect with TikTok For Business SAN** to open the Manage account panel.
3. Select **Sign in with TikTok For Business SAN** and authenticate with your TikTok For Business 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.
4. In **Account Settings**, under **TikTok Ads**, enter your TikTok App IDs:

   - iOS TikTok App ID
   - Android TikTok App ID
5. Select **Save**.

### Enable Advanced SAN (recommended)

Advanced SAN sends both Branch Ad Link and SAN attribution results to TikTok, maximizing attribution coverage. For accounts where the correct TikTok App ID was provided during setup, Advanced SAN may be enabled automatically. If it's not, you can configure it manually.

To enable Advanced SAN manually:

1. In Branch, navigate to **Configuration > Security & Access > Credentials** and copy your Branch Key (begins with `key_live_`).
2. In TikTok Events Manager, follow [TikTok's instructions](https://ads.tiktok.com/resources/help/article/integrate-to-san-for-new-apps) to transition your app to the SAN integration. Paste your Branch Key into the **Partner Token** field in the **Edit Tracking** module on your app details page, then select **Confirm**.

To verify whether your app is already on TikTok's SAN integration, see [TikTok's documentation](https://ads.tiktok.com/resources/help/article/how-to-check-if-your-app-is-on-san-integration).

## Configure attribution

To configure attribution windows, select the **Attribution windows** tab on the TikTok For Business SAN page.  
  
To minimize discrepancies when comparing Branch and TikTok For Business reporting, match your Branch attribution windows to the settings in your TikTok For Business account.

| Attribution type | Default | TikTok For Business's recommendation |
| --- | --- | --- |
| Click to start session | 1 day | 7 days |
| Click to install | 7 days | 7 days |
| Click to conversion event | 30 days | 7 days |
| Impression to start session | 1 day | 1 day |
| Impression to install | 1 day | 1 day |
| Impression to conversion event | 7 days | 1 day |
| Deep linking duration | 120 minutes | — |

## Configure events

To configure event mappings, select the **Event config** tab on the TikTok For Business SAN 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-TikTok event name reference is in [Data mappings](#data-mappings) below.

If you plan to run TikTok SKAN campaigns and are tracking Branch Custom Events, map your Branch Custom Event to a TikTok Standard Event in the **Event config** tab.

## Verify your data

After your integration is connected and events are flowing, you can verify data is reaching TikTok For Business 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 = TikTok For Business SAN`.
- **In TikTok Ads Manager**: confirm that conversion events appear in your campaign reporting.

## TikTok For Business privacy frameworks

### SKAdNetwork

TikTok For Business supports SKAN for iOS via direct SKAN postbacks to Branch. SKAN is supported for App Install campaigns; App Re-engagement campaigns don't support SKAN.

SKAN setup for TikTok For Business uses Branch's SKAN Conversion Center. See [Enable SKAdNetwork](https://help.branch.io/marketer-hub/enable-skadnetwork.md) for setup instructions. If you are tracking Branch Custom Events and plan to use them for SKAN conversion value mapping, ensure those events are mapped to a TikTok Standard Event in the **Event config** tab.

TikTok SKAN postbacks include campaign-level and ad set-level data, but don't include ad-level or creative-level data.

## TikTok Smart+ campaigns

TikTok Smart+ campaigns use TikTok's AI to automate campaign setup, audience targeting, and creative optimization. Smart+ campaigns report data differently from manual campaigns, which affects how campaign dimensions appear in Branch.

| Campaign type | Account | Campaign | Ad set | Ad | Creative |
| --- | --- | --- | --- | --- | --- |
| Manual campaigns | ✓ | ✓ | ✓ | ✓ | — |
| Smart+ campaigns | ✓ | ✓ | ✓ | Creative (mapped to ad) | — |
| Upgraded Smart+ campaigns | ✓ | ✓ | ✓ | ✓ | ✓ |

Learn more about Smart+ campaigns in [TikTok's documentation](https://ads.tiktok.com/resources/help/article/about-smart-plus-campaign).

## Data mappings

### Campaign data

| Branch field | TikTok field | Definition | Possible values |
| --- | --- | --- | --- |
| `~advertising_partner_name` | — | Automatically set by Branch when TikTok claims attribution. | "TikTok SAN" |
| `~campaign` | `campaign_name` | Name of the TikTok campaign. | TikTok campaign name |
| `~campaign_id` | `campaign_id` | Unique ID of the TikTok campaign. | TikTok campaign ID |
| `~ad_set_name` | `ad_group_name` | Name of the TikTok ad group (ad set). | TikTok ad group name |
| `~ad_set_id` | `ad_group_id` | Unique ID of the TikTok ad group. | TikTok ad group ID |
| `~ad_name`, `~creative_name` | `ad_name` | Name of the TikTok ad. | TikTok ad name |
| `~ad_id`, `~creative_id` | `ad_id` | Unique ID of the TikTok ad. | TikTok ad ID |
| `~placement` | `placement` | The placement where the ad was shown. | TikTok, News Feed App Series, Pangle, Helo |
| `~country` | `country` | User's country. | 2-letter country code |
| `last_attributed_touch_type` | `attribution_type` | Type of touch that drove the attribution. | `CLICK`, `IMPRESSION` |

### Event names

| Branch event | TikTok event |
| --- | --- |
| `INSTALL` | `InstallApp` |
| `OPEN` | `LaunchAPP` |
| `VIEW_ITEM` | `ViewContent` |
| `ADD_TO_CART` | `AddToCart` |
| `INITIATE_PURCHASE` | `Checkout` |
| `PURCHASE` | `Purchase` |
| `ADD_PAYMENT_INFO` | `AddPaymentInfo` |
| `COMPLETE_REGISTRATION` | `Registration` |
| `SEARCH` | `Search` |
| `ACHIEVE_LEVEL` | `AchieveLevel` |
| `SUBSCRIBE` | `Subscribe` |
| `CLICK_AD` | `InAppADClick` |
| `VIEW_AD` | `InAppAdImpr` |
| `COMPLETE_TUTORIAL` | `CompleteTutorial` |
| `LOGIN` | `Login` |
| `ADD_TO_WISHLIST` | `AddToWishlist` |
| `SPEND_CREDITS` | `SpendCredits` |
| `RATE` | `Rate` |
| `START_TRIAL` | `StartTrial` |
| `UNLOCK_ACHIEVEMENT` | `UnlockAchievement` |
| — | `CreateGroup` |
| — | `CreateRole` |
| — | `GenerateLead` |
| — | `JoinGroup` |
| — | `LoanApplication` |
| — | `LoanApproval` |
| — | `LoanDisbursal` |

## Data limitations

Be aware of the following TikTok For Business-specific data behaviors in Branch:

- **No third-party data sharing**: TikTok For Business data isn't shared with third parties. Data integration partners connected to Branch won't receive TikTok For Business attribution data, including both click and view-through data.
- **View-through conversion raw data restrictions**: For view-through attributed events, only aggregate data is available in the Branch platform and our APIs. Raw data exports and webhooks include limited touch data, only day, month, and year are available for the touch timestamp; hour, minute, and second are removed.
- **Time zone lock**: TikTok Ads Manager time zones are set at account creation and can't be changed. If your TikTok and Branch time zones differ, daily attribution totals won't 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 TikTok.
- **60-day purge**: Branch purges last-attributed TikTok For Business data after 60 days.

## Troubleshooting

> **Branch and TikTok numbers don't match**
>
> Some discrepancy between Branch and TikTok For Business is expected. Common causes include:
>
> - **Attribution window mismatch**: TikTok's default click-through window is 7 days; Branch's default is 1 day for session start. Align your Branch attribution windows to TikTok's recommendations (7/7/7 for click, 1/1/1 for impression) to minimize gaps.
> - **Time zone mismatch**: TikTok Ads Manager time zones are fixed at account creation. If your Branch and TikTok 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**: Branch attributes by conversion date; TikTok attributes by click date. For events that occur days after the click, daily totals will differ even though cumulative totals align over time.
> - **iOS attribution methodology**: Branch combines iOS attribution across all integrated ad networks including SKAN. TikTok Ads Manager displays only SKAN attribution results for iOS apps.
>
> See [Common Sources of SAN Reporting Discrepancies](https://help.branch.io/marketer-hub/common-sources-of-san-reporting-discrepancies.md) for the full list.

> **TikTok For Business data not appearing in data integration exports**
>
> TikTok For Business restricts data sharing with third parties. Attribution data from TikTok For Business (including both click and view-through data) isn't passed to data integration partners connected to Branch. This is a TikTok platform restriction, not a Branch configuration issue. Aggregate TikTok For Business data remains available in Branch dashboards and APIs.

> **SKAN data missing for re-engagement campaigns**
>
> TikTok For Business doesn't support SKAN for App Re-engagement campaigns. SKAN postbacks are only available for App Install campaigns. Re-engagement campaign performance is measured through TikTok's SAN attribution rather than SKAN.

## Additional resources

For more on TikTok For Business and Branch, see [Common Sources of SAN Reporting Discrepancies](https://help.branch.io/marketer-hub/common-sources-of-san-reporting-discrepancies.md) and TikTok's guide on [reporting discrepancies between TikTok Ads Manager and MMPs](https://ads.tiktok.com/resources/help/article/about-reporting-discrepancies-between-tiktok-ads-manager-and-mmps).
