← All connectors

Quickstart · Source connector

TikTok Ads ELT Connector

Extract brings TikTok Ads quickstart data into data warehouses and databases for analysis with the rest of your business data. Teams use it to build recurring reporting and compare business activity across systems. Flexible scheduling keeps reporting current for routine analysis and time-sensitive decisions.

View setup guide
TikTok Ads logo

What teams use this connector for

Business performance reporting

Use TikTok Ads data to monitor recurring activity and investigate meaningful changes over time.

Cross-system analysis

Combine TikTok Ads data with customer, finance, and operational metrics for consistent reporting.

Data quality monitoring

Compare TikTok Ads record totals and reporting periods to identify incomplete or unexpected data.

Flexible reporting cadence

Refresh TikTok Ads reporting every 15 minutes, hourly, daily, or on a custom schedule as business needs change.

Warehouse and database analysis

Use Extract to make TikTok Ads quickstart data available in data warehouses and databases such as Snowflake, BigQuery, Redshift, and PostgreSQL for governed analysis.

Available streams

StreamDescriptionSync mode
adFields include advertiser_id, ad_id, adgroup_id, campaign_id.Incremental
ad_daily_age_genderFields include ad_id, age, gender, stat_time_day.Incremental
ad_daily_countryFields include ad_id, country_code, stat_time_day, _singular_extract_timestamp.Incremental
ad_daily_dmaFields include ad_id, dma_id, stat_time_day, _singular_extract_timestamp.Incremental
ad_daily_languageFields include ad_id, language, stat_time_day, _singular_extract_timestamp.Incremental
ad_daily_placementFields include ad_id, placement, stat_time_day, _singular_extract_timestamp.Incremental
ad_daily_platformFields include ad_id, platform, stat_time_day, _singular_extract_timestamp.Incremental
ad_groupFields include advertiser_id, campaign_id, adgroup_id, _singular_extract_timestamp.Incremental
adgroup_daily_age_genderFields include adgroup_id, age, gender, stat_time_day.Incremental
adgroup_daily_countryFields include adgroup_id, country_code, stat_time_day, _singular_extract_timestamp.Incremental
adgroup_daily_dmaFields include adgroup_id, dma_id, stat_time_day, _singular_extract_timestamp.Incremental
adgroup_daily_languageFields include adgroup_id, language, stat_time_day, _singular_extract_timestamp.Incremental
adgroup_daily_placementFields include adgroup_id, placement, stat_time_day, _singular_extract_timestamp.Incremental
adgroup_daily_platformFields include adgroup_id, platform, stat_time_day, _singular_extract_timestamp.Incremental
advertisersFields include advertiser_id, _singular_extract_timestamp, address, advertiser_account_type.Full refresh
auction_ad_basic_dailyFields include ad_id, _singular_extract_timestamp, ad_type, average_video_play.Incremental
auction_adgroup_basic_dailyFields include adgroup_id, stat_time_day, _singular_extract_timestamp, achieve_level.Incremental
auction_campaign_basic_dailyFields include campaign_id, stat_time_day, _singular_extract_timestamp, achieve_level.Incremental
auction_skan_ad_basic_dailyFields include ad_id, _singular_extract_timestamp, app_install, average_video_play.Incremental
business_center_invoicesFields include bc_id, invoice_id, _singular_extract_timestamp, account_id.Full refresh
campaignFields include advertiser_id, campaign_id, _singular_extract_timestamp, app_id.Incremental
campaign_daily_age_genderFields include campaign_id, age, gender, stat_time_day.Incremental
campaign_daily_countryFields include campaign_id, country_code, stat_time_day, _singular_extract_timestamp.Incremental
campaign_daily_dmaFields include campaign_id, dma_id, stat_time_day, _singular_extract_timestamp.Incremental
campaign_daily_languageFields include campaign_id, language, stat_time_day, _singular_extract_timestamp.Incremental
campaign_daily_placementFields include campaign_id, placement, stat_time_day, _singular_extract_timestamp.Incremental
campaign_daily_platformFields include campaign_id, platform, stat_time_day, _singular_extract_timestamp.Incremental
creative_basic_images_dailyFields include _singular_extract_timestamp, adgroup_number, app_install, clicks.Incremental
creative_basic_images_lifetimeFields include _singular_extract_timestamp, adgroup_number, app_install, clicks.Full refresh
creative_basic_videos_dailyFields include _singular_extract_timestamp, adgroup_number, app_install, average_video_play.Incremental
creative_basic_videos_lifetimeFields include _singular_extract_timestamp, adgroup_number, app_install, average_video_play.Full refresh
imageFields include advertiser_id, image_id, _singular_extract_timestamp, create_time.Incremental
pixelFields include advertiser_id, pixel_id, _singular_extract_timestamp, advanced_matching_fields.email.Full refresh
pixel_eventFields include advertiser_id, pixel_id, _singular_extract_timestamp, currency.Full refresh
pixel_event_ruleFields include advertiser_id, event_id, pixel_id, _singular_extract_timestamp.Full refresh
pixel_statisticsFields include advertiser_id, pixel_id, _singular_extract_timestamp, attributed_count.Incremental
videoFields include advertiser_id, video_id, _singular_extract_timestamp, allow_download.Incremental
video_insights_dailyFields include _singular_extract_timestamp, clicks, conversion, conversion_rate_v2.Incremental

Data model at a glance

Preview the exported entities and fields for TikTok Ads.

Open full ERD

ad

  • advertiser_idstring
  • ad_idstring
  • adgroup_idstring
  • campaign_idstring
  • _singular_extract_timestampstring
  • ad_formatstring
  • ad_namestring
  • ad_textstring

ad_daily_age_gender

  • ad_idstring
  • agestring
  • genderstring
  • stat_time_daystring
  • _singular_extract_timestampstring
  • average_video_playnumber
  • average_video_play_per_usernumber
  • clicksinteger

ad_daily_country

  • ad_idstring
  • country_codestring
  • stat_time_daystring
  • _singular_extract_timestampstring
  • average_video_playnumber
  • average_video_play_per_usernumber
  • clicksinteger
  • clicks_on_music_discinteger

ad_daily_dma

  • ad_idstring
  • dma_idstring
  • stat_time_daystring
  • _singular_extract_timestampstring
  • average_video_playnumber
  • average_video_play_per_usernumber
  • clicksinteger
  • clicks_on_music_discinteger

ad_daily_language

  • ad_idstring
  • languagestring
  • stat_time_daystring
  • _singular_extract_timestampstring
  • average_video_playnumber
  • average_video_play_per_usernumber
  • clicksinteger
  • clicks_on_music_discinteger

ad_daily_placement

  • ad_idstring
  • placementstring
  • stat_time_daystring
  • _singular_extract_timestampstring
  • average_video_playnumber
  • average_video_play_per_usernumber
  • clicksinteger
  • clicks_on_music_discinteger
+2 more

No verified relationships are available in this schema preview.

Popular destinations

Commonly paired with TikTok Ads in Extract workflows.

Why Extract for TikTok Ads

  • Rust-native performanceUse Rust-native data movement to refresh TikTok Ads reporting every 15 minutes, hourly, daily, or on a custom schedule as volume grows.
  • Full run transparencyInspect TikTok Ads API activity, execution steps, and timing in Extract's run-level logs when data needs review.
  • ELT + Reverse ETL in oneCombine TikTok Ads data with customer and finance models, then send approved outputs through a separately configured Reverse ETL destination.

Frequently asked questions

How does Extract handle incremental and full TikTok Ads syncs?

An incremental sync processes only new or changed data since a stored checkpoint or new date partition, while a full sync processes the complete selected dataset or date range again. By avoiding repeated processing and writes for the full dataset, incremental syncs can reduce destination database updates and warehouse compute costs. Stream schemas define full refresh, incremental changes, partition-based extraction. Behavior varies by stream and configuration. Extract records run details so teams can verify each sync.

Can I backfill historical TikTok Ads data with Extract?

Historical coverage for TikTok Ads: Backfill (Days) (backfill): The backfill setting revisits and updates data from the past X days, ensuring the most current and accurate information replaces any previously pulled data. Use the setup guide and run details to confirm the available source records and selected settings.

How can teams monitor TikTok Ads data quality and freshness?

Compare expected reporting periods and record totals in your models, then use Extract's run-level logs to inspect TikTok Ads API activity, execution steps, and timing. This helps teams distinguish a source-data delay from a failed or incomplete run.

How often can Extract sync data from TikTok Ads?

Extract supports schedules every 15 minutes, hourly, daily, or on a custom cadence. Teams can choose a frequency that matches routine reporting, time-sensitive monitoring, or operational activation needs.

What does the TikTok Ads data model look like in the destination?

The Available streams table describes the datasets Extract can read from TikTok Ads. The inline schema previews entities and fields. Only relationships verified from the exported schema are shown. Use the full schema link for more details.