Google Sheets

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

Access this resource for free

By submitting, you agree to our privacy policy.

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

KPIFormulaWhat it is for
Impressionsraw volume, never read alone
Reachpeople reached, not impressions
Frequencyimpressions ÷ reachabove 3 over 7 days in acquisition, the creative is wearing out
CPM(spend ÷ impressions) × 1,000the price of attention on your audience

Creative

This is the stage that tells you whether the creative is doing its job.

KPIFormulaWhat it is for
Link CTRlink clicks ÷ impressionsthe only CTR that counts, not all-clicks CTR
Hook rate3s views ÷ impressionsdo the first three seconds hold
Hold rate15s views ÷ 3s viewsdoes the body of the video hold
Completion rate100% views ÷ impressionsonly 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

KPIFormulaWhat it is for
Link CPCspend ÷ link clicksthe price of a qualified click
Conversion rateconversions ÷ link clickslanding page quality
CPAspend ÷ conversionsthe only figure comparable to your margin
ROASrevenue ÷ spendalways 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.

  1. Is CPM abnormal? If so, the problem is the audience or saturation, not the creative.
  2. Is hook rate low? The problem is in the first three seconds.
  3. Good hook but collapsing hold rate? The problem is the body of the video.
  4. Good CTR but low conversion rate? The problem is the page, not the ad.
  5. 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.

Talk to Founder