Advertising
TikTok Ads schema
SightShark syncs TikTok Ads into a data warehouse you own. It creates 28 tables holding 704 fields, refreshed daily. Campaign, ad group and ad snapshots, plus metrics split into core, video, click, social, app, website, shop, offline and audience tables.
28 tables / 704 fields / Tables from the production sync
Tables and fields
Every table this connector creates, and every field in it, named as you will query it.
ad_core_metrics
32 fields
- ad_id_d
- stat_time_day_d
- spend
- billed_cost
- cash_spend
- voucher_spend
- cpc
- cpm
- impressions
- gross_impressions
- clicks
- ctr
- reach
- cost_per_1000_reached
- frequency
- conversion
- cost_per_conversion
- conversion_rate
- conversion_rate_v2
- real_time_conversion
- real_time_cost_per_conversion
- real_time_conversion_rate
- real_time_conversion_rate_v2
- result
- cost_per_result
- result_rate
- real_time_result
- real_time_cost_per_result
- real_time_result_rate
- secondary_goal_result
- cost_per_secondary_goal_result
- secondary_goal_result_rate
ad_video_metrics
17 fields
- ad_id_d
- stat_time_day_d
- video_play_actions
- video_watched_2s
- video_watched_6s
- video_views_p25
- video_views_p50
- video_views_p75
- video_views_p100
- average_video_play
- average_video_play_per_user
- engaged_view
- paid_engaged_view
- paid_engagement_engaged_view
- engaged_view_15s
- paid_engaged_view_15s
- paid_engagement_engaged_view_15s
ad_audience_core_metrics
28 fields
- ad_id_d
- stat_time_day_d
- gender_d
- age_d
- spend
- cpc
- cpm
- impressions
- gross_impressions
- clicks
- ctr
- reach
- cost_per_1000_reached
- frequency
- conversion
- cost_per_conversion
- conversion_rate
- conversion_rate_v2
- real_time_conversion
- real_time_cost_per_conversion
- real_time_conversion_rate
- real_time_conversion_rate_v2
- result
- cost_per_result
- result_rate
- real_time_result
- real_time_cost_per_result
- real_time_result_rate
campaign_snapshot
10 fields
- advertiser_id
- campaign_id
- campaign_name
- status
- budget
- budget_mode
- objective_type
- create_time
- modify_time
- snapshot_time
utm_snapshot
4 fields
- advertiser_id
- ad_id
- tracking_url
- snapshot_time
adgroup_snapshot
14 fields
- advertiser_id
- adgroup_id
- adgroup_name
- campaign_id
- status
- budget
- bid_type
- bid_price
- optimization_goal
- placement_type
- schedule_start_time
- schedule_end_time
- modify_time
- snapshot_time
ad_snapshot
13 fields
- advertiser_id
- ad_id
- adgroup_id
- campaign_id
- ad_name
- status
- video_id
- image_ids
- landing_page_url
- call_to_action
- create_time
- modify_time
- snapshot_time
advertiser_snapshot
7 fields
- advertiser_id
- advertiser_name
- status
- currency
- timezone
- country
- snapshot_time
video_snapshot
8 fields
- advertiser_id
- video_id
- file_name
- duration
- width
- height
- preview_url
- snapshot_time
image_snapshot
7 fields
- advertiser_id
- image_id
- file_name
- width
- height
- preview_url
- snapshot_time
ad_click_metrics
11 fields
- ad_id_d
- stat_time_day_d
- engagements
- engagement_rate
- clicks_on_music_disc
- duet_clicks
- stitch_clicks
- sound_usage_clicks
- anchor_clicks
- anchor_click_rate
- clicks_on_hashtag_challenge
ad_live_metrics
6 fields
- ad_id_d
- stat_time_day_d
- live_views
- live_unique_views
- live_effective_views
- live_product_clicks
ad_image_metrics
6 fields
- ad_id_d
- image_id_d
- stat_time_day_d
- single_image_impressions
- single_image_impression_rate
- single_image_ctr
ad_interactive_addon_metrics
8 fields
- ad_id_d
- stat_time_day_d
- interactive_add_on_impressions
- interactive_add_on_destination_clicks
- interactive_add_on_activity_clicks
- interactive_add_on_option_a_clicks
- interactive_add_on_option_b_clicks
- countdown_sticker_recall_clicks
ad_instant_experience_metrics
10 fields
- ad_id_d
- stat_time_day_d
- ix_page_duration_avg
- ix_page_viewrate_avg
- ix_video_views
- ix_video_views_p25
- ix_video_views_p50
- ix_video_views_p75
- ix_video_views_p100
- ix_average_video_play
ad_messaging_metrics
8 fields
- ad_id_d
- stat_time_day_d
- messaging_total_conversation_tiktok_direct_message
- messaging_cost_per_conversation_tiktok_direct_message
- messaging_conversation_rate_tiktok_direct_message
- messaging_total_conversation_instant_messaging_app
- messaging_cost_per_conversation_instant_messaging_app
- messaging_conversation_rate_instant_messaging_app
ad_audience_video_metrics
15 fields
- ad_id_d
- stat_time_day_d
- gender_d
- age_d
- video_play_actions
- video_watched_2s
- video_watched_6s
- engaged_view
- engaged_view_15s
- video_views_p25
- video_views_p50
- video_views_p75
- video_views_p100
- average_video_play
- average_video_play_per_user
ad_audience_engagement_metrics
11 fields
- ad_id_d
- stat_time_day_d
- gender_d
- age_d
- follows
- likes
- comments
- shares
- profile_visits
- profile_visits_rate
- clicks_on_music_disc
ad_audience_attribution_metrics
6 fields
- ad_id_d
- placement_d
- vta_complete_payment
- cost_per_vta_payments_completed
- vta_complete_payment_value
- vta_complete_payment_roas
ad_audience_page_event_metrics
7 fields
- ad_id_d
- stat_time_day_d
- gender_d
- age_d
- total_landing_page_view
- cost_per_landing_page_view
- landing_page_view_rate
ad_audience_platform_metrics
27 fields
- ad_id_d
- stat_time_day_d
- platform_d
- spend
- cpc
- cpm
- impressions
- gross_impressions
- clicks
- ctr
- reach
- cost_per_1000_reached
- frequency
- conversion
- cost_per_conversion
- conversion_rate
- conversion_rate_v2
- real_time_conversion
- real_time_cost_per_conversion
- real_time_conversion_rate
- real_time_conversion_rate_v2
- result
- cost_per_result
- result_rate
- real_time_result
- real_time_cost_per_result
- real_time_result_rate
ad_audience_country_metrics
27 fields
- ad_id_d
- stat_time_day_d
- country_code_d
- spend
- cpc
- cpm
- impressions
- gross_impressions
- clicks
- ctr
- reach
- cost_per_1000_reached
- frequency
- conversion
- cost_per_conversion
- conversion_rate
- conversion_rate_v2
- real_time_conversion
- real_time_cost_per_conversion
- real_time_conversion_rate
- real_time_conversion_rate_v2
- result
- cost_per_result
- result_rate
- real_time_result
- real_time_cost_per_result
- real_time_result_rate
ad_app_metrics
103 fields
- ad_id_d
- stat_time_day_d
- real_time_app_install
- real_time_app_install_cost
- app_install
- cost_per_app_install
- registration
- cost_per_registration
- registration_rate
- total_registration
- cost_per_total_registration
- purchase
- cost_per_purchase
- purchase_rate
- total_purchase
- cost_per_total_purchase
- value_per_total_purchase
- total_purchase_value
- total_active_pay_roas
- total_purchase_roas_day0
- total_purchase_roas_day2
- total_purchase_roas_day6
- total_purchase_value_day0
- total_purchase_value_day2
- total_purchase_value_day6
- app_event_add_to_cart
- cost_per_app_event_add_to_cart
- app_event_add_to_cart_rate
- total_app_event_add_to_cart
- cost_per_total_app_event_add_to_cart
- value_per_total_app_event_add_to_cart
- total_app_event_add_to_cart_value
- checkout
- cost_per_checkout
- checkout_rate
- total_checkout
- cost_per_total_checkout
- value_per_checkout
- total_checkout_value
- view_content
- cost_per_view_content
- view_content_rate
- total_view_content
- cost_per_total_view_content
- value_per_total_view_content
- total_view_content_value
- next_day_open
- cost_per_next_day_open
- next_day_open_rate
- total_next_day_open
- cost_per_total_next_day_open
- day7_retention
- cost_per_day7_retention
- day7_retention_rate
- total_day7_retention
- cost_per_total_day7_retention
- value_per_total_day7_retention
- total_day7_retention_value
- add_payment_info
- cost_per_add_payment_info
- add_payment_info_rate
- total_add_payment_info
- cost_total_add_payment_info
- add_to_wishlist
- cost_per_add_to_wishlist
- add_to_wishlist_rate
- total_add_to_wishlist
- cost_per_total_add_to_wishlist
- value_per_total_add_to_wishlist
- total_add_to_wishlist_value
- launch_app
- cost_per_launch_app
- launch_app_rate
- total_launch_app
- cost_per_total_launch_app
- complete_tutorial
- cost_per_complete_tutorial
- complete_tutorial_rate
- total_complete_tutorial
- cost_per_total_complete_tutorial
- value_per_total_complete_tutorial
- total_complete_tutorial_value
- sales_lead
- cost_per_sales_lead
- sales_lead_rate
- total_sales_lead
- cost_per_total_sales_lead
- value_per_total_sales_lead
- total_sales_lead_value
- subscribe
- cost_per_subscribe
- subscribe_rate
- total_subscribe
- cost_per_total_subscribe
- value_per_total_subscribe
- total_subscribe_value
- unique_custom_app_events
- cost_per_unique_custom_app_event
- custom_app_event_rate
- custom_app_events
- cost_per_custom_app_event
- value_per_custom_app_event
- custom_app_events_value
ad_website_metrics
101 fields
- ad_id_d
- stat_time_day_d
- complete_payment_roas
- complete_payment
- cost_per_complete_payment
- complete_payment_rate
- value_per_complete_payment
- total_complete_payment_rate
- total_landing_page_view
- cost_per_landing_page_view
- landing_page_view_rate
- total_pageview
- cost_per_pageview
- pageview_rate
- avg_value_per_pageview
- total_value_per_pageview
- button_click
- cost_per_button_click
- button_click_rate
- value_per_button_click
- total_button_click_value
- online_consult
- cost_per_online_consult
- online_consult_rate
- value_per_online_consult
- total_online_consult_value
- user_registration
- cost_per_user_registration
- user_registration_rate
- value_per_user_registration
- total_user_registration_value
- page_content_view_events
- cost_per_page_content_view_event
- page_content_view_event_rate
- value_per_page_content_view_event
- total_page_view_content_events_value
- web_event_add_to_cart
- cost_per_web_event_add_to_cart
- web_event_add_to_cart_rate
- value_per_web_event_add_to_cart
- total_web_event_add_to_cart_value
- on_web_order
- cost_per_on_web_order
- on_web_order_rate
- value_per_on_web_order
- total_on_web_order_value
- initiate_checkout
- cost_per_initiate_checkout
- initiate_checkout_rate
- value_per_initiate_checkout
- total_initiate_checkout_value
- add_billing
- cost_per_add_billing
- add_billing_rate
- value_per_add_billing
- total_add_billing_value
- page_event_search
- cost_per_page_event_search
- page_event_search_rate
- value_per_page_event_search
- total_page_event_search_value
- form
- cost_per_form
- form_rate
- value_per_form
- total_form_value
- download_start
- cost_per_download_start
- download_start_rate
- value_per_download_start
- total_download_start_value
- on_web_add_to_wishlist
- cost_per_on_web_add_to_wishlist
- on_web_add_to_wishlist_per_click
- value_per_on_web_add_to_wishlist
- total_on_web_add_to_wishlist_value
- on_web_subscribe
- cost_per_on_web_subscribe
- on_web_subscribe_per_click
- value_per_on_web_subscribe
- total_on_web_subscribe_value
- custom_page_events
- cost_per_custom_page_event
- custom_page_event_rate
- value_per_custom_page_event
- custom_page_events_value
- website_total_find_location
- website_cost_per_find_location
- website_find_location_rate
- website_value_per_find_location
- website_total_find_location_value
- website_total_schedule
- website_cost_per_schedule
- website_schedule_rate
- website_value_per_schedule
- website_total_schedule_value
- website_total_customize_product
- website_cost_per_customize_product
- website_customize_product_rate
- website_value_per_customize_product
- website_total_customize_product_value
ad_tiktok_metrics
81 fields
- ad_id_d
- stat_time_day_d
- onsite_purchases_roas
- onsite_total_purchase
- onsite_cost_per_purchase
- onsite_purchase_rate
- onsite_value_per_purchase
- onsite_total_purchase_value
- onsite_unique_purchase
- onsite_cost_per_unique_purchase
- onsite_total_purchase_value_day0
- onsite_total_purchase_value_day6
- onsite_total_purchase_value_day13
- onsite_total_purchase_value_calendar_day0
- onsite_total_purchase_value_calendar_day6
- onsite_total_purchase_value_calendar_day13
- onsite_total_purchase_roas_day0
- onsite_total_purchase_roas_day6
- onsite_total_purchase_roas_day13
- onsite_total_purchase_roas_calendar_day0
- onsite_total_purchase_roas_calendar_day6
- onsite_total_purchase_roas_calendar_day13
- onsite_total_checkout_initiation
- onsite_cost_per_checkout_initiation
- onsite_checkout_initiation_rate
- onsite_value_per_checkout_initiation
- onsite_total_checkout_initiation_value
- onsite_unique_checkout_initiation
- onsite_cost_per_unique_checkout_initiation
- onsite_total_add_to_cart
- onsite_cost_per_add_to_cart
- onsite_add_to_cart_rate
- onsite_value_per_add_to_cart
- onsite_total_add_to_cart_value
- onsite_unique_add_to_cart
- onsite_cost_per_unique_add_to_cart
- onsite_total_product_details_page_view
- onsite_cost_per_product_details_page_view
- onsite_product_details_page_view_rate
- onsite_value_per_product_details_page_view
- onsite_total_product_details_page_view_value
- onsite_unique_first_launch_conversion_time
- onsite_cost_per_unique_first_launch_conversion_time
- onsite_unique_first_launch
- onsite_cost_per_unique_first_launch
- onsite_unique_non_first_launch
- onsite_cost_per_unique_non_first_launch
- onsite_launch_rate
- onsite_total_non_first_launch
- onsite_cost_per_non_first_launch
- onsite_unique_registration
- onsite_cost_per_unique_registration
- onsite_registration_rate
- onsite_total_registration
- onsite_cost_per_registration
- onsite_unique_ad_impression
- onsite_cost_per_unique_ad_impression
- onsite_ad_impression_rate
- onsite_total_ad_impression
- onsite_cost_per_ad_impression
- onsite_total_ad_impression_value
- onsite_value_per_ad_impression
- onsite_ad_impression_ad_revenue_day0
- onsite_ad_impression_ad_revenue_day6
- onsite_ad_impression_ad_revenue_day13
- onsite_ad_impression_ad_revenue_calendar_day0
- onsite_ad_impression_ad_revenue_calendar_day6
- onsite_ad_impression_ad_revenue_calendar_day13
- onsite_ad_impression_ad_revenue_roas_day0
- onsite_ad_impression_ad_revenue_roas_day6
- onsite_ad_impression_ad_revenue_roas_day13
- onsite_ad_impression_ad_revenue_roas_calendar_day0
- onsite_ad_impression_ad_revenue_roas_calendar_day6
- onsite_ad_impression_ad_revenue_roas_calendar_day13
- onsite_total_filtered_out_form_submission
- onsite_download_start
- cost_per_onsite_download_start
- onsite_download_start_rate
- onsite_destination_visits
- cost_per_onsite_destination_visit
- onsite_destination_visit_rate
ad_shop_metrics
26 fields
- ad_id_d
- stat_time_day_d
- onsite_shopping_roas
- onsite_shopping
- cost_per_onsite_shopping
- onsite_shopping_rate
- value_per_onsite_shopping
- total_onsite_shopping_value
- shop_total_purchase_by_order_submission
- shop_gross_revenue_by_order_submission
- shop_total_items_purchased
- onsite_initiate_checkout_count
- cost_per_onsite_initiate_checkout_count
- onsite_initiate_checkout_count_rate
- value_per_onsite_initiate_checkout_count
- total_onsite_initiate_checkout_count_value
- onsite_on_web_detail
- cost_per_onsite_on_web_detail
- onsite_on_web_detail_rate
- value_per_onsite_on_web_detail
- total_onsite_on_web_detail_value
- onsite_on_web_cart
- cost_per_onsite_on_web_cart
- onsite_on_web_cart_rate
- value_per_onsite_on_web_cart
- total_onsite_on_web_cart_value
ad_offline_metrics
101 fields
- ad_id_d
- stat_time_day_d
- offline_total_crm_events
- offline_cost_per_crm_event
- offline_crm_event_rate
- offline_value_per_crm_event
- offline_crm_event_value
- offline_shopping_events
- cost_per_offline_shopping_event
- offline_shopping_event_rate
- value_per_offline_shopping_event
- offline_shopping_events_value
- offline_shopping_events_roas
- offline_contact_events
- cost_per_offline_contact_event
- offline_contact_event_rate
- value_per_offline_contact_event
- offline_contact_events_value
- offline_subscribe_events
- cost_per_offline_subscribe_event
- offline_subscribe_event_rate
- value_per_offline_subscribe_event
- offline_subscribe_events_value
- offline_form_events
- cost_per_offline_form_event
- offline_form_event_rate
- value_per_offline_form_event
- offline_form_events_value
- offline_add_payment_info_events
- cost_per_offline_add_payment_info_event
- offline_add_payment_info_event_rate
- value_per_offline_add_payment_info_event
- offline_add_payment_info_events_value
- offline_add_to_cart_events
- cost_per_offline_add_to_cart_event
- offline_add_to_cart_event_rate
- value_per_offline_add_to_cart_event
- offline_add_to_cart_events_value
- offline_add_to_wishlist_events
- cost_per_offline_add_to_wishlist_event
- offline_add_to_wishlist_event_rate
- value_per_offline_add_to_wishlist_event
- offline_add_to_wishlist_events_value
- offline_click_button_events
- cost_per_offline_click_button_event
- offline_click_button_event_rate
- value_per_offline_click_button_event
- offline_click_button_events_value
- offline_complete_registration_events
- cost_per_offline_complete_registration_event
- offline_complete_registration_event_rate
- value_per_offline_complete_registration_event
- offline_complete_registration_events_value
- offline_download_events
- cost_per_offline_download_event
- offline_download_event_rate
- value_per_offline_download_event
- offline_download_events_value
- offline_initiate_checkout_events
- cost_per_offline_initiate_checkout_event
- offline_initiate_checkout_event_rate
- value_per_offline_initiate_checkout_event
- offline_initiate_checkout_events_value
- offline_place_order_events
- cost_per_offline_place_order_event
- offline_place_order_event_rate
- value_per_offline_place_order_event
- offline_place_order_events_value
- offline_search_events
- cost_per_offline_search_event
- offline_search_event_rate
- value_per_offline_search_event
- offline_search_events_value
- offline_view_content_events
- cost_per_offline_view_content_event
- offline_view_content_event_rate
- value_per_offline_view_content_event
- offline_view_content_events_value
- offline_preferred_leads
- offline_cost_per_preferred_lead
- offline_preferred_lead_rate
- offline_total_find_location
- offline_cost_per_find_location
- offline_find_location_rate
- offline_value_per_find_location
- offline_total_find_location_value
- offline_total_schedule
- offline_cost_per_schedule
- offline_schedule_rate
- offline_value_per_schedule
- offline_total_schedule_value
- offline_total_customize_product
- offline_cost_per_customize_product
- offline_customize_product_rate
- offline_value_per_customize_product
- offline_total_customize_product_value
- offline_total_custom_events
- offline_cost_per_custom_event
- offline_custom_event_rate
- offline_value_per_custom_event
- offline_total_custom_event_value
Where it lands
Into a warehouse you already own, in a region you pick. The modelling runs inside that project, so nothing leaves your cloud to be transformed and we keep no copy of your history.
- Google BigQuery
- Snowflake
- Databricks
- AWS Redshift
- Azure Synapse
Every ad platform names the same number differently and reports it in its own currency and its own time zone. Put two of them in one report without reconciling that and the totals disagree.
Questions people ask
What tables does SightShark create from TikTok Ads?
28 tables, including ad_core_metrics, ad_video_metrics, ad_audience_core_metrics. ad_core_metrics is one row per ad, per day. Every one is listed on this page, with its fields.
Which TikTok Ads fields can I get?
All 704 listed fields are on this page, table by table, named as they appear in your warehouse.
How often does TikTok Ads data refresh?
Daily. A sync adds to the tables rather than replacing them, so when a platform restates a figure for a day that has already closed, both the original number and the correction stay on record.
Can I join TikTok Ads data to my other platforms?
Yes. Every metric is modelled to one name, one type, one grain and one currency, so a query across TikTok Ads and another source needs no reconciling of field names first.
Related connectors
Reporting on this data
- 7 min read
Why ad platform numbers never match on the same campaign.
They are not measuring the same thing. Once you know what each one counts, the gap stops being a mystery.
Read it - 6 min read
Server-side vs client-side tracking, and what changes in client reports.
More conversions, a break in your trend line, and a new way to count one sale twice.
Read it - 6 min read
How to set up alerts across client accounts, and keep them worth reading.
An alert that fires every day becomes a filter rule. Four things are worth interrupting somebody for.
Read it
Get started
Want TikTok Ads in your own warehouse?
A call with someone who can answer the schema questions.