Reporting

Which TikTok Ads metrics actually predict results

Most TikTok reports contain forty columns and answer no questions. A short hierarchy of metrics, in the order a decision actually needs them.

Freshlytics team · Updated August 2026 · 9 min read

Three tiers of metric

It helps to sort every metric into one of three groups before it ever reaches a dashboard.

  • Outcome metrics — what the business cares about: conversions, cost per result, ROAS, revenue. They are the truth, and they arrive late and noisily.
  • Leading metrics — things that move before outcomes do: hold rate, CTR, frequency, CPM, conversion rate by step. They are how you act in time.
  • Descriptive metrics — impressions, reach, video views, engagement counts. They describe scale. They rarely change a decision on their own.

The common failure is a report built almost entirely from the third group, with one outcome metric at the end and nothing from the middle.

The metrics worth watching, and what each one is for

MetricTierWhat it actually tells you
Cost per result / CPAOutcome The scoreboard. Useless on its own for diagnosis — it tells you something is wrong, never what.
ROASOutcome Essential where order values vary. Watch it alongside CPA, since a stable CPA with a falling average order value looks fine until revenue does not.
Conversion rate (click → result)Leading Separates a traffic-quality problem from a landing-page or offer problem. If CTR is up and CVR is down, you bought worse clicks.
CTRLeading Interest in the offer given the creative. The single best early indicator of creative decline, when compared to the creative's own baseline.
3s / 6s hold rateLeading Hook strength. Moves before CTR does, and separates a bad opening from a bad offer.
FrequencyLeading Saturation pressure. Rising frequency with falling CTR is the classic fatigue signature.
CPMLeading / context Auction pressure and audience quality. A CPM jump with unchanged creative usually means competition or a targeting change, not your ad.
Spend pace by hourLeading Whether budget is landing in the hours that convert. See the pacing guide.
Impressions, reach, video viewsDescriptive Scale context. Necessary for computing the metrics above, rarely a decision on their own.
Likes, shares, commentsDescriptive Useful as a creative signal and for organic spillover; a poor optimization target for direct response.

Attribution: why your numbers disagree

Platform-reported conversions and the conversions in your own database will not match. That is normal, and it has boring reasons: attribution windows, view-through settings, modelled conversions, deduplication between pixel and server-side events, cross-device behaviour, and the simple fact that the platform restates figures for several days after the event.

Practical rule: use platform numbers to compare things inside the platform — this ad group against that one — and use your own database to decide how much the channel is worth in total. Trying to make the two agree exactly is a research project, not a reporting task.

One consequence matters for automation: because figures restate, any rule that reacts to cost-per-result should look at a window that has had time to settle, and should require a minimum number of events before acting.

Significance, briefly

A great deal of daily optimization is reacting to noise. An ad group with four conversions and a CPA of $12 has not proven anything; the same ad group tomorrow can show $40 without anything having changed.

Two guards remove most of the damage:

  • Minimum spend: do not judge an ad group until it has spent a meaningful multiple of your target CPA — three times is a reasonable working floor.
  • Minimum events: do not judge cost per result on single-digit conversion counts.

Both belong in your reporting and in every automated rule you write.

A report a buyer can act on

The most useful daily view we have found has four blocks:

  1. The scoreboard: spend, CPA, ROAS versus target, for the account and the period. Four numbers, no more.
  2. Exceptions: ad groups that broke a threshold — CPA drift, pacing anomaly, zero delivery, ad rejection. Sorted by wasted spend, not alphabetically.
  3. Creative status: which assets are declining against their own baseline, and which new ones are outperforming what they replaced.
  4. Opportunities: ad groups that are budget-capped while beating target — the list of cheap decisions available today.

Everything else belongs in a drill-down, reachable in one click and read only when a question demands it.

app.freshlytics.site/workspace/overview
Workspace overview
6 ad accounts · last sync 4 min ago · last 7 days
Export report
Spend
$48,210
+12.4%
CPA
$21.06
−8.1%
ROAS
2.41×
+0.19
At risk
7
+3
Spend vs. CPA Spend CPA
Ad groups needing attentionranked by wasted spend
Ad groupSpendCPAFreq.Signal
US_BroadA_25-44Nova Skincare · ABO $4,120$38.103.8Creative fatigue
UK_Lookalike_2%Nova Skincare · CBO $2,860$19.401.9Scale +20%
DE_Retarget_30dKite Apparel · ABO $1,940$44.804.6Overdelivery
US_Interest_FitnessKite Apparel · CBO $1,510$22.902.1Learning phase
CA_Broad_18-34Halo Supp. · ABO $1,180$51.202.7CPA drift +64%

The same four blocks in the Freshlytics overview — illustrative sample data.

What to stop reporting

  • Metrics nobody has ever made a decision from — if a column has never changed an action, cut it
  • Account-level averages presented as if they described individual creatives
  • Week-over-week comparisons where one week contained a structural change nobody noted
  • Any number without the target it is supposed to be measured against

In Freshlytics: targets, significance guards and exception-first sorting are built into the reporting layer, so the daily view starts from what needs a decision rather than from everything the API returned. Request beta access.

← All guides