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

# TikTok managed account setup

> Client-owned TikTok advertisers, FloKit Agency Business Center access, Spark identity and verification.

> [!WARNING]

## Ownership and control

FloKit uses an Agency Business Center. The client uses its own Advertiser Business Center and owns the advertiser account, brand identity, measurement assets, campaign history and funding arrangement. The client grants FloKit partner access to selected assets; FloKit assigns its team and operates approved campaigns inside the client's advertiser.

```mermaid theme={null}
flowchart TD
  C[Client Business Center: owner] --> A[Client advertiser account]
  C --> I[Client TikTok identity and measurement assets]
  C -->|Selected partner permissions| F[FloKit Agency Business Center]
  F --> G[FloKit application authorization and operator assignment]
  G -->|Exact advertiser and identity binding| A
  A --> R[Client campaigns and advertising cost]
```

Creating an advertiser inside FloKit's Business Center is a different ownership model. Naming it after the client does not make it client-owned. Do not transfer ownership or consolidate client funding to complete an integration.

This follows the ownership principle of [managed Meta setup](https://docs.flokitai.com/guides/meta-managed-account-setup.md), using TikTok's own authorization mechanisms.

## Before connecting

| Owner | Prerequisite | Evidence to confirm |
| - | - | - |
| Client administrator | Client Business Center and advertiser | Actual owning Business Center, advertiser ID, account status, currency and time zone |
| FloKit administrator | Agency Business Center and application | FloKit's Business Center ID and usable application authorization |
| Client administrator | Partner access | Intended advertiser role and explicitly shared assets |
| TikTok profile owner | Ad-delivery identity authorization | The identity and Spark post the advertiser may use |
| Client administrator | Measurement assets, where needed | Correct event source and advertiser association |
| Client budget owner | Funding and campaign scope | Approved payer, amount, schedule and objective before any activation |

Use separate named users and existing suitable assets. No customer should send FloKit a password or paste an access token into chat.

## Step 1: create or reuse the correct Business Centers

FloKit selects the agency business type; the client selects the advertiser business type. The client creates or retains its advertiser under the client-owned Business Center and maintains its funding arrangement. Confirm the actual owner rather than inferring it from the account name.

See [creating a TikTok Business Center](https://ads.tiktok.com/help/article/create-tiktok-business-center?lang=en) and [agency payment/account ownership](https://ads.tiktok.com/help/article/manage-payment-agency-business-center?lang=en).

## Step 2: the client grants FloKit partner access

In the client Business Center, an administrator opens **Partners > Add partner**, enters FloKit's Business Center ID and selects the intended advertiser/assets and permissions. Review the selections and confirm. Another documented path for an existing asset is **Accounts > Advertiser accounts > Owned by this Business Center > View > Partners > Share with partner**.

Grant **Operator** for campaign management or **Analyst** for reporting only. Grant broader account administration only when separately justified. A primary-agency designation should reflect the real relationship; do not assign it automatically when the client has another agency or internal buying team.

The agency assigns its own authorized staff to the shared assets. A partnership record does not mean every FloKit staff member or every client asset is accessible.

See [inviting partners](https://ads.tiktok.com/help/article/invite-partners-into-tiktok-business-center?lang=en) and [changing partner permissions](https://ads.tiktok.com/help/article/change-the-permissions-for-your-tiktok-business-center-partner?lang=en).

### Operator includes finance capabilities

TikTok's published advertiser permissions matrix gives Operator access to ad creation/editing, audiences, reporting and finance, but not advertiser-account settings. Analyst is reporting-only.

FloKit's application can restrict its own funding operations and require approved campaign budgets, but those restrictions do not remove permissions a human operator has directly inside TikTok. Keep the client responsible for funding and do not claim Operator is a finance-free role. Payment methods, credit lines, transfers and top-ups are outside this setup workflow.

See the current [account and asset permissions matrix](https://ads.tiktok.com/help/article/about-assets-and-asset-level-permissions?lang=en).

## Step 3: authorize the TikTok identity separately

For Spark Ads, advertiser access and permission to use a TikTok identity/post are separate requirements. In Business Center, use **Accounts > TikTok accounts > Add a TikTok Account > Link an existing account > Send a QR code** and request **Deliver ads**. The profile owner reviews the request, scans the QR code and authorizes the appropriate use. Link the authorized identity to the intended advertiser.

Review the exact post and publishing permissions requested by the current interface. Do not request general organic publishing or account-management authority simply to run an approved ad. A profile connection alone does not prove that a particular Spark post is available or authorized for the selected advertiser.

See [TikTok ad-delivery permissions](https://ads.tiktok.com/help/article/how-to-request-tiktok-account-ad-delivery-permissions-in-business-center).

## Step 4: connect FloKit's application

Open the correct client App in FloKit and use **Governance > Integrations > TikTok** to complete the application authorization. Select the exact client advertiser rather than the first returned option. FloKit verifies the exact advertiser share to the FloKit Agency Business Center independently of OAuth. The connection first identifies which Business Center side the OAuth principal can administer. Client-side authorization verifies `share_type=SHARING`; FloKit agency-side authorization verifies the reciprocal `share_type=SHARED`. In either case, the selected advertiser must appear on the same client-to-FloKit share edge.

A list of advertiser IDs returned by OAuth proves only the grant's reported advertisers. It does not by itself prove which business owns them or whether FloKit is the client's delegated agency. No tokens should appear in the browser, support messages or exported diagnostics.

After changes to the advertiser, partner permissions or profile authorization, revalidate the affected binding. Historical campaigns and another App's configuration should remain unchanged.

## Step 5: qualify the supported campaign path

The current first-campaign implementation is deliberately narrow: one existing authorized Spark post, a Traffic objective optimized for Landing Page View, a TikTok placement, and an approved FloKit destination. Uploaded-video ads, organic posting, purchase optimization, Shop/catalogs and native app-install campaigns are not implied by this setup.

FloKit validates advertiser eligibility, identity/post access, source-creative provenance, destination, currency, time zone, country, budget and schedule. Unsupported combinations must be reported, not silently changed. A provider minimum above the approved budget is a blocker, not authorization to increase it.

The existing preparation process creates a separate TikTok draft and acquisition publication from the approved source. It must preserve existing source campaigns and commercial settings. Provider objects are prepared disabled and read back before any separately approved activation.

For Landing Page View, TikTok documents that a Pixel is not required. A missing purchase-optimization integration is therefore not a reason to invent a different pilot objective. Share and validate a Pixel separately when the selected objective or agreed measurement workflow requires it. See [Landing Page View](https://ads.tiktok.com/help/article/landing-page-view?lang=en).

## Step 6: verify attribution and measurement

Check the actual served destination, not only the stored draft. When reusing an existing Flow, the TikTok acquisition publication must attribute events and checkout to the TikTok campaign. Changing UTMs on a publication owned by another campaign is not sufficient.

Preserve genuine TikTok click identifiers when they exist; do not fabricate a click ID to label a test as paid attribution. Distinguish first-party Flow/checkout measurement from outbound TikTok event delivery and from the optimization goal configured in TikTok. A successful LPV test does not prove purchase optimization or a complete TikTok Events API implementation.

Use approved synthetic identities for browser checks and supported test facilities for provider events. A real charge requires a specifically approved test instrument and financial scope. Do not infer revenue from a frontend success message, report a rate as monetary value, or reclassify an unrelated historical purchase as this campaign's E2E evidence.

## Troubleshooting

| Symptom | Check | Do not do |
| - | - | - |
| Client advertiser absent | Partner grant, application authorization and exact advertiser access | Create a replacement under FloKit and call it client-owned |
| Reports work but creation fails | Analyst vs Operator, current provider permission and application readiness | Broaden all client/business permissions automatically |
| Spark identity/post unavailable | Separate Deliver ads permission and the selected post's accessibility | Publish new organic content without authorization |
| Profile works but conversion setup fails | Separate Pixel/event-source association and selected objective | Treat profile permission as measurement permission |
| Provider rejects the campaign | Currency, supported objective, budget, schedule and identity eligibility | Raise the budget or change optimization silently |
| A grant expires or is revoked | Reauthorize the intended application connection and revalidate | Paste a replacement credential into chat |

## Offboarding and completion

Agree whether existing campaigns continue under the client or stop. Verify required pauses before removing partner/application access. Disconnecting FloKit does not itself stop existing ads. Preserve the client's account, payment arrangement, assets and historical reporting.

Completion requires verified client ownership, FloKit delegation, software authorization, advertiser and Spark identity/post binding, the applicable event source, disabled-creation/read-back evidence, the correct served acquisition Flow and separately approved activation. Record unfinished checks as blocked, not ready.

For the corresponding Reddit model, see [Reddit managed account setup](https://docs.flokitai.com/guides/reddit-managed-account-setup.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.