Data Integration

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.

Data IntegrationVadym Kramarenko10 min read

TikTok Ads to BigQuery: free connector and setup guide

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:

  1. Connect BigQuery as a storage.
  2. Create a Data Mart with the Connector definition type and choose TikTok Ads.
  3. Click Continue with TikTok and approve access to your advertiser accounts.
  4. Choose the data and fields, name the table, and publish.
  5. 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

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.

The Turning Point

OWOX Data Marts

See your first report built in real time. 15 minutes.

  1. Connect your data warehouse
  2. Pick your metrics
  3. Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

Book a Demo

We'll use your actual use case

What you need

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

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.

OWOX Data Marts interface showing the main dashboard with the ‘New Data Mart’ button.

Create Data Mart screen with title set to “TikTok Data” and storage selected as “TikTok Ads Storage”.

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

Input Setup section in OWOX Data Marts with ‘Connector’ selected as the definition type for the data source.

Setup Connector panel in OWOX Data Marts with TikTok Ads selected as the connector source.

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.

Set Up Connector panel for TikTok Ads in OWOX Data Marts, step 2 of 5, with a Continue with TikTok button, an Advertiser IDs field and the Data Level set to AUCTION_AD – signing in replaces the access token

Then fill in:

  • Advertiser IDs: the accounts to load.
  • Data Level: the grain of the performance tables, as described above. AUCTION_AD is 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 data step of the TikTok Ads connector in OWOX Data Marts listing advertiser, campaigns, ad_groups, ads, ad_insights, ad_insights_by_country and audiences with a one-line description each, ad_insights selected – one endpoint per Data Mart

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.

Field selection for ad_insights in the TikTok Ads connector, 8 of 39 fields selected, with ad_id, advertiser_id and stat_time_day locked as keys and a note that required fields depend on the Data Level – the keys are chosen for you

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

Last step of the TikTok Ads connector setup in OWOX Data Marts with the dataset name tiktok_ads_owox, the table name tiktok_ads_ad_insights and a reminder to schedule runs on the Triggers tab – where the rows will land

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

OWOX Data Marts setup showing the ’Publish Data Mart ’ button ready to be clicked to activate the Data Mart configuration.

Step 5: load history

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

Manual Run configuration panel in OWOX Data Marts showing run type options and fields to set start and end dates.

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.

Run History tab in OWOX Data Marts displaying the status message ‘Import is finished’.

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.

Scheduled trigger setup screen in OWOX Data Marts showing trigger type and scheduling options for automating data runs.

OWOX Data Marts trigger summary screen showing active time trigger details, including schedule, status, and upcoming run for TikTok Data.

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

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.

Local host being redirected to the home page of OWOX Data Marts.

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:

  1. Register at the TikTok for Business Developers portal and create an app. Describe your use clearly; approval can take up to seven business days.

TikTok app setup screen with fields for app name, description, redirect URL, and selected permissions.

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

TikTok app details page showing App ID, secret key, and authorization URL.

  1. Open the authorization URL, approve access, and copy the auth_code from the redirect. It is valid for one hour and one use.
  2. Exchange it for an access token with a POST request to https://business-api.tiktok.com/open_api/v1.3/oauth2/access_token/, sending app_id, secret and auth_code. The response contains the access_token and the advertiser_ids it can read.

Example JSON response from TikTok API showing access token, advertiser ID, and scope permissions after successful authentication.

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

App ID and App Secret being pasted into the appropriate field.

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

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

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.

Your New Normal

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
Get started free

FAQ

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.

Who wrote this

Vadym Kramarenko

Vadym Kramarenko · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.