Low Revenue
Revenue dropped, or it's lower than you expect. This is an isolation problem: the number is a product of several layers, and the fix is different for each. Work top-down — localize the layer first, then open the runbook for that layer.
The five suspects
Revenue breaks down like this:
Revenue = Page Views × Ads per page × Fill Rate × eCPM ÷ 1000
A drop in the total traces back to one of five layers:
| Layer | What moved | Where it shows |
|---|---|---|
| Traffic | Fewer Page Views / Sessions | Monetization → Traffic tab |
| Supply | Fewer impressions per page, or Fill Rate down | Monetization → Supply tab |
| Demand | eCPM down, a bidder winning less | Monetization → Demand tab |
| Experiment | One variation is dragging the average | Monetization → Performance tab, broken out by Experiment |
| Release | A config change flipped something | Release history + the layer it touched |
The goal of triage is to decide which one before you change anything.
Step 1: Scope it
Pin down the shape of the drop before diagnosing — it eliminates whole layers for free.
| Question | What the answer rules in / out |
|---|---|
| When did it start? | A sharp step down on a specific day points at a release or experiment; a gradual slope points at traffic or market conditions. |
| How big? | Day-to-day swings of ±10–20% are normal noise. Investigate a drop over ~30% or a sustained multi-day decline. |
| All slots or some? | Isolated to specific slots/pages → supply or a layout change. Across the board → traffic, demand, or a global release. |
| All demand or one bidder? | One bidder cratering → demand. Everyone down together → traffic or a global change. |
| All devices/countries or one? | A single segment moving points at traffic-mix or a targeting change. |
Use the date range and Breakout by controls on each dashboard to answer these. There's no side-by-side compare toggle — adjust the date range and read the trend across it, or ask the AI Assistant to compute a period-over-period difference.
Step 2: Did something change at that time?
Before walking the metrics, check the two fastest explanations — a deliberate change you can point at.
- A release. Open your release history (Wrapper → Releases). If the drop starts at a deploy, that's your prime suspect — compare the deployed config to the previous known-good one. If it lines up, roll back and confirm recovery before digging further.
- An experiment. On Dashboard → Monetization, filter or break out by Experiment. Charts like eCPM by Experiment and Session RPM by Experiment show each variation separately. If a running experiment's variation is below control, the experiment is diluting your average — that's expected while it runs, but if a variation is badly underwater, end it and ship the control.
If a release or experiment explains the timing, you're done isolating — act on it. If not, walk the factors.
Step 3: Walk the factors, top to bottom
Take the layers in order. The first one that moved is where the revenue went.
Traffic — did Page Views drop?
Dashboard → Monetization, Traffic tab. Check Traffic Trend (Page Views, Sessions, Users). If Page Views fell and everything downstream is stable, this is not an ad problem — it's SEO, content, or a marketing change. Your ad setup is fine. Use Geographic Distribution and Breakout by Device Type / Browser to see whether a specific source dropped.
Supply — same traffic, fewer impressions?
Dashboard → Monetization, Supply tab. If Page Views held but impressions fell, or Fill Rate Trend dropped, the issue is between the page and the auction:
- Fill Rate down → bids aren't clearing. Check whether floors are too high (Floor Hit Rate by Page, Price Floor vs RPM Optimization), a partner went dark, or the wrapper Auction Timeout is too short.
- Impressions per page down → slots may have fallen out of a layout, or a release changed layout targeting. Break out by Ad Slots, Layouts, or Pages to find where. Run a slot audit on the affected slots.
Demand — same impressions, lower eCPM?
Dashboard → Monetization, Demand tab. If impressions held but eCPM fell, a bidder is the story. Demand Trend by Seat and Auction Competition show per-seat contribution; watch Win Rate, Response Rate, Timeout Rate, and per-seat eCPM. A seat whose win rate or response rate cratered, or whose timeout rate spiked, is dragging revenue. Work it with the bidder-health runbook.
Step 4: Attribute within the layer
Once you know the layer, break the metric down until you hit the specific slot, seat, device, page, or country responsible. Every dashboard has a Breakout by control for this. Attribution turns "demand is down" into "seat X's win rate dropped on mobile after Tuesday's release" — which tells you exactly what to fix.
Step 5: Act
| You isolated… | Do this |
|---|---|
| A release caused it | Roll back to the last known-good, confirm recovery, then re-approach the change more carefully |
| An experiment variation is underwater | End the experiment, keep the control |
| Fill Rate / floors | Lower over-aggressive floors; see Floors |
| A slot fell out of a layout | Re-add it; slot audit |
| A bidder degraded | Bidder-health runbook |
| Traffic dropped | Not an ad issue — hand off to SEO/content/marketing |
| Nothing changed on your side | Likely market/seasonal — see below before escalating |
Before you conclude "something's broken"
Some drops are real and expected. Rule these out so you don't chase a non-incident:
- Seasonality. Q4 is the annual peak (holiday budgets); Q1 is the trough (budget resets); weekends often run lower. Compare to the same period last year, not last week.
- Traffic mix. A shift toward lower-value geographies or devices lowers blended eCPM without anything being wrong. Geographic Distribution and device breakouts show this.
- Normal noise. Day-to-day ±10–20% and week-to-week ±10–15% are within range for most sites.
Rough benchmarks (they vary widely by vertical and geo):
| Metric | Typical range |
|---|---|
| eCPM | $1–5 |
| Fill Rate | 75–95% |
| Viewability | 50–70% |
Let the AI Assistant run it
The Assistant follows this same isolation flow and can do the attribution math for you — "Why did revenue drop last week?", "Which bidder is underperforming?", "Compare this week's revenue to last week and tell me what moved." It reports what changed, when, and by how much, with the evidence behind each claim. See the AI Assistant guide.
Escalation
If you've isolated the layer but can't resolve it — or can't isolate it at all — contact support@animaadtech.com. Include: when it started, the scope (which slots/seats/segments), which layer you've ruled in or out, and what you've already tried.
Related
- Bidder-health runbook — diagnose a specific demand partner
- Slot audit — trace one slot end to end
- Rolling back a release — undo a bad change
- Analytics: which metric answers which decision — the dashboard-to-decision map
- Ads not showing · Troubleshooting overview