May 8, 2026 · 7 min read · Ad Tech, KPI, Monitoring Plan

KPI monitoring guide for ad tech companies

Ad tech revenue is volatile by design. CPMs move with auction dynamics. Fill rates shift with demand fluctuations. A single header bidding partner dropping out quietly can reduce fill rate by 12% before anyone notices. By end of day, the gap in revenue is real and unrecoverable.

The characteristic failure mode in ad tech monitoring is discovering problems in the afternoon that started in the morning. Revenue dashboards are checked once or twice a day. By the time someone sees a fill rate drop, it's already been 4-6 hours. At $50 CPM, 6 hours of 15% reduced fill on meaningful inventory is not a rounding error.

This guide covers the right metrics, the right frequency, and — critically — the right comparison logic for ad tech. Time-of-day patterns in this industry are strong enough that almost any comparison to "yesterday" or "last hour" will produce false alarms.

The dayparting problem

Ad tech has the strongest time-of-day revenue pattern of any industry. CPMs are lowest between midnight and 7am, rise through the morning, peak in the afternoon and evening, then fall off again. The typical CPM spread between 3am and 3pm is 3–5×.

This means:

Any monitoring system that doesn't account for dayparting will be useless in ad tech. You'll either get constant false positives (hourly over-hourly) or miss real drops because yesterday had a similar pattern.

The ad tech monitoring plan

Metric Frequency Compare Period Alert Threshold Why It Matters
Impression fill rate Every 15 min Same 15-min slot, same day last week Drop >8 percentage points The primary revenue signal — fill rate drops compound immediately
Revenue per 1,000 sessions (RPM) Hourly Same hour, same day last week Drop >15% The combined signal of fill rate and CPM — catches both independently and together
CPM by placement Hourly Same hour, same day last week Drop >20% Demand-side signal — a drop here means buyers are pulling back or a partner dropped out
Bid win rate Hourly Same hour, prior day (same day of week) Drop >20% Auction health — a win rate drop while impression volume is stable means your floor prices may be too high
Ad load time (p95) Hourly Same hour, 7-day rolling average Spike >500ms Viewability and user experience impact — slow ads get lower CPMs and affect engagement
Active demand partners Daily Prior day Any drop to zero for a single partner Partner connectivity monitor — a partner going silent is often not caught until revenue drops
Click-through rate (CTR) Daily Same day last week Drop >20% Creative fatigue signal; also detects IVT (fraudulent clicks inflate CTR artificially)
Invalid traffic (IVT) rate Hourly Rolling 24h average Spike >2 percentage points Fraud signal — IVT campaigns ramp quickly and damage advertiser trust
Direct-sold delivery rate Daily Same day last week Miss >5% vs booked Campaign delivery health — missing delivery on guaranteed campaigns has contractual consequences
Revenue by ad unit Daily Same day last week Drop >25% Ad unit-level health — a single broken ad unit can be invisible in aggregate

Fill rate is your canary

Fill rate deserves special attention because it's both the most important metric and the most commonly monitored incorrectly.

Why fill rate moves:

Why you need 15-minute monitoring: Fill rate at 9:00am compared to fill rate at 8:45am is almost meaningless — you need same-time-last-week. But the alerting frequency still needs to be 15 minutes, because a fill rate drop that starts at 9:00am can be identified by 9:15am using last week's 9:00-9:15am window as the baseline. Waiting an hour means a 60-minute gap before the first alert.

Why a flat threshold is wrong: "Alert if fill rate drops below 75%" is only useful if you know what fill rate should be at 3am vs 3pm. Use percentage-point drops from the rolling baseline instead.

CPM seasonality to account for

Q4 premium. October through December has the highest CPMs of the year, driven by holiday advertiser spend. January CPMs reset dramatically — often 30-40% below Q4. January 1st is not a disaster; it's the annual reset. Your monitoring system should not alert on this.

Monday discount. Advertiser budgets often reset on Monday, and early-week CPMs are lower than late-week. Friday afternoon often has the highest CPMs of the week. Use same-day-of-week comparisons.

End-of-month budget flush. Some advertisers accelerate spend at the end of the month to hit budget. You'll see a CPM spike in the last 2-3 days of a month followed by a dip at the beginning of next month. Normal behavior, not an alert.

Time zone effects for international inventory. If you have inventory across multiple regions, aggregated metrics will show patterns that reflect the blend. EU primetime hitting while US is still morning creates a mid-day aggregate peak that can mask region-specific issues. Monitor fill rate and RPM by region for international publishers.

What a good ad tech alert looks like

A fill rate drop alert:

S1 — Fill rate drop Fill rate: 71.4% — down 11.3 points vs same 15-min slot last Tuesday (82.7%). Period: 2:15–2:30pm · Placement: Homepage leaderboard · Region: US [Acknowledge] [Escalate] [Mark as known issue]

A CPM drop alert:

S2 — CPM below baseline CPM: $18.40 — down 24% vs same hour last Tuesday ($24.20). Period: 2pm hour · Ad unit: In-article mid · Region: US [Acknowledge] [Mark as known issue]

The segment and ad unit in these alerts is critical. A fill rate drop on the homepage leaderboard is a different investigation than a fill rate drop on a mobile interstitial. Without that context, every alert requires additional data pulls before anyone can act.

Starting point for new setups

Three metrics to start:

  1. ·Fill rate — 15-minute monitoring, same slot last week. Nothing else matters if fill is broken.
  2. ·RPM (revenue per 1,000 sessions) — hourly, same hour last week. This is the combined signal.
  3. ·CPM by top placement — hourly, same hour last week. Separates demand problems from fill problems.

Once those baselines are established, add bid win rate, IVT monitoring, and ad unit-level breakdowns.


Lighthouse connects to your data warehouse and monitors ad tech metrics with Slack alerts when they move. Adaptive baselines account for dayparting automatically. Start for free →