TikTok Ads to BigQuery: free connector and setup guide
To connect TikTok Ads to BigQuery, create a connector-based Data Mart in OWOX Data Marts, sign in to TikTok, pick the tables and fields, and schedule the load. This guide walks through the setup on OWOX Cloud and on a self-hosted install, lists the tables you get, and covers other warehouses, reporting tools and organic data.

To get TikTok Ads data into BigQuery you need something that calls the TikTok Marketing API on a schedule and writes the rows into your tables. The TikTok Ads connector in OWOX Data Marts does that. It is open source, it writes raw data into your own BigQuery project, and on OWOX Cloud you authorize it by signing in to TikTok, with no developer app and no code.
The short version:
- Connect BigQuery as a storage.
- Create a Data Mart with the Connector definition type and choose TikTok Ads.
- Click Continue with TikTok and approve access to your advertiser accounts.
- Choose the data and fields, name the table, and publish.
- Run a backfill, then add a daily trigger.
Note: Originally published in June 2025. Rewritten in October 2026 against the connector’s current documentation; it now also answers what the retired page on exporting TikTok Ads to BigQuery covered.
Ways to export TikTok Ads to BigQuery
Ways to export TikTok Ads to BigQuery
| Way | Effort | Keeps itself current | Fits |
|---|---|---|---|
| Download a report from TikTok Ads Manager and upload the file | minutes, every time | no | a one-off look |
| Write your own script on the TikTok Marketing API | days, plus upkeep | if you maintain it | teams with engineers to spare |
| A connector, on OWOX Cloud | about ten minutes | yes | most marketing teams |
| The same connector, self-hosted | longer, once | yes | teams that must run everything themselves |
The file route is fine for one question. It breaks down the first time someone asks for the same report next week, with yesterday included. If you do go that way, how to upload data to BigQuery covers the upload.
What you get in BigQuery
The connector writes each endpoint to its own table, one Data Mart per endpoint. Names and descriptions are from the connector’s documentation, checked in October 2026.
| Table | What it holds |
|---|---|
tiktok_ads_ad_insights |
daily ad performance: impressions, clicks, spend, conversions, video views, engagement |
tiktok_ads_ad_insights_by_country |
the same, broken down by country |
tiktok_ads_campaigns |
campaigns: objective, type, status, budget, schedule |
tiktok_ads_ad_groups |
ad groups: bid strategy, optimization goal, placement, targeting schedule |
tiktok_ads_ads |
ads: creative type, format, call to action, status |
tiktok_ads_audiences |
custom audiences: type, size, validity, expiration |
tiktok_ads_advertiser |
the advertiser account: name, company, currency |
The data is raw. OWOX Data Marts does not transform it; currency conversion, channel grouping and joins to your other sources are SQL you write on top.
If you only need spend and results by day, start with ad_insights. Add campaigns and ad groups when you need names and settings next to the numbers.
Choose the data level before the first run
The two performance tables have a Data Level setting that decides the grain of each row:
| Data Level | One row per day and |
|---|---|
AUCTION_AD |
ad |
AUCTION_ADGROUP |
ad group |
AUCTION_CAMPAIGN |
campaign |
AUCTION_ADVERTISER |
advertiser |
Pick it once. The documentation is explicit: do not change the data level after a run has loaded data into a table, because new rows would merge on a different key.
OWOX Data Marts
See your first report built in real time. 15 minutes.
- Connect your data warehouse
- Pick your metrics
- Get a live Google Sheets report
In the time it takes to write a ticket. Then imagine never writing that ticket again.
Book a DemoWe'll use your actual use case
What you need
- A TikTok for Business account with access to the advertiser accounts you want to load.
- A Google Cloud project with BigQuery, and an account with the BigQuery Data Editor and BigQuery Job User roles.
- An OWOX Data Marts project: OWOX Cloud, or the open-source edition on your own machine.
Set up on OWOX Cloud
Step 1: connect BigQuery
Open Storages, click New Storage and choose Google BigQuery. Enter the project ID and the data location, then authenticate with your Google account through OAuth or with a service account key. The storage guide lists each field.
Step 2: create the Data Mart
Click New Data Mart, give it a title such as “TikTok Ads”, and choose the storage you just added.


On the Data Setup tab, set the definition type to Connector, click Setup Connector and choose TikTok Ads.


Step 3: sign in to TikTok
The connector setup has five steps. On the settings step, click Continue with TikTok, log in with a TikTok account that has advertiser access, and approve the advertiser accounts the connector may read. That is the whole authentication. There is no token to copy and no app to register.

Then fill in:
- Advertiser IDs: the accounts to load.
- Data Level: the grain of the performance tables, as described above.
AUCTION_ADis the default.
The rest sits under Advanced settings and is optional for a first run.
Step 4: choose the data and the fields
Choose what to load. Each Data Mart loads one endpoint into one table, so create a Data Mart per endpoint you need.

Select the fields. The key fields for the chosen data level are ticked and locked, so rows merge correctly; take the metrics you will report on and add others later.

Enter the Dataset name and the Table name. Both are created on the first run if they do not exist.

Click Save in the panel, Save on the Data Setup tab, then Publish Data Mart.

Step 5: load history
Open Manual Run and choose Backfill for the first load, with a start and an end date.

A backfill covers up to 31 days per run, so load a long history in several runs. When the run finishes, Run History shows its status.

Step 6: schedule the daily load
On the Triggers tab, click Add Trigger, choose the Connector Run type and a schedule: daily, weekly, monthly or at an interval, with the time and time zone.


From here the tables update themselves. Each run upserts on the table’s unique keys, so re-running a day replaces its rows instead of duplicating them.
Set up self-hosted
The connector and OWOX Data Marts are open source. If your data may not pass through a hosted service, run it yourself. Only two things differ from the steps above.
Install and start it. Install the LTS version of Node.js, install the OWOX CLI and run owox serve. The quick start has the commands. The interface opens in your browser on your own machine.

Authenticate with your own TikTok app, if the sign-in button is not there. Continue with TikTok appears only where TikTok OAuth has been configured. Without it, the connector asks for an Access Token, an App ID and an App Secret from a TikTok developer app. The credentials guide gives the full procedure:
- Register at the TikTok for Business Developers portal and create an app. Describe your use clearly; approval can take up to seven business days.

- When the app is approved, open its page for the App ID, the secret and the advertiser authorization URL.

- Open the authorization URL, approve access, and copy the
auth_codefrom the redirect. It is valid for one hour and one use. - Exchange it for an access token with a POST request to
https://business-api.tiktok.com/open_api/v1.3/oauth2/access_token/, sendingapp_id,secretandauth_code. The response contains theaccess_tokenand theadvertiser_idsit can read.

- Paste the token, App ID and App Secret into the connector settings.

TikTok’s long-term access tokens do not expire. Treat the token and the secret like a password: anyone holding them can read the account.
TikTok Ads to other warehouses: Redshift, Snowflake, Databricks, Athena
TikTok Ads to other warehouses: Redshift, Snowflake, Databricks, Athena
BigQuery is one of five destinations. According to the connector’s documentation (checked October 2026), the same TikTok Ads connector lands raw data in Google BigQuery, Snowflake, AWS Redshift, AWS Athena or Databricks. The steps above do not change; only the storage you add in Step 1 does.
So “connect TikTok Ads to Redshift” or “export TikTok Ads to Snowflake” is this same Data Mart pointed at a different storage.
From the warehouse to reports: Google Sheets, Data Studio, Power BI, Excel
From the warehouse to reports: Google Sheets, Data Studio, Power BI, Excel
Once TikTok Ads data is in your warehouse, every reporting tool reads it from there, not from TikTok:
- Google Sheets and Data Studio (formerly Looker Studio): build a Data Mart on the loaded tables and deliver it as a report through a Google Sheets or Data Studio destination in OWOX Data Marts. The Sheets route is described step by step in how to connect BigQuery to Google Sheets. There is also a TikTok Ads to Google Sheets guide.
- Power BI, Tableau, Qlik and Excel: connect them to the warehouse with their own connectors and read the TikTok tables, or better, one Data Mart that joins TikTok spend to your other channels.
Going through the warehouse means TikTok numbers sit next to Facebook, Google Ads and revenue in one place, and every tool reads the same rows. A first query on the loaded table:
SELECT
stat_time_day,
SUM(spend) AS spend,
SUM(impressions) AS impressions,
SUM(clicks) AS clicks
FROM `your-project.your_dataset.tiktok_ads_ad_insights`
GROUP BY stat_time_day
ORDER BY stat_time_day;
This statement was not run for this guide: it needs a TikTok account with spend. The column names are the TikTok Marketing API’s, as the connector loads them.
What about TikTok organic data?
What about TikTok organic data?
This connector reads the TikTok Ads (Marketing) API: advertiser, campaigns, ad groups, ads, ad performance and custom audiences. It does not import organic data such as posts, followers or profile views, so “TikTok organic to BigQuery” is not covered by it. TikTok Shop and GMV data are not covered either. If you need those, check the full list of data sources, or request a source on GitHub.
Troubleshooting
- Authentication fails. On OWOX Cloud, sign in again with an account that has access to the advertiser. With your own app, check that the token was generated for the right app and advertiser.
- A table is empty. Check the advertiser ID, the date range of the run, and whether TikTok has data for those days.
- Numbers doubled after a change. The data level was changed after the first load. Load into a new table at the new level.
- Rate limits. Run less often, or split a long backfill into shorter runs. TikTok’s limits vary by app and permission level.
The connector’s troubleshooting page covers import and permission errors in more detail.
More connectors
The same steps work for other ad platforms: Facebook Ads, LinkedIn Ads, Microsoft Ads, X Ads and Reddit Ads. With two or more loaded, one SQL Data Mart can union them into a single spend table. The code is on GitHub.
Turn your data into decisions.
Governed data marts give you the clean foundation ML needs to actually work.
- No AI hallucinations
- Analyst-governed definitions
- Every number traces to SQL
Frequently Asked Questions
Can I choose which TikTok Ads fields are imported?
Yes. During setup you choose the endpoints, each of which becomes a table, and the fields for each one. For the performance tables you also choose the data level: ad, ad group, campaign or advertiser. Set the data level before the first run and do not change it afterwards.
How do I keep TikTok Ads data refreshed in BigQuery?
Add a trigger of the Connector Run type on the Data Mart's Triggers tab and choose a daily, weekly, monthly or interval schedule. Each run updates existing rows on the table's unique keys and inserts new ones, so days are not duplicated.
Is the TikTok Ads to BigQuery connector free?
The connector is open source and free to run yourself with the open-source edition of OWOX Data Marts. You pay Google for BigQuery storage and queries. The same connector is available on OWOX Cloud, where there is no server to maintain.
Do I need coding skills to connect TikTok Ads to BigQuery?
No. You sign in with TikTok, choose the tables and fields in the interface and set a schedule. A TikTok developer app is only needed if you choose to connect manually.
What data can I export from TikTok Ads to BigQuery?
Daily ad performance (impressions, clicks, spend, conversions, video views, engagement), the same by country, and the campaigns, ad groups, ads, custom audiences and advertiser account tables. Organic TikTok data such as posts and followers is not part of the TikTok Ads API and is not imported.



