Skip to main content

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. 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, using TikTok’s own authorization mechanisms.

Before connecting

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 and agency payment/account ownership.

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 and changing partner permissions.

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.

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.

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.

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

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.