Why Do I See Generic Ad IDs and Names for TikTok Ads Smart+ Campaigns?
Question
Why do I see generic ad_id and ad_name values for Smart+ Campaigns in the destination instead of the names configured in TikTok Ads?
Environment
Connector: TikTok Ads
Answer
Smart+ 2.0 campaigns use a four-level hierarchy:
- Campaign
- Ad Group
- Ad
- Creative
This differs from traditional, non-Smart+ campaigns, which use a three-level structure:
- Campaign
- Ad Group
- Ad
Because of this structural difference, Smart+ creatives may appear with generic ad_id and ad_name values in the AD_HISTORY table. Fivetran supports Smart+ metadata through dedicated Smart+ tables and an additional column in the AD_HISTORY table.
Smart+ ads and creative tables
You can find Smart+ ad-level data in the following tables:
SMART_PLUS_AD_HISTORYSMART_PLUS_AD_CREATIVE_INFOSMART_PLUS_DEEPLINK_UTM_PARAMSMART_PLUS_UTM_PARAM
You can find Smart+ creative-level data in the following tables:
SMART_CREATIVE_MATERIAL_HISTORYSMART_CREATIVE_MATERIAL_MEDIA_INFO_HISTORYSMART_CREATIVE_MATERIAL_AD_TITLE_HISTORY
For more information, see the TikTok documentation on Getting Upgraded Smart+ Ads and Getting Smart Creative materials.
How Fivetran models Smart+ data
The AD_HISTORY table includes a smart_plus_ad_id column. For Smart+ creative rows, this column holds the ID of the parent Smart+ ad, the third level of the Smart+ hierarchy. The SMART_PLUS_AD_HISTORY table corresponds to the TikTok dedicated Smart+ Ad endpoint and contains ad-level metadata, including the correct ad_name.
How to get the correct ad_name
We recommend handling Smart+ and manual campaigns differently in your queries:
- Manual, non-Smart+ campaigns: Use
AD_HISTORY.ad_name. - Smart+ campaigns: Join
AD_HISTORYtoSMART_PLUS_AD_HISTORYonAD_HISTORY.smart_plus_ad_idand use thead_namefromSMART_PLUS_AD_HISTORY.