Your ad server says
it delivered.
We check.
AdProof measures every impression independently of the platforms that sell it, classifying invalid traffic, confirming the creative rendered, and validating that delivery matched what you bought. Across CTV, OTT, in-stream video, and the web.
Every campaign on the platform, 30 March to 10 August 2026

Every party in the chain counts the same impression differently.
The DSP counts a win. The exchange counts a served creative. The publisher counts a page event. None of them are measuring whether a person could actually see the ad, and none of them are neutral, because each is paid on the number it reports.
AdProof introduces a fourth count that answers to the buyer. One measurement, applied identically to every channel, reconciled against the invoice.
Five checkpoints between the impression and the invoice.
Each stage produces its own record. Every impression carries the chain of those records, which is what makes a discrepancy arguable rather than anecdotal.
Definitions you can hold a vendor to.
Four of the surfaces, as they ship.

GIVT and SIVT counted separately against gross, with an impression timeline, decision rate, and per-source breakdown rather than one blended percentage.

Drill from world to country to state to city, with impressions, clicks, and video completes at every level of the hierarchy.

One row per source id with volume, valid share, invalid rate, viewability, and target match, plus an at-risk list surfaced above the table.

Executive summary, inventory quality, geo delivery, MRC IVT compliance, or a line-by-line event file, on any window you choose.
We do not sell media. That is the entire product.
AdProof takes no revenue share on media, operates no marketplace, and holds no equity relationship with any DSP, SSP, or publisher we measure. Our detection rules are versioned and dated, and a change that moves reported rates is documented before it ships.
When a seller disputes a flag, they get the same impression-level evidence the buyer got. Both sides argue from one record.
How the measurement works →What is measurable where, stated plainly.
Not every metric exists in every environment. Vendors who claim otherwise are modelling. We do not model. Every figure below is either an observed signal or it is reported as unmeasurable.
Viewability needs a client-side measurement hook. Almost everything we measure today is in-stream video in CTV, OTT, and mobile web environments, where that hook does not run, so viewability is reported as unmeasurable rather than modelled into a number that fills the gap.
“Every number in this product resolves to the impressions behind it. A figure that cannot be opened and inspected does not belong in a report, and a blind spot is worth more stated than modelled.”
Start with one campaign.
See what the log says.
Measure a single campaign alongside your ad server and compare the two numbers. No integration fee, and no obligation to continue.