← Back to blog

TikTok Ads Reporting Across Accounts: 7 Steps and API Limits

Marketer working on an advertising report

For most teams, the right approach depends on scale: TikTok Ads Manager handles ad-hoc exports and quick checks, the TikTok Reporting API handles automation and large or multi-account pulls, and templates or dashboards handle recurring visual reporting for stakeholders. Before building anything, teams need to understand two constraints: the API’s sync-versus-async limits, and the finalization delay that affects attribution timing. OppRise brings campaign planning, ad execution, and reporting into one workflow for teams managing multiple campaigns.


TL;DR:

  • Ads Manager custom reports can combine dimensions such as campaign and daily date with CPM or conversions, then save reusable templates and export CSVs.
  • Synchronous API requests return up to 10,000 ads; asynchronous tasks suit large historical pulls, and campaign or ad IDs can be batched in groups of 100.
  • Preserve untouched raw imports before cleaning data, because renamed campaigns can break dashboards and erase the trail needed to verify historical figures.
  • Match KPIs to campaign goals: use impressions and CPM for awareness, CTR and watch time for engagement, and conversion cost or ROAS for performance.
  • Finalize campaign reports a day or two after closure because attribution can still settle, and early exports may understate conversions.

Opprise
opprise.io
Bring Campaign Reporting Together
OppRise brings campaign planning, ad execution, performance reporting, and collaboration into one workflow for teams managing multiple property campaigns.
Visit OppRise

Table of Contents

Choosing between Ads Manager, the Reporting API, and dashboards

The right route depends on how often you need the data and how many accounts you manage. A one-off performance check for a single campaign rarely justifies an engineering build. A weekly report across several client accounts often does.

  • Use Ads Manager for fast, manual pulls when you need an answer today and the dataset is small.
  • Use the Reporting API when you need automation, recurring exports, or data from several ad accounts at once.
  • Layer templates or dashboards on top of either source when stakeholders need recurring visuals instead of raw spreadsheets.

Any automated setup needs a raw, untouched data layer before transformation. Skipping this step makes it difficult to trace a number back to its source once filters or naming conventions change.

How to build custom reports in TikTok Ads Manager

Ads Manager’s custom reporting tool covers most day-to-day needs without any API work. The process is straightforward once the structure is clear.

  1. Open Analytics → Custom Reports inside TikTok Ads Manager.
  2. Choose a blank report or start from an existing template, then name it something your team will recognize months later.
  3. Select your dimensions, the groupings that define how rows are organized, such as campaign, ad group, creative, or stat_time_day.
  4. Add metrics, the numbers tied to those groupings, such as CPM, CPC, CTR, and conversions.
  5. Build the combination to match your goal: campaign plus stat_time_day plus CPM and impressions for an awareness report, or ad group plus creative plus conversions and cost per conversion for a performance review.
  6. Export the result as a CSV, or combine data across multiple ad accounts if your business center grants that access.
  7. Save the report as a reusable template so the same structure can be rerun later without rebuilding it.

Pro Tip: Lock down naming conventions for campaigns and ad groups early, since inconsistent names are the most common reason a saved report quietly breaks over time.

Reporting API essentials: sync vs async, limits, and parameters

Once reporting needs outgrow manual exports, the TikTok Marketing API offers two distinct modes, and choosing the wrong one for the job tends to create bottlenecks or incomplete pulls.

Synchronous reports return data instantly and paginated, which fits dashboards or scripts that need a quick, direct answer. Asynchronous tasks are built for volume: you create a report task, poll its status, then download results once the task completes, which suits large historical exports that would otherwise time out.

Two paths for synchronous and asynchronous reports

The sync endpoint can return up to 10,000 ads per request, and CHUNK mode can increase throughput by removing the need for pagination entirely, according to the TikTok Reporting API documentation. That ceiling matters most for accounts running large numbers of concurrent ads, where a single pull without CHUNK mode would otherwise require many paginated calls.

Key parameters to configure correctly include:

  • advertiser_id, report_type, dimensions, and metrics to define what the report contains.
  • start_date and end_date to set the reporting window.
  • filtering options to scope the pull to specific campaigns or ad groups.
  • page and page_size for synchronous pagination, and query_mode to switch between REGULAR and CHUNK.

The Marketing API reference documents these parameters alongside the available report types and endpoints. When pulling by campaign or ad ID and the account exceeds per-request limits, batch the IDs in groups of up to 100 at a time, a pattern the SDK documentation also outlines through operations like report_integrated_get for sync calls and report_task_create, report_task_check, and report_task_cancel for async tasks. Every request needs a valid access token in the header, and exact header formatting is worth confirming against the current developer docs before building anything production-facing.

Where to visualize TikTok data and how to connect it

Raw exports rarely satisfy a stakeholder who wants a trend line, not a spreadsheet. Several template and dashboard hosts handle that translation well.

  • Looker Studio, Power BI, and Tableau connect to exported CSVs or API pulls and support recurring refreshes.
  • Google Sheets and Excel templates work well for smaller teams that need something lighter than a full BI tool.
  • Prebuilt templates suit single-account reporting; custom dashboards earn their build cost once you are reporting across several accounts with shared KPIs.

The pipeline that feeds any of these tools should follow the same shape: pull data via the API or export it as a CSV into a raw layer first, then transform that raw layer into a cleaned view the dashboard actually reads from. Building visuals directly off raw exports tends to break the first time a campaign gets renamed.

Which TikTok Ads KPIs matter and how to read them

Not every metric deserves equal attention, and the right set depends on the campaign’s goal.

  • Impressions, CPM, and view rates for awareness campaigns, where reach and cost efficiency matter more than clicks.
  • CTR and watch time for engagement campaigns, where attention is the thing being bought.
  • Conversion rate, cost per conversion, and ROAS or CPA for performance campaigns, where the spend needs to justify itself against revenue or leads.

A few interpretation rules keep these numbers honest. Always compare like-for-like date windows, since reports covering different date windows will mislead anyone reading it quickly. Favor rates and cost-per-result over raw counts: A high click count sounds strong until the cost per click shows the campaign is bleeding budget. Watch attribution windows closely too, since a conversion counted early can shift as more data settles in.

Pro Tip: When a report mixes awareness and conversion campaigns in one view, separate the KPI columns by goal so a strong CTR doesn’t mask a weak conversion rate underneath it.

How to automate recurring TikTok reports reliably

Manual exports do not scale past a handful of accounts, and automation only holds up when the underlying process is disciplined.

  1. Use Ads Manager’s scheduled exports where available for simple, recurring pulls on a single account.
  2. Use Reporting API async tasks for larger exports, especially across multiple advertiser IDs or longer historical ranges.
  3. Route the output through connectors or ETL tools into Google Sheets, BigQuery, or a BI platform, following a pattern similar to the one described in Google’s Ads API Report Fetcher, which separates query definition from execution and writes results into structured storage before postprocessing into reporting views.
  4. Keep a dedicated raw import layer untouched, and perform calculations and visuals in a separate cleaned layer, so a renamed campaign or restructured ad group never corrupts the historical record.
  5. Build in a buffer before calling any export final. Campaign exports pulled too soon after a campaign ends can understate conversions while attribution is still settling, so scheduling the “final” report a day or two after the campaign closes avoids chasing numbers that are still moving.

Making reporting repeatable across accounts

The hardest part of TikTok reporting is rarely the first report. It is a later one, built under time pressure, with a naming convention nobody remembers agreeing to. Standardized templates and consistent dimension naming matter more than any single metric choice, because they are what keep a report from quietly breaking later.

Centralizing reporting into one workflow, rather than scattered spreadsheets and ad-hoc exports, pays off most for teams managing several accounts. It turns a report from a one-time deliverable into something auditable, something another team member could pick up without reverse-engineering the logic first.

— Brittany

How OppRise centralizes TikTok ads reporting for growing teams

Running TikTok reporting alongside Google Ads, Meta, and Shopify data across several accounts turns into a maintenance job fast, one that pulls time away from actually interpreting the numbers. We built OppRise to centralize campaign planning, ad execution, and reporting in one workflow.

Opprise

  • Our RiseInsights product pulls performance intelligence across every connected source into one view.
  • Our RiseCampaigns product supports platform-aware paid campaigns and approval workflows.
  • Plans range from Solo to Agency Plus, with Solo starting at $102.99 per month and Growth at $258.99 per month, scaled to how many brands and users your team manages.

If reporting across TikTok and your other channels has turned into a weekly chore, our pricing page is the place to compare plans against what your team actually needs.

FAQ

How do I report ads on TikTok?

Build a custom report inside TikTok Ads Manager under Analytics, selecting dimensions like campaign or ad group and metrics like CTR or conversions, then export the result as a CSV. For recurring or large-scale pulls, the TikTok Reporting API handles both synchronous and asynchronous report requests.

Why does TikTok feel like it is mostly ads now?

TikTok’s feed increasingly blends organic content with paid placements as advertiser demand grows, which can make ad density feel higher than it used to. This article does not have data on the exact share of ad content in the feed, so that specific figure is better confirmed through TikTok’s own disclosures.

Does reporting ads on TikTok actually do anything?

Reporting a specific ad for violating content policies flags it for TikTok’s review team and can lead to its removal if it breaks platform rules. That is a separate process from performance reporting, which tracks metrics like impressions and conversions rather than policy violations.

Does TikTok pay $1 per 1,000 views?

Payment rates for TikTok’s creator programs vary by program and region, and no fixed per-view rate applies universally. For advertisers, cost per thousand impressions, or CPM, is a metric to track inside your own reporting rather than a payout rate, and it fluctuates based on targeting, competition, and campaign objective.

How soon can I treat a TikTok report as final?

Exported numbers pulled immediately after a campaign ends can understate conversions because attribution is still finalizing. Scheduling your final report a day or two after the campaign closes gives the data time to settle before you report it as the definitive result.

Sources

Primary docs and templates to follow next

Written using BabyLoveGrowth’s AI