Skip to content

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.

Verification dashboard

Independent verification

Live
Measured
805.4M
805,447,230
Net
714.2M
714,246,106
Removed
11.32%
91,201,124

Client data obscured

  1. 01

    Collect

  2. 02

    Classify

  3. 03

    Exposure

  4. 04

    Validate

  5. 05

    Reconcile

Measuring across

  • In-stream video
  • CTV & OTT
  • Mobile web
  • Open web
Ad delivery events measured
1.1B
Of gross impressions removed before billing
11.3%
Share of media spend we take
0%

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.

  1. The DSP

    counts a win

    Paid on the number it reports

  2. The exchange

    counts a served creative

    Paid on the number it reports

  3. The publisher

    counts a page event

    Paid on the number it reports

  4. AdProof

    a fourth count that answers to the buyer

    A flat platform fee on measured volume. No percentage of media, ever.

AdProof introduces a fourth count that answers to the buyer. One measurement, applied identically to every channel, reconciled against the invoice.

Reconciliation – every campaign measured, 30 March to 10 August 2026

91,201,124 Removed before billing

Gross impressions measured
805,447,230
The impression share of 1,138,414,303 delivery events. The rest are clicks, video starts, quartiles, and completes.
Net after general invalid traffic
792,164,432
13,282,798 matched GIVT signatures and came out of the count.
Counted once, after duplicate removal
714,246,106
77,918,315 were the same impression counted more than once.
Removed before billing
91,201,124

How AdProof reports, by design

  • 13,282,798

    Impressions removed as general invalid traffic, counted against gross rather than sampled

  • 77,918,315

    Duplicate impressions collapsed, so one delivery is counted and billed once

  • 8,028 cities

    Delivery resolved across 185 countries and 1,020 states and regions

Read the case studies

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.

  1. 01 Collect

    A tag, SDK, or VAST wrapper reports every delivery event from the client itself, independent of the server that served it.

    OUT – measured event

  2. 02 Classify

    Each impression is scored for general and sophisticated invalid traffic, and every exclusion carries the rule that caused it.

    OUT – validity verdict

  3. 03 Exposure

    Render, pixel geometry, and video quartiles are sampled through the exposure window rather than checked once at the start.

    OUT – exposure record

  4. 04 Validate

    Geography, daypart, and segment are checked against the insertion order, with a reason code on every miss.

    OUT – match verdict

  5. 05 Reconcile

    Verified counts are diffed against the ad server and the invoice, and the difference is filed as a discrepancy.

    OUT – discrepancy report

Definitions you can hold a vendor to.

All solutions

General and sophisticated invalid traffic reported separately and counted against gross, never blended into one rate. 13,282,798 impressions have come out as GIVT to date, each carrying the reason code that removed it.

  • GIVT
  • SIVT
  • Reason codes
  • Data-centre

13,282,798impressions removed as GIVT to date

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.

CTV & OTT

  • Impression deliveryDIRECT – observed signal
  • Invalid trafficDIRECT – observed signal
  • Duplicate detectionDIRECT – observed signal
  • Video completionDIRECT – observed signal
  • Geo validationDIRECT – observed signal
  • Target matchDIRECT – observed signal
  • Reach and frequencyDIRECT – observed signal
  • Viewability
  • DIRECT – observed signal
  • N/A – reported as unmeasurable, never modelled

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.

Measurement principle

Four of the surfaces, as they ship.

Fraud and IVT dashboard with GIVT and SIVT counted separately, an impression timeline, and per-source breakdown.

Invalid traffic, split by class

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

Geo dashboard drilled down to states, with impressions, clicks, and video completes.

Delivery down to the city

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

Supply dashboard ranking every observed source by volume, valid share, invalid rate, viewability, and target match.

Every observed source, ranked

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

Quick export screen with presets for executive summary, inventory quality, geo delivery, MRC IVT compliance, and raw events.

Presets and raw event exports

Executive summary, inventory quality, geo delivery, MRC IVT compliance, or a line-by-line event file, on any window you choose.

Obscured for client confidentiality

Real results from independent measurement.

See how brands and agencies use AdProof to detect fraud, redirect budget, and verify every impression.

Budget redirected from fraud
$1.2M+
Avg. IVT uncovered
23%
Avg. integration time
12min
Client retention rate
100%
  • Northstar Foods

    Challenge

    FMCG

    23% of OTT impressions were flagged as invalid traffic by AdProof, while the platform reported 0% IVT.

    Result

    $1.2M annual budget redirected from fraudulent to verified inventory within 30 days.

    IVT detected
    23%
    Budget saved
    $1.2M
    Time to detect
    < 1 day
  • Atlas Finance

    Challenge

    Financial Services

    Geo mismatch: 18% of impressions were served in non-target states, violating regulatory compliance requirements.

    Result

    100% geo compliance achieved within 2 weeks by blocking non-compliant sources identified through AdProof.

    Geo mismatch
    18%
    Compliance
    100%
    Resolution
    2 weeks
  • Orbit Mobility

    Challenge

    Automotive

    Cross-device frequency was 3× higher than intended, causing brand fatigue and wasted spend on duplicated reach.

    Result

    Frequency normalized to target cap. 22% improvement in unique reach per dollar spent.

    Over-frequency
    3×
    Reach improvement
    22%
    Waste eliminated
    $340K

Read the case studies

What our clients say.

“AdProof uncovered 23% invalid traffic on our top OTT source that the platform's own reports showed as clean. We redirected $1.2M in budget within a week.”

Priya SharmaVP Media Buying, Northstar Foods

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.

Every campaign on the platform, 30 March to 10 August 2026
Measured
805,447,230
Net
714,246,106