Connect TikTok Ads to Kreel
Kreel brings your ecommerce data into one place. Once you connect TikTok Ads, your campaign, ad group, and ad performance shows up next to your store revenue, email performance, and spend on other ad platforms, so you can see how TikTok contributes to the business. You can also connect that data to your own AI agent over MCP or the CLI.
Before you start
Section titled “Before you start”You need:
- A Kreel account. Sign up at app.kreel.ai.
- The owner or admin role in your Kreel workspace, since connecting a new platform requires it.
- A TikTok for Business login with access to the advertiser account(s) you want to connect, since you authorize the connection with your own TikTok login.
- Each advertiser’s reporting currency and timezone, visible in TikTok Ads Manager under account settings. TikTok’s API doesn’t expose an advertiser’s timezone at all, and only reports its currency once the advertiser has spent something, so you may need to confirm one or both by hand during connect.
Connect TikTok Ads
Section titled “Connect TikTok Ads”- Sign in to Kreel at app.kreel.ai.
- In the left navigation, open Connections.
- Find TikTok Ads and click Connect.
- You are sent to TikTok to authorize the connection. Review the permissions and approve. Kreel requests read-only access: reporting, and read access to ad account structure.
- TikTok returns you to Kreel and opens the advertiser picker.
Choose advertisers
Section titled “Choose advertisers”One TikTok login can reach more than one advertiser, sometimes across unrelated businesses - reaching an advertiser isn’t the same as authorizing Kreel to sync it. Tick only the advertisers that belong to this brand.
- Kreel opens Choose TikTok advertisers after authorization. Tick every advertiser this brand should sync - you can connect several to the same brand, the same way Kreel handles multiple Meta or Google Ads accounts.
- For each advertiser you tick, confirm its currency and timezone:
- If TikTok’s reporting API already shows a currency for that advertiser (it can only do this once the advertiser has some lifetime spend), the field is pre-filled and locked. Otherwise, type the three-letter currency code shown in that advertiser’s Ads Manager account settings.
- Timezone is always typed by hand, as an IANA zone name (for example
Europe/Paris), because TikTok’s API never reports one - only a display label like “(UTC+01:00) Paris Time”, which isn’t precise enough to bucket days correctly around DST changes. Ads Manager’s account settings page shows the display label; use it to find the matching IANA zone.
- Connect accounts stays disabled until every ticked advertiser has both fields filled in.
- If an advertiser belongs to another TikTok login, use Access more accounts to authorize that login first.
If no advertiser is connected yet, Kreel shows the connection as needing an account selection and does not sync any TikTok data until you pick one. Each connected advertiser syncs independently, and Kreel blends them by default. Use the dashboard account filter to focus on one advertiser, select a subset, or use a saved cross-platform group. See Multiple connected accounts for the full workflow.
What Kreel reads
Section titled “What Kreel reads”Kreel connects with read-only access. It requests reporting access and read access to your ad account structure (campaigns, ad groups, ads, and their creative assets). None of this lets Kreel change, pause, or delete anything in your TikTok ad account.
What gets synced
Section titled “What gets synced”Structure: campaigns, ad groups, and ads, including status, and for each ad, its creative when TikTok exposes a fetchable asset (see Creative below).
Performance: daily, ad-level metrics, including:
- Spend, impressions, and clicks.
- Website purchases and their value, based on TikTok’s
complete_paymentconversion event under each ad group’s own attribution settings. These are TikTok-attributed conversions, not Shopify orders - they are not store revenue, and Kreel never adds them to it. - CTA and VTA goal conversions, reported separately from website purchases and never folded into them - they’re TikTok’s optimization-goal conversions, not necessarily purchases.
- Derived metrics Kreel calculates from the above: CPM, CPC, CTR, ROAS, and CPA.
A day TikTok reports as structurally unavailable (-) is left out of totals rather than shown as zero, so a genuinely quiet day and a day TikTok can’t report on don’t look the same.
Kreel does not write anything back to TikTok. It only reads data to display it back to you and to your connected AI agent.
Creative
Section titled “Creative”TikTok ad creative feeds the same Creative page as Meta, in its own platform mode - the two are never blended.
A handful of things are specific to TikTok there:
- Some metrics aren’t available. TikTok’s ad-level reporting doesn’t include reach, frequency, link clicks, or Meta’s hook/hold/thumbstop video-engagement rates. These are left out of TikTok’s numbers rather than shown as zero.
- Not every ad has a fetchable creative. An ad with no downloadable video or image - including TikTok’s
LIVE_CONTENTandCATALOG_CAROUSELformats, which have no static asset at all - still keeps its performance data and stays on the Lifecycle board, but shows up as spend without a creative rather than a broken tile. - Spark Ads (ads that boost an organic TikTok post) need an extra permission, TikTok’s “Read identity” scope, to fetch the post’s video as the ad’s creative. If your connection predates Kreel gaining that permission, the TikTok row on Connections shows a Reconnect to unlock creatives prompt. Reporting is unaffected either way - only the creative gallery for Spark Ads is waiting on it. Re-authorizing (see below) picks it up.
History depth and sync cadence
Section titled “History depth and sync cadence”When you first connect TikTok Ads, or run a full re-sync, Kreel progressively backfills up to 2 years of history, the same target depth as Meta Ads and Google Ads. The most recent 30 days land first so your dashboard is usable within minutes, then Kreel works backward through older history in the background.
After that, TikTok Ads syncs on its own on this cadence:
- Daily, Kreel re-fetches the trailing 30 days of performance, since TikTok keeps revising recent totals for a while after each day closes.
- Like other ad platforms, TikTok data is reported through yesterday, not today.
You can also trigger a sync yourself from Connections:
- Re-sync runs a routine incremental update.
- Full re-sync (up to 2 years) re-runs the full historical backfill described above. Use it if data looks missing or stale rather than for routine updates.
See Sync & data freshness for how this compares across all platforms.
Reconnecting
Section titled “Reconnecting”TikTok issues Kreel a long-lived token with no automatic refresh. In the normal case you won’t need to do anything - the connection just keeps working indefinitely.
If TikTok revokes the grant (for example, you removed Kreel’s access in TikTok’s own settings), the TikTok Ads row in Connections shows Action required. Click Re-authorize and approve the TikTok login screen again.
Separately, the softer Reconnect to unlock creatives prompt described above can appear even on a healthy connection - it just means TikTok has granted Kreel a new permission since you connected, and re-authorizing once will pick it up.
See your data
Section titled “See your data”Once the first sync finishes:
- Open the Paid Ads section to see TikTok campaign performance next to Meta Ads and Google Ads.
- Open the Creative section, switch its platform mode to TikTok, to see your synced creative with performance broken out by asset.
- Open the Performance section to see TikTok spend next to Shopify revenue, email, Meta Ads, and Google Ads. TikTok gets its own row there, separate from Meta’s paid-social row, since the two platforms attribute conversions differently.
Connect your AI agent (optional)
Section titled “Connect your AI agent (optional)”If you use an AI assistant like Claude or ChatGPT, you can connect Kreel to it over MCP or the CLI and ask questions about your TikTok Ads data directly.
Disconnect
Section titled “Disconnect”To disconnect TikTok Ads, open Connections, expand the TikTok Ads row, and click Revoke. Confirming stops all syncing immediately and discards the stored credentials. Synced TikTok Ads data is kept for 90 days in case you reconnect, then permanently deleted.
To remove only one advertiser while keeping sibling advertisers connected, expand Details and use Remove on that account row. Reconnecting the same advertiser within 90 days keeps its history.
Need help?
Section titled “Need help?”Email support@kreel.ai and we will help you get connected.