Digital Marketing Tools and Technologies
Paid Advertising and PPC Management
Data Analysis and Reporting in Marketing

How to Connect TikTok Ads to Google Sheets: 3 Methods Compared (2026)

Adela
April 29, 2026
TikTok Ads to Google Sheets: Free + Paid Methods (2026)

If you run TikTok Ads, your weekly reporting routine probably looks like this: open TikTok Ads Manager, switch to the right advertiser account, set the date range, customize columns, click Export, download CSV, paste into the Sheet, fix the headers, decide whether the video views numbers belong in the same row as the spend numbers. The whole loop takes around fifteen to twenty minutes per advertiser account on a good week, longer if the video metrics export in a different shape than your spend data. For agencies or in-house teams managing three or four TikTok ad accounts (or running campaigns alongside the F.I.R.S.T. transition we covered in our recent post), most of a Monday morning is gone before any analysis happens.


This guide compares the three ways to connect TikTok Ads to Google Sheets in 2026: the free manual CSV export, the Google Apps Script + TikTok Marketing API route for developers, and Dataslayer for scheduled no-code reporting. Compare setup time, refresh options, and scheduling, and pick the one that matches your workload.

Which method should you choose?

Before diving into each method, here is the decision matrix. Pick the row that matches your constraints.

Criterion Manual CSV export Apps Script + API Dataslayer
Setup time 0 (just export) 2–4 hours (incl. app review) A few minutes
Cost Free Free Free plan + paid tiers
Refresh frequency Manual each time Scheduled via triggers Hourly, daily, weekly, or every X hours (plan-based)
Multi-account in one sheet No (one export per account) Yes (with code) Yes (native)
Skill level needed None JavaScript + TikTok OAuth None
Custom metrics / breakdowns Limited to Ads Manager columns Full Marketing API access Full UI picker
Best for Solo advertisers, one-off reports Developers, custom pipelines Agencies, teams, recurring multi-account reports

Rule of thumb: if you have one or two TikTok ad accounts and you refresh weekly, manual CSV export is fine. If you manage multiple ad accounts, need daily refresh, or combine TikTok with Google Ads, Meta, and GA4 in a single view, a scheduled connector removes the recurring manual work.

Method 1: Manual CSV export from TikTok Ads Manager

This is the free option that comes with TikTok Ads Manager itself. No setup, no code, no third-party tools.

Setup

  1. Open TikTok Ads Manager.
  2. Pick the advertiser account from the account selector.
  3. Navigate to Campaign, Ad Group, or Ad level (TikTok keeps the classic three-tier hierarchy).
  4. Set the date range from the date picker.
  5. Customize columns: click the Columns menu and pick the metrics and breakdowns you need (spend, impressions, clicks, video views by quartile, conversions, CPA).
  6. Click DownloadBy Campaign / Ad Group / AdCSV.
  7. In Google Sheets, go to File → Import → Upload, select the CSV, and choose "Replace current sheet" or "Insert new sheet".

What it does well

  • Zero cost. No advertiser app registration or developer tokens to manage.
  • Includes Spark Ads metrics and creative-level data alongside paid placement data.
  • Works for Lead Gen Forms (separate report type from the same Ads Manager).

Where it breaks

  • No scheduling. Every weekly report repeats the same 7 steps per account.
  • One advertiser account at a time. Reporting on three clients means three exports, three downloads, three imports.
  • Column drift. If you or a teammate changes the Columns customization between exports, the Sheets template you built breaks silently.
  • Video metrics fragment across multiple report types. Pulling video plays at 25%, 50%, 75%, and 100% requires a separate report config than basic performance metrics, which fragments the workflow.
  • Conversion data attribution windows are fixed in the export. You cannot specify post-click 7-day vs post-view 1-day per export.


If that workflow describes your weeks, methods 2 and 3 take different routes to fix it. Method 2 puts you behind the API with JavaScript and a TikTok Developer App. Method 3 is an add-on built for recurring multi-account reporting, following the same pattern we used in our guides for Meta Ads to Google Sheets and GA4 to Google Sheets.

Skip the Monday CSV ritual

Manual CSV export works for one account and patience. If you track multiple TikTok ad accounts, or want to combine TikTok with Google Ads, Meta, and GA4 in the same sheet, Dataslayer pulls all of them on a schedule. No exports, no broken formulas.

Install Free Add-on

Method 2: Google Apps Script + TikTok Marketing API

If you are comfortable with JavaScript and OAuth, Apps Script gives you full control. You call the TikTok Marketing API directly, decide exactly which fields to pull, apply your own transformations, and schedule the script to run automatically.

Setup outline

  1. Create a TikTok Developer App at developers.tiktok.com and submit it for review with the Marketing API product enabled. TikTok requires app review before granting access to the Marketing API in production. Approval typically takes a few business days.
  2. From your app, get the App ID and Secret.
  3. Run an OAuth 2.0 flow once with the advertiser to get an access token. TikTok access tokens have long lifetimes by default (24 hours by spec, but renewable via refresh tokens), so token rotation is less aggressive than other ad platforms; build a refresh flow if you want unattended automation.
  4. In Google Sheets, open Extensions → Apps Script.
  5. Write a function that calls UrlFetchApp.fetch() against the report/integrated/get/ endpoint with your advertiser ID, fields, date range, and access token.
  6. Parse the JSON response and write rows to the sheet.
  7. Add an installable time-driven trigger to run it daily or weekly.

Minimal example

function pullTikTokAds() {
 const ACCESS_TOKEN = 'YOUR_ACCESS_TOKEN';
 const ADVERTISER_ID = '1234567890';

 const url = 'https://business-api.tiktok.com/open_api/v1.3/report/integrated/get/' +
   '?advertiser_id=' + ADVERTISER_ID +
   '&report_type=BASIC' +
   '&data_level=AUCTION_CAMPAIGN' +
   '&dimensions=' + encodeURIComponent('["campaign_id","stat_time_day"]') +
   '&metrics=' + encodeURIComponent('["spend","impressions","clicks","ctr","conversion","cost_per_conversion"]') +
   '&start_date=2026-04-01' +
   '&end_date=2026-04-29' +
   '&page_size=200';

 const response = UrlFetchApp.fetch(url, {
   headers: {
     'Access-Token': ACCESS_TOKEN
   },
   muteHttpExceptions: true
 });

 const data = JSON.parse(response.getContentText());
 const sheet = SpreadsheetApp.getActiveSheet();
 sheet.clear();
 sheet.appendRow(['Campaign ID', 'Date', 'Spend', 'Impressions', 'Clicks', 'CTR', 'Conversions', 'Cost per Conversion']);

 data.data.list.forEach(row => {
   const dims = row.dimensions;
   const m = row.metrics;
   sheet.appendRow([
     dims.campaign_id,
     dims.stat_time_day,
     m.spend,
     m.impressions,
     m.clicks,
     m.ctr,
     m.conversion,
     m.cost_per_conversion
   ]);
 });
}

When this makes sense

  • You need a transformation no add-on supports, like joining TikTok ad spend with Shopify order data and computing TikTok-attributed revenue per creative.
  • You are building an internal tool and code ownership matters.
  • You want zero recurring cost.

The tradeoff

You own the code, which means you also own the breakage. The TikTok Marketing API versions every quarter, the report endpoint payloads grow with new metrics, app review needs renewal, and pagination on multi-day pulls is non-trivial (page_size caps at 1,000 and you need to chain page tokens). Most marketing teams do not have time to maintain this long-term.

Method 3: Dataslayer for Google Sheets

Dataslayer is a Google Sheets add-on built for marketers and agencies who pull from many sources, not just TikTok. The point is scheduled, multi-account, multi-source reporting without writing code.


Internally, our team runs TikTok Ads reporting through Dataslayer in the same workbook as Google Ads, Meta, GA4, and Stripe data. The setup we document below is the same one we use day-to-day.

Setup

  1. In Google Sheets, open Extensions → Add-ons → Get add-ons.
  2. Search for Dataslayer and install it.
  3. Open Extensions → Dataslayer → Launch.
  4. Click "Add data source" and pick TikTok Ads. Authenticate with the TikTok Business Center account that has access to the advertiser accounts you need.
  5. Build a query: pick advertiser accounts, date range, dimensions (Campaign, Ad Group, Ad, plus audience breakdowns by Country, Gender, Age, Placement, or Interest), and metrics (Impressions, Clicks, Spend, CTR, CPC, Conversions, Cost per Conversion, Video Views at 25%, 50%, 75%, 100%, Average Watch Time).
  6. Click Run. The data lands in your sheet.
  7. Set a refresh schedule (hourly, daily, weekly, or custom) from the same panel.

What Dataslayer does well

  • 50+ data sources beyond TikTok (Google Ads, Meta, GA4, LinkedIn, Search Console, Shopify, HubSpot, Klaviyo) so you can pull cross-channel reports into the same sheet.
  • Multi-account in a single query: pull 5 TikTok advertiser accounts at once with one query block.
  • Spark Ads metrics are first-class. Pull engagement on Spark Ads alongside in-feed video performance without juggling multiple report types.
  • Pre-built Looker Studio templates for TikTok Ads if you want to escalate from Sheets to a visual dashboard later.
  • AI Insights and MCP integration for Claude and ChatGPT from the Advanced tier (ask Claude "which TikTok creative had the lowest CPA last week?" and it queries the connector live).

When Dataslayer isn't the right fit

  • If you only run TikTok Ads on one small account and refresh once a month, the free CSV export is enough.
  • If you need to write data back to TikTok (pause campaigns, edit budgets, upload creatives), Dataslayer is read-only. Use TikTok Ads Manager or the Marketing API directly.

Pricing

Free forever for 1 connector and 1 user. Starter $35/month annual ($39/month billed monthly) covers 3 connectors and 1 destination. Advanced $115/month annual adds hourly schedule, AI Insights, and MCP integration. Pro $345/month annual covers up to 100 accounts per connector with unlimited users. See dataslayer.ai/pricing for full plan details.

Common TikTok Ads reports you can build in Google Sheets

Once the data is flowing, these are the reports marketing teams and agencies build most often.

Campaign performance summary

A weekly view across campaigns showing Impressions, Clicks, CTR, Spend, Cost per Click, Conversions, and Cost per Conversion. Filter by date range and campaign objective. This replaces the screenshot-from-Ads-Manager that account managers send to clients.

Video engagement breakdown

Video performance is what differentiates TikTok from other paid channels. Pull video plays at 25%, 50%, 75%, and 100%, average watch time, and 6-second view rate, broken down by creative. The drop-off curve between 25% and 75% completion is usually where you find your best- and worst-performing creatives.

Creative comparison: Spark Ads vs in-feed

Spark Ads (organic content boosted as ads, now mandatory for new launches under the F.I.R.S.T. framework) and traditional in-feed creatives behave differently in the auction. Track CTR, CPA, and frequency by ad type. In our experience, Spark Ads tend to have higher CTR but variable CPA depending on the underlying organic performance.

Audience saturation by placement

TikTok serves on the For You feed, Search, TopView, Pulse, and the broader Pangle network. Track frequency and CTR by placement. When placement frequency climbs into the high single digits per week with falling CTR, you are looking at saturation; rotate creative or expand the audience.

Conversion attribution: TikTok Pixel vs cross-channel

Pull conversions reported by TikTok (using conversion and total_conversion_value from the Marketing API) and compare against your CRM or GA4 numbers. Mismatches are common because TikTok and GA4 use different attribution windows and different signal sources. The point of the report is to surface the gap, not pretend it does not exist. For teams running TikTok alongside Google Ads, Meta, and LinkedIn in the same workbook, see our guide on analyzing Google Ads, Meta, and LinkedIn with Claude for the cross-channel CPA workflow.

Get the TikTok reporting template

Install Dataslayer free, connect your TikTok Ads account, and clone our pre-built reporting template in Google Sheets. Multi-account, multi-channel, scheduled refresh.

Try Dataslayer Free

Troubleshooting: the four errors you will hit

Token expired or auth-related error

Your TikTok access token has expired. TikTok tokens follow a refresh-token pattern; if you did not implement refresh, the token will stop working after its lifetime, surfacing as an auth error in the response body. Either re-run the OAuth flow or implement the refresh exchange. In Dataslayer, click the TikTok account in the connection panel and re-authenticate. Check the TikTok error code reference for the exact code returned in your response.

Rate limit hit (quota error in the response body)

TikTok rate limits vary by endpoint and partnership tier. The reporting endpoint allows multiple requests per minute per advertiser, with daily caps that scale with partner status, and surfaces a quota error code in the response body when you exceed it. If you start hitting limits, batch metrics into one call with multiple dimensions (the API accepts arrays for both) instead of issuing separate requests, or stagger pulls across the day. Verify your app's specific limits in the TikTok developer dashboard.

Conversion mismatch with Ads Manager UI

The TikTok UI shows conversions counted with default attribution windows (post-click 7 days, post-view 1 day). The Marketing API returns the same conversions but the windows are configurable per call. If your Sheet shows different numbers than the UI, check the date range and attribution window in your query versus what the UI is set to. The same logic applies for value-based metrics like total_conversion_value.

Spark Ads metrics returning empty or partial

Spark Ads pull from organic posts, which means some metrics (organic engagement before boost) live on the creator's account, not the advertiser. The reporting API exposes paid-side metrics for Spark Ads but not pre-boost organic performance. To compare paid vs organic effect on the same Spark Ad, you need to pull TikTok organic data separately and join in your Sheet. Note: under the F.I.R.S.T. framework rolling out in 2026, Spark Ads is the primary creative format going forward, so this gap matters more than it used to.

TikTok Ads in Sheets vs Looker Studio: when to use each

Both tools pull from the same TikTok Marketing API. Pick based on the end use, not the data source.

Use case Google Sheets Looker Studio
Ad hoc analysis Better Clunky
Weekly stakeholder deck Better (export to PDF) Good
Live client or stakeholder dashboard Limited Better
Joining TikTok data with Shopify or CRM Better (formulas + IMPORTRANGE) Possible, complex
Cross-channel comparisons Better Better with blended data sources


The honest answer: most teams need both. Sheets for ad-hoc analysis and CRM joins, Looker Studio for live dashboards. Dataslayer supports both without rewriting queries.

FAQ

Is it free to connect TikTok Ads to Google Sheets?
The manual CSV export is free forever. Apps Script is free as long as you stay within the daily execution quotas. Dataslayer has a free tier for 1 connector and 1 user, plus paid tiers for higher volume and more sources.


How often does the TikTok Ads data refresh in Google Sheets?
Manual CSV refreshes only when you re-export. Apps Script refreshes on whatever schedule you code. Dataslayer supports hourly, daily, weekly, or every X hours at document level, depending on your plan.


Can I connect multiple TikTok ad accounts to one sheet?
Not natively with the manual CSV export, since each download is per-account. Apps Script can loop over advertiser IDs if you write the code. Dataslayer supports multiple TikTok advertiser accounts in the same workbook out of the box, which is why agencies and in-house teams use it for multi-account reporting.


Does it work with Spark Ads metrics?
Yes, all three methods can pull Spark Ads paid-side metrics. The CSV export includes them when you select the right report type. Apps Script reads them via the Marketing API. Dataslayer pulls them in the standard TikTok Ads connector. None of the three exposes pre-boost organic performance, since that lives on the creator's account.


Can I use TikTok Ads in Google Sheets for client or stakeholder reporting?
Yes, and it is one of the most common use cases. Agencies build a master template in Sheets, connect each client's TikTok advertiser account, and duplicate the sheet per client. In-house teams do the same with multiple regional accounts or business units. Dataslayer speeds this up because the same query definition can point at different accounts.


Why is my TikTok data different in Sheets than in Ads Manager?
Three common causes. The UI uses default attribution windows while the API lets you specify the window. The UI auto-applies a recent-data refresh delay; the API returns whatever has been processed at query time. Some UI metrics are computed views that the API exposes as separate fields requiring manual combination.


Does Dataslayer cover TikTok Pixel conversions?
Yes. Pixel-based conversions surface as the conversion field in the TikTok Marketing API and are exposed by Dataslayer's standard TikTok Ads connector. Both pixel and TikTok Events API conversions show up there, with the same attribution window applied.

Conclusion

The decision is mostly about how often you pull data and how many accounts feed into it. Manual CSV export covers solo advertisers with one TikTok account and patience to re-download weekly. Apps Script is for analysts who want full control and can handle TikTok's app review and token refresh logic. Dataslayer fits teams, agencies, and anyone who needs TikTok data in Google Sheets on a schedule, alongside Google Ads, Meta, GA4, and the rest of the marketing stack.


The real question is which method matches your recurring workload. If you pull TikTok data more than once a week, the time you spend on manual exports has a cost that is easy to underestimate.


Track TikTok, Google Ads, Meta, and the rest of your marketing stack in one Google Sheet, on a schedule. Try Dataslayer free for 15 days. No credit card required.


If you also need to update your TikTok account setup before scaling reporting, our TikTok F.I.R.S.T. transition playbook covers the verified-profile requirement that affects every new campaign in 2026.

CONTACT FORM

RELATED POST

Why Your LinkedIn Campaigns Are Now 'Ad Sets': The 2026 Rename Explained

How to Connect TikTok Ads to Google Sheets: 3 Methods Compared (2026)

How to Connect LinkedIn Ads to Google Sheets: 3 Methods Compared (2026)

Our Partners