Kaivo is a fully managed data platform that syncs your TikTok Marketing data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your marketing and sales data instead of moving it.
Sync your TikTok Marketing campaigns, ads, and daily reports into BigQuery with Kaivo to measure social ad performance across accounts.
| Category | Marketing & Sales |
|---|
| Authentication | OAuth |
|---|
| Setup | On request, contact us to enable it |
|---|
- Sign up for Kaivo and create a workspace.
- Ask us to enable the TikTok Marketing connector for your workspace. You can reach our team from the chat in the app.
- Choose which tables to sync.
- Wait for the initial sync to finish.
- Query your data in BigQuery or your favourite AI or BI tool.
Connect by signing in to your TikTok Marketing account. Kaivo runs the connection for you, so you never share a password.
When you set up the connector, you provide:
| Field |
Description |
| Ad Account ID |
|
| Enter an Ad Account ID to fetch data related to a specific account. To get the ID, log in to TikTok Ads Manager, click on your account name in the top right corner to reveal a dropdown menu, and get the number accompanied by the name. |
|
|
| Start Date |
Any data before this date will not be fetched.
|
| Include Deleted Data in Reports and Ads, Ad Groups and Campaign streams. | |
Kaivo syncs 40 tables from TikTok Marketing into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.
ad_group_audience_reports_by_country_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ad_group_audience_reports_by_platform_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ad_group_audience_reports_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ad_groups (81 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
adgroup_id |
INT64 |
The unique identifier of the ad group |
campaign_id |
INT64 |
The unique identifier of the campaign |
advertiser_id |
INT64 |
The unique identifier of the advertiser |
adgroup_name |
STRING |
The name of the ad group |
placement_type |
STRING |
The type of ad placement |
inventory_filter_enabled |
BOOL |
Flag indicating if inventory filter is enabled |
comment_disabled |
BOOL |
Flag indicating if comments are disabled |
app_id |
INT64 |
The unique identifier of the app |
promotion_type |
STRING |
The type of promotion |
| … and 71 more columns |
|
|
Repeating fields are split into their own tables, listed here with their column counts.
ad_groups__placements (4 columns)
ad_groups__audience_ids (4 columns)
ad_groups__excluded_audience_ids (4 columns)
ad_groups__location_ids (4 columns)
ad_groups__interest_category_ids (4 columns)
ad_groups__interest_keyword_ids (4 columns)
ad_groups__age_groups (4 columns)
ad_groups__languages (4 columns)
ad_groups__operating_systems (4 columns)
ad_groups__network_types (4 columns)
ad_groups__device_price_ranges (4 columns)
ad_groups__device_model_ids (4 columns)
ad_groups__carrier_ids (4 columns)
ad_groups__carriers (4 columns)
ad_groups__blocked_pangle_app_ids (4 columns)
ad_groups__action_category_ids (4 columns)
ad_groups__video_actions (4 columns)
ad_groups__included_pangle_audience_package_ids (4 columns)
ad_groups__excluded_pangle_audience_package_ids (4 columns)
ad_groups__included_custom_actions (3 columns)
ad_groups__excluded_custom_actions (3 columns)
ad_groups__split_test_adgroup_ids (4 columns)
ad_groups__actions (5 columns)
ad_groups__actions__action_category_ids (4 columns)
ad_groups__actions__video_user_actions (4 columns)
ad_groups__targeting_expansion__expansion_types (4 columns)
ad_groups__schedule_infos (3 columns)
ad_groups__category_exclusion_ids (4 columns)
ad_groups__contextual_tag_ids (4 columns)
ad_groups__household_income (4 columns)
ad_groups__isp_ids (4 columns)
ad_groups__zipcode_ids (4 columns)
ad_groups_reports_by_country_daily (94 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
country_code |
STRING |
Country code of the target audience |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
| … and 84 more columns |
|
|
ad_groups_reports_by_country_hourly (94 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
country_code |
STRING |
Country code of the target audience |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
| … and 84 more columns |
|
|
ad_groups_reports_daily (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
ad_groups_reports_hourly (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
ad_groups_reports_lifetime (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
ads (77 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
The unique identifier of the advertiser |
campaign_id |
INT64 |
The unique identifier of the campaign |
campaign_name |
STRING |
The name of the campaign |
adgroup_id |
INT64 |
The unique identifier of the ad group |
adgroup_name |
STRING |
The name of the ad group |
ad_id |
INT64 |
The unique identifier of the ad |
ad_name |
STRING |
The name of the ad |
tracking_app_id |
STRING |
The unique identifier of the tracking app |
call_to_action |
STRING |
The call-to-action text for the ad |
| … and 67 more columns |
|
|
Repeating fields are split into their own tables, listed here with their column counts.
ads__tracking_offline_event_set_ids (4 columns)
ads__image_ids (4 columns)
ads__ad_texts (4 columns)
ads__landing_page_urls (4 columns)
ads__utm_params (5 columns)
ads__item_group_ids (4 columns)
ads__sku_ids (4 columns)
ads_audience_reports_by_country_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ads_audience_reports_by_platform_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ads_audience_reports_by_province_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ads_audience_reports_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
ads_reports_by_country_daily (94 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
country_code |
STRING |
Country code of the target audience |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
| … and 84 more columns |
|
|
ads_reports_by_country_hourly (94 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
country_code |
STRING |
Country code of the target audience |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
| … and 84 more columns |
|
|
ads_reports_daily (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
ads_reports_hourly (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
ads_reports_lifetime (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
advertiser_ids (4 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
STRING |
The unique identifier for each advertiser in the TikTok marketing platform. |
advertiser_name |
STRING |
The name of the advertiser registered in the TikTok marketing platform. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
advertisers (31 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser. |
name |
STRING |
The name of the advertiser or company. |
address |
STRING |
The physical address of the advertiser. |
company |
STRING |
The name of the company associated with the advertiser. |
contacter |
STRING |
The contact person for the advertiser. |
country |
STRING |
The country where the advertiser is located. |
currency |
STRING |
The currency used for transactions in the account. |
description |
STRING |
A brief description or bio of the advertiser or company. |
email |
STRING |
The email address associated with the advertiser. |
| … and 21 more columns |
|
|
advertisers_audience_reports_by_country_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
advertisers_audience_reports_by_platform_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
advertisers_audience_reports_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
advertisers_audience_reports_lifetime (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
advertisers_reports_daily (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
advertisers_reports_hourly (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
advertisers_reports_lifetime (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
audiences (13 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
shared |
BOOL |
Flag indicating if the audience is shared with others |
is_creator |
BOOL |
Flag indicating if the audience creator is the user |
audience_id |
STRING |
Unique identifier for the audience |
cover_num |
INT64 |
Number of audience members covered |
create_time |
TIMESTAMP |
Timestamp indicating when the audience was created |
is_valid |
BOOL |
Flag indicating if the audience data is valid |
is_expiring |
BOOL |
Flag indicating if the audience data is expiring soon |
expired_time |
TIMESTAMP |
Timestamp indicating when the audience data expires |
name |
STRING |
Name of the audience |
| … and 3 more columns |
|
|
campaigns (25 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
campaign_id |
INT64 |
The unique identifier of the campaign |
campaign_name |
STRING |
Name of the campaign for easy identification |
campaign_type |
STRING |
Type of campaign (e.g., awareness, conversion) |
advertiser_id |
INT64 |
The unique identifier of the advertiser associated with the campaign |
budget |
FLOAT64 |
Total budget allocated for the campaign |
budget_mode |
STRING |
Mode in which the budget is being managed (e.g., daily, lifetime) |
secondary_status |
STRING |
Additional status information of the campaign |
operation_status |
STRING |
Current operational status of the campaign (e.g., active, paused) |
objective |
STRING |
The objective or goal of the campaign |
| … and 15 more columns |
|
|
campaigns_audience_reports_by_country_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
campaigns_audience_reports_by_platform_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
campaigns_audience_reports_daily (60 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
advertiser_id |
INT64 |
Unique identifier for the advertiser |
adgroup_id |
INT64 |
Unique identifier for the ad group |
campaign_id |
INT64 |
Unique identifier for the campaign |
ad_id |
INT64 |
Unique identifier for the ad |
stat_time_day |
TIMESTAMP |
Day timestamp for the statistics |
stat_time_hour |
TIMESTAMP |
Hour timestamp for the statistics |
country_code |
STRING |
Country code of the target audience |
platform |
STRING |
Platform where the ad is displayed |
gender |
STRING |
Gender of the target audience |
| … and 50 more columns |
|
|
campaigns_reports_daily (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
campaigns_reports_hourly (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
campaigns_reports_lifetime (95 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
stat_time_day |
TIMESTAMP |
The date for which the statistical data is recorded. |
stat_time_hour |
TIMESTAMP |
The hour of the day for which the statistical data is recorded. |
campaign_id |
INT64 |
The unique identifier for a marketing campaign. |
adgroup_id |
INT64 |
The unique identifier for an ad group. |
ad_id |
INT64 |
The unique identifier for an advertisement. |
advertiser_id |
INT64 |
The unique identifier for an advertiser. |
metrics__campaign_name |
STRING |
The name of the marketing campaign. |
metrics__campaign_id |
INT64 |
The unique identifier for a marketing campaign within the metrics level. |
metrics__adgroup_name |
STRING |
The name of the ad group. |
| … and 85 more columns |
|
|
creative_assets_images (15 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
image_id |
STRING |
The unique identifier for the image. |
format |
STRING |
The format type of the image file. |
image_url |
STRING |
The URL to access the image. |
height |
INT64 |
The height dimension of the image. |
width |
INT64 |
The width dimension of the image. |
signature |
STRING |
The signature of the image for security purposes. |
size |
INT64 |
The size of the image file. |
material_id |
STRING |
The ID associated with the material of the image. |
is_carousel_usable |
BOOL |
Flag indicating if the image can be used in a carousel. |
| … and 5 more columns |
|
|
creative_assets_music (16 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
music_id |
STRING |
The unique identifier for the music asset. |
material_id |
STRING |
The unique ID assigned to the music asset. |
author |
STRING |
The author of the music asset. |
liked |
BOOL |
The number of likes received by the music asset. |
cover_url |
STRING |
The URL to the cover image associated with the music asset. |
url |
STRING |
The URL to access or play the music asset. |
duration |
FLOAT64 |
The duration of the music asset in seconds. |
style |
STRING |
The style or genre of the music asset. |
signature |
STRING |
The digital signature associated with the music asset. |
| … and 6 more columns |
|
|
Repeating fields are split into their own tables, listed here with their column counts.
creative_assets_music__sources (4 columns)
creative_assets_portfolios (5 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
creative_portfolio_id |
STRING |
The unique identifier for the creative portfolio. |
creative_portfolio_type |
STRING |
The type of the creative portfolio, such as image, video, or carousel. |
creative_portfolio_preview_url |
STRING |
The URL pointing to a preview image or video of the creative portfolio. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
creative_assets_videos (19 columns)
| Column |
Type |
Description |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
video_id |
STRING |
ID of the video. |
video_cover_url |
STRING |
URL for the cover image of the video. |
format |
STRING |
Format of the video file. |
preview_url |
STRING |
URL for previewing the video. |
preview_url_expire_time |
TIMESTAMP |
Timestamp when the preview URL expires. |
duration |
FLOAT64 |
Duration of the video in seconds. |
height |
INT64 |
Height of the video in pixels. |
width |
INT64 |
Width of the video in pixels. |
bit_rate |
FLOAT64 |
The bitrate of the video. |
| … and 9 more columns |
|
|
Repeating fields are split into their own tables, listed here with their column counts.
creative_assets_videos__allowed_placements (4 columns)
After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where TikTok Marketing supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won’t get duplicate rows.
It depends on how much history is in your TikTok Marketing account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they’re much faster.
Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don’t select are never copied to your warehouse.
New fields are never added automatically. You choose which fields to sync, so data you haven’t selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table’s sync mode: full-refresh tables always match what’s currently in TikTok Marketing, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.
Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in TikTok Marketing instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the TikTok Marketing connector in Kaivo and all of its synced data is deleted with it.
Use campaigns, ad_groups, and ads_reports_daily to track spend and results day by day.
Use the by_country report streams to compare performance across markets.
Use creative_assets_videos and creative_assets_images to link results back to the asset.
Use audiences and advertisers to compare how targeting segments perform per advertiser.
Once TikTok Marketing data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here’s how the most common destinations work with TikTok Marketing data.
Use Kaivo’s MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →
Microsoft’s BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →
Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →
The premium analytics standard, with native BigQuery integration. Setup guide →
Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →
Connect via Power Query’s BigQuery connector. Setup guide →
Open-source BI tool with strong BigQuery support. Setup guide →
See our pricing page for TikTok Marketing connector pricing and plan details.