← All playbooks·Cross-media measurement

Playbooks · Cross-media measurement

Check delivered traffic for invalid and fraudulent volume

This job turns a verification vendor's IVT and fraud rates into an impression count and a euro figure for one flight, so a buyer can decide whether to pay full price, take a partner credit, or dispute the placement. It feeds the invoice reconciliation and any make-good negotiation with the supply partner.

What you need first

  • Delivered impression count for the flight, from the ad server delivery report, not the publisher's self-reported number
  • Verification vendor report (IAS, DoubleVerify, or Adloox) for the same date range and placement IDs, with IVT rate and fraud rate broken out separately
  • Measured impression count from the verification tag, to check against delivered volume
  • Booked CPM from the insertion order or DSP line item
  • Contract's IVT threshold or credit clause from the IO or master agreement, if one exists

The procedure

  1. Export delivered impression count from the ad server for the exact flight dates and placement IDs
  2. Pull the verification vendor's IVT rate and Ad Fraud rate for the same scope, matched to date range and placement
  3. Reconcile measured tag impressions against delivered impressions; flag any gap over roughly 10% as a tag-firing issue before trusting the rate
  4. Calculate invalid impressions as delivered impressions times IVT rate
  5. Calculate fraud impressions as delivered impressions times Ad Fraud rate, treating fraud as a subset of IVT, not an addition to it
  6. Calculate clean billable impressions as delivered impressions minus invalid impressions
  7. Convert invalid impression volume to a credit amount using the booked CPM
  8. Compare the placement's IVT rate against the contract threshold and flag any placement over it for dispute, not just the campaign average

Worked through with numbers

Flight delivered 4,200,000 impressions per the ad server. The verification vendor reports IVT at 6.8% and Ad Fraud at 1.4% for the same placement and dates, tag-measured impressions come in at 4,110,000 (2.1% under delivered, within tolerance). Invalid impressions: 4,200,000 x 0.068 = 285,600. Fraud impressions (subset of the 285,600, not additional): 4,200,000 x 0.014 = 58,800. Clean billable impressions: 4,200,000 - 285,600 = 3,914,400. At a booked CPM of €4.50, the credit owed is 285,600 / 1,000 x €4.50 = €1,285.20. Total campaign cost at 4,200,000 impressions is €18,900, so the credit equals 6.8% of spend, matching the IVT rate exactly. Read it as: this placement is running invalid volume roughly 5 points above the usual 1-2% baseline for direct-bought European display, so it goes on the dispute list even though the tag reconciliation itself is clean.

Where it goes wrong

  • Don't pull impressions from the publisher's self-reported dashboard; publishers often pre-filter obvious bots before reporting, which understates the true IVT rate. Use the ad server or DSP number instead.
  • Don't add the fraud rate to the IVT rate when computing invalid volume. Ad fraud (SIVT) is a subset of IVT (GIVT+SIVT), so summing them double-counts and overstates the credit.
  • Don't average IVT across the whole campaign before deciding what to dispute. A clean overall average can hide one placement or supply path running at 20%+ IVT; check per-placement rates.
  • Don't apply the credit to gross media spend if the contract nets out agency commission first; check whether the IO defines the credit base as gross or net before quoting a figure.

How to know it is right

Confirm invalid impressions plus clean impressions sum back to the original delivered count, and that the euro credit divided by total campaign cost equals the reported IVT rate.

Terms used