Tempio

Measurement and metrics guides

Most arguments about advertising performance are arguments about measurement wearing a costume. Two systems report different numbers for the same week, somebody divides by something that was zero, a total quietly sums two currencies, and a decision gets made on all of it.

These guides are about not doing that. They cover why platform numbers disagree and which disagreements matter, choosing an attribution window and living with the choice, reading a blended report honestly, what currency and conversion do to a total, building a weekly review that is a decision rather than a recital, and setting up tagging conventions that still parse in a year.

Stored counts, computed ratios

The rule underneath every number Tempio shows is worth stating once, because it explains most of the behaviour people find surprising.

One row per entity per day holds counts and money: spend, impressions, reach, clicks, conversions, conversion value, and the account's own currency stamped on the row. That is all that is stored. There is no stored click-through rate, no stored return on ad spend, no stored blended anything.

Every rate is arithmetic done at the moment you look, by the same function everywhere, so the dashboard tile, the campaign table, the account brief and a programmatic result cannot disagree about what cost per acquisition means. Storing a ratio would let it drift from the counts underneath it, and a ratio that disagrees with its own numerator is the hardest kind of wrong to find.

The consequence people meet first: a zero denominator gives no answer rather than a zero. An account with no conversions has no cost per conversion; the value is empty and it renders as a dash. A zero would say something false and cheerful — that conversions were free. Reading an empty ratio as a nought is the single most common way a report ends up lying to the person holding it, and nothing in the product will help you do it.

Reach is not a count you may add up

One column behaves differently and every guide here says so. Reach is reported de-duplicated: one person who saw an ad on Monday and again on Tuesday is one person across the week and two daily rows. Anything that adds daily reach over a range is adding daily reach, which is a different quantity from the reach of the range, and every surface that shows it says which one it is showing.

Where a platform does not report reach at all the column is empty rather than zero. Did not report and reached nobody are different facts, and they are shown differently.

Money, and the two ways a total goes wrong

Money is an integer in the account's own minor units with the currency beside it, never a formatted string and never a float. How many minor units make a major one is the currency's business rather than a universal hundred, which is why a figure without its code is not a figure.

A scope covering one currency is exact and nothing is converted. A scope covering several is converted through published rates into whichever currency carries the most spend, and the result is labelled an estimate with the date of the oldest rate it leaned on, so a stale leg cannot hide behind a fresh one. Where a rate is missing nothing is invented: a blended total that cannot be reached is refused, and a list that cannot be ranked comparably comes back in its raw order with that fact attached, because a raw order across currencies is not a ranking.

Two windows compared against each other are pinned to the same currency, so a period-over-period change is never one currency divided by another.

Why two systems disagree, and which disagreements matter

Platforms restate. Each sync pulls the days the platform is still willing to revise — a window of a couple of weeks to a month, depending on the platform — so late conversions and corrections arrive as corrections rather than as gaps, and once a week the full ninety days are re-read. A sync that rewrites a large amount of already-stored history marks the connection restated, which is worth knowing before you conclude last month moved on its own.

That is one source of disagreement and it is benign. The ones that matter are structural: different attribution windows, different definitions of a conversion, different clocks, and the plain fact that a platform grading its own homework counts a conversion it can claim. A guide here is about telling those apart, because the benign kind is noise and the structural kind is a decision you have already made without noticing.

Today is always partly filled in, which deserves its own sentence. A range ending today is reporting a day that is not over, and comparing a partial day against a whole one is the easiest bad week to invent.

One thing this subject never has to caveat is what reading costs you. The arrangement, stated once: your connections read your accounts, a change is written as a draft on the record with the state it would change from and the checks it passed, applying it is gated on approval — by you, or by a rule you wrote — and no platform write reaches a customer account until that platform has granted write access. Applying a cleared change to a platform is in private beta. Every guide below is therefore available on a credential that can only read, which is the right credential for finding out whether your numbers say what you think they say.

What the numbers are for

Measurement is the subject the other five come back to when somebody disagrees.

  • Budget and bidding is the most frequent visitor: nearly every argument about a lever is an argument about whether the number that moved was real.
  • Media planning borrows the reading before a quarter is committed, which is the cheapest use of this subject there is.
  • Creative and testing depends on it entirely — a test with no agreed way of reading its result is not a test.
  • Governance and approvals supplies the other half of any audit: this subject says what the numbers did and that one says what was changed and who cleared it.
  • Agent setup is what makes all of it one question instead of three exports.

Guides in this subject

Who writes these

Questions

Put frontier AI to work on every ad account you run.

Tempio connects your ad accounts into one workspace and hands your own AI the numbers and the tools. Every change it writes is a draft until you approve it, or until a rule you wrote does.

Request early access
  • Read and draft by default. Approve is a separate permission you grant.