Skip to main content

Data mismatch in TikTok Smart+ campaigns

Fix mismatched or duplicated TikTok Smart+ campaign data in Funnel and downstream systems.

If you run TikTok Smart+ campaigns, you may see mismatched or duplicated data in Funnel. This happened because TikTok's API was returning Creative IDs in the Ad ID and Ad Name fields instead of the correct ad-level values. Funnel has deployed a fix, but if you've already exported data downstream, you may need to do some manual cleanup.

​

Error message or symptoms

There is no explicit error message. You may notice metrics appearing under unexpected ad names or IDs, or duplicated rows in your downstream tables, specifically in Smart+ campaign date ranges.

​

When does this occur

  • You are running TikTok Smart+ campaigns (standard campaigns are not affected)

  • Your data was downloaded by Funnel before the fix was deployed

  • Your downstream systems use ad_id as a primary key for upserts

​

Root cause

TikTok's API incorrectly populated the Ad ID and Ad Name fields with Creative IDs for Smart+ campaigns. Funnel has since switched to TikTok's corrected fields (ad_id_v2), which return the actual ad-level values. Because Funnel deduplicates data by date interval, your older intervals may still contain Creative IDs while newer intervals contain the correct Ad IDs. Granularity can differ across time periods until the historical refresh completes.

​

Solution

Funnel has deployed a fix that pulls from the corrected ad_id_v2 fields. You don't need to take any action within Funnel — your historical data will be refreshed automatically. To check whether a date range has been refreshed, compare the Ad IDs in Data Explorer against TikTok Ads Manager.

​

Workaround

If your downstream systems (data warehouses, ETL pipelines) use ad_id as a primary key and you're seeing duplicate rows, the old rows keyed on Creative IDs won't be overwritten by the new rows keyed on Ad IDs. To resolve this:

​

  1. Identify the affected date ranges (periods before the fix was applied).

    ​

  2. Either re-process the exported data for those ranges, or clear and backfill the affected downstream tables once Funnel has fully refreshed your historical data.

​

This cleanup is outside Funnel's control once your data has been exported.

​

Related resources

Did this answer your question?