Meta Ads Reporting Template: KPIs and Their Thresholds
The KPIs to track per creative, their formulas, reading thresholds and diagnostic order. Google Sheets dashboard ready to connect.
Updated
Most Meta Ads dashboards show thirty metrics and help you decide on none of them. A useful report answers one question: what do I cut, what do I scale, and on which signal?
The KPIs, their formulas and the reading order are published below. The Google Sheets file adds the formulas already written and the connection to your Meta export.
KPIs, by funnel stage
Delivery
| KPI | Formula | What it is for |
|---|---|---|
| Impressions | — | raw volume, never read alone |
| Reach | — | people reached, not impressions |
| Frequency | impressions ÷ reach | above 3 over 7 days in acquisition, the creative is wearing out |
| CPM | (spend ÷ impressions) × 1,000 | the price of attention on your audience |
Creative
This is the stage that tells you whether the creative is doing its job.
| KPI | Formula | What it is for |
|---|---|---|
| Link CTR | link clicks ÷ impressions | the only CTR that counts, not all-clicks CTR |
| Hook rate | 3s views ÷ impressions | do the first three seconds hold |
| Hold rate | 15s views ÷ 3s views | does the body of the video hold |
| Completion rate | 100% views ÷ impressions | only meaningful on short formats |
Hook rate and hold rate separate two problems people constantly conflate: a creative nobody starts, and a creative everybody abandons. Both show a low CTR, and both are fixed differently.
Conversion
| KPI | Formula | What it is for |
|---|---|---|
| Link CPC | spend ÷ link clicks | the price of a qualified click |
| Conversion rate | conversions ÷ link clicks | landing page quality |
| CPA | spend ÷ conversions | the only figure comparable to your margin |
| ROAS | revenue ÷ spend | always report it with its attribution window |
The diagnostic order
Reading KPIs in this order stops you from rebuilding a creative when the problem is the page.
- Is CPM abnormal? If so, the problem is the audience or saturation, not the creative.
- Is hook rate low? The problem is in the first three seconds.
- Good hook but collapsing hold rate? The problem is the body of the video.
- Good CTR but low conversion rate? The problem is the page, not the ad.
- Everything looks fine but CPA does not work? The problem is the offer or the price.
Thresholds
There is no universal good CTR. A 0.8% CTR is excellent in B2B and mediocre in impulse e-commerce. The only useful benchmark is your own median over the last 90 days, per placement and per funnel stage.
That is why the dashboard computes a rolling median instead of showing thresholds imported from a blog post.
Two benchmarks that do hold, because they are structural rather than sector-specific:
- Frequency above 3 over 7 days in acquisition: the creative is at end of life.
- Fewer than 50 conversions per week per ad set: you will not exit learning, and your numbers are not statistically readable.
Aggregate by concept, not by creative
This is what changes everything, and it depends directly on your naming convention. If the creative name carries the concept in a stable way across iterations, you can aggregate performance by creative idea instead of by file.
Without that, you will know v03 performs. You will not know that the three variants of the
“unboxing” concept beat the six variants of the “testimonial” concept.
The dashboard splits the name on _ to rebuild those columns. The matching convention is
the naming template.
What this report does not do
It does not attribute anything. It reads the figures Meta declares, with your account’s attribution window, and does not try to reconcile them with your actual sales. A gap between Meta ROAS and your back office is normal: this template does not solve it and does not claim to.
It also does not replace an incrementality test. Knowing a creative has good ROAS does not tell you it created the sale.