Skip to content
Zenmo
Insights

Agents · August 27, 2026 · 4 min read

What an ad ops agent actually does at 3am

Everyone has an agent now. Here is what the word means in monetization, told through one night and one falling eCPM.

The word "agent" is doing a lot of work this year. Most of the time it means a chatbot with a few tools attached. In monetization it should mean something narrower: software that watches revenue continuously, forms a view about why it moved, and acts within limits a person set in advance.

The easiest way to explain the difference is to walk through one night.

One night, one bidder

02:40. A casual puzzle game earns most of its revenue from rewarded video. One bidder starts timing out on requests from Brazil. Not failing, just slow. Around 30% of its responses now arrive after the auction has closed, so they are discarded. Nothing crashes. But that bidder was winning roughly a fifth of Brazilian rewarded impressions, usually at the top of the stack, and those impressions are now clearing lower down.

By 03:00 the Brazilian rewarded eCPM is down from about $14 to $11. Brazil is 12% of the app's impressions, so the overall number barely moves. On a daily chart it would look like noise.

03:04. The agent flags it. Not because revenue dropped overall, but because one segment (country, format, bidder) has stepped outside the range it normally sits in at that hour on a Wednesday. The baseline is per segment and per hour, which is what makes a 20% drop in one country visible when the aggregate is down 2%.

03:06. Diagnosis. The agent checks the obvious candidates in order. Did fill drop? No. Did a floor change? No. Did traffic shift to a cheaper placement? No. Did a bidder's latency change? Yes: median response time from that bidder in Brazil went from 180ms to 1,400ms at 02:38, and its timeout rate went from 2% to 31%. Everywhere else it is normal. That is enough to name the cause with reasonable confidence: a regional problem on one bidder's side.

03:08. Before touching anything, it reads the rules. This publisher has set a handful: floors may move within 25% of their current value, bidder weights may be adjusted per country, nothing about ad load or frequency changes without sign-off, and no new format or partner is ever added automatically. Any change made at night carries a note and is reviewed in the morning.

So the fix is bounded. It cannot switch the bidder off, and it should not want to, because the bidder may recover in an hour. What it can do is lower that bidder's weight in Brazil so the auction stops waiting for it, and step the Brazilian rewarded floor down modestly so the next tier of demand can clear the impressions. Both changes are inside the limits. Both apply to Brazil only.

03:09. It opens a test rather than trusting itself. Four fifths of Brazilian rewarded traffic gets the change and the rest stays as it was. If the bidder recovers at 05:00, the control group will show it, and the agent can roll back on evidence rather than on a hunch.

06:30. The bidder is back. Latency normalised at 05:12. The control group's eCPM climbed to $13.80 while the treated group sat at $12.60, so the fix is now costing money. The agent restores the original weight and floor, closes the test, and writes it up.

08:15. The morning note is four short paragraphs: what happened, what was ruled out, what changed and when, and what the test showed. Estimated revenue lost to the outage: about $140. Estimated revenue recovered by the overnight change versus doing nothing: about $90. One suggested follow-up: ask the bidder what happened in Brazil at 02:38.

The human version

We have lived the other version. The same incident shows up as a soft week in Brazil on a report someone reads on Monday. A ticket goes to the account manager. The bidder says they see nothing wrong, because by then they do not. Someone compares floors, someone else compares waterfalls. The outage lasted three hours, the investigation takes three days, and the conclusion is usually "it recovered on its own".

The cost is not mainly the revenue from one night. It is that nobody learns anything, so the next one looks the same.

What should an agent be allowed to change?

This is the real question publishers ask, and it deserves a straight answer. Our view is that the split should follow reversibility and blast radius.

Floors, bidder weights and timeouts, inside limits the publisher sets: yes, without asking. These are the knobs ad ops already turns daily. A wrong move is reversible in a minute and costs a fraction of one segment's revenue. Waiting until morning to ask permission costs more than the worst plausible mistake.

Ad load, frequency caps, pacing, new formats, new partners: ask first. These change the player's experience, and the cost of a wrong move shows up in retention weeks later, where no overnight test can see it. An agent should be able to recommend them, with the evidence, and then wait.

The rules themselves, and the limits inside them: never. Those belong to the publisher.

That is roughly how we built Zenmo Sage: it acts on the first group, asks about the second, and keeps a written trail of both. But the principle matters more than the product. An agent you cannot bound is automation you cannot trust, and an agent that asks about everything is a dashboard with better prose.

Find out what your inventory is worth

Get a free revenue review: we audit your current stack and demand, and show you where the upside is. No obligation, no slide deck.