May 19, 2026
It's Not the Auction
Retail media teams misdiagnose operating problems as optimization problems. AI agents will make this mistake faster, louder, and more expensive.
Every retail media team has the same meeting: pull the numbers, notice movement, debate auction competitiveness, make three changes, and feel that warm, useful worker feeling.
I’ve run that meeting and felt its warmth. I’ve also listened to someone blame soft ROAS on bids while the hero SKU had been out of stock for the past nine days.
This is retail media’s favorite mistake: the auction is visible and covered in buttons, so it gets blamed for problems it’s the victim of.
The Seductive Diagnosis
When your performance estimates get shaky, the obvious move is to reach for the levers in front of you. ROAS is soft, so bids need work. Spend is behind, so budgets need a nudge. CPC is rising, so competition must be brutal. And when KPIs miss, the platform, seasonality, algorithm, the economy, or the weather must be to blame.
Sometimes that reads right. Auctions get more competitive, and bids go stale. But “optimize harder” is the easy answer when the core problem is deeper and more personal. It does not question the campaign structure when the curtain is pulled. It does not expose the PDP with Syndigo images no one changed out. It does not admit the weekly review lives in one person’s head. It just means shifting papers and clicking buttons, which feels productive, but often is not.
Optimization is a real skill, but it is an editing operation. Editing only creates signal when the structure underneath it is coherent enough for the change to mean something.
Raise a bid on an ad group that blends branded defense, category discovery, and competitor conquesting, and you have not optimized anything. You have moved an average. You cannot tell which intent responded, so you cannot learn from the change, so next week you guess again.
This is the real cost: optimizations on optimizations, and the team learns nothing.
What’s Actually Broken Is Upstream
When a retail media program underperforms, the failure is usually upstream of the auction, and it tends to show up in four places.
Structure. The campaign name does not tell you the campaign’s job. Brand_Search_Q2 gives you a brand, a tactic, and a quarter, and tells you nothing about whether the campaign defends branded queries or finds new category demand. Those jobs succeed and fail in completely different ways. If the structure does not encode intent, you cannot diagnose a result. You can only describe it.
Readiness. You can buy all the traffic you want to a product page with two reviews, a weak hero image, and a price 11% above the category. The media is not broken. The page is. Bidding harder only pays a premium for the same bounce. Availability, price, content, reviews, and promo status are not side issues. They decide whether media pressure has anything useful to convert. If nobody checked those before scaling spend, media is not the problem yet.
Pacing with no context. A pacing report that ends at “ahead” or “behind” is a status, not an operating tool. Behind because of what? Do what about it? Expect what effect? Owned by whom? Reviewed when? Without those answers, pacing is a weather report: informative and inert.
No memory. If the reason for a change is not written down, the team did not learn. It only changed something. Three weeks from now nobody will remember why that campaign was paused. I’ve tested this myself, extensively.
A Test You Can Run
Here is a single test to run before the weekly meeting:
Can I name the specific job this campaign was supposed to do, and check cleanly whether it did that job?
If yes, the soft number might be a real auction or bidding problem. The campaign has one clear intent, the products are ready to convert, and you can read the metric without untangling three different jobs. Optimize away, because that is the work.
If no, optimization is premature.
If you would have to separate three intents first, or you do not know whether the SKUs were even in stock, you are not looking at a performance problem yet. You are looking at a legibility problem wearing a performance problem’s clothes.
Most weeks, for most teams, it is the second one.
Agents Inherit the Operating System
Every team wants an agent that reads the account, flags pacing risk, drafts optimizations, and writes the client recap.
Good. That future is real, and I am building toward it myself.
But an agent does not transcend your operating system. It inherits it.
If campaign names do not encode intent, the agent cannot read intent, so it averages across jobs the same way your messy report does, just faster and with more confidence.
If there is no action log, the agent has no memory to reason from, so it re-derives context every run, or worse, invents it.
If pacing says “behind” but never “behind because,” the agent can flag the variance and still cannot tell you what to do.
AI does not fix a messy system. It industrializes it. A clean system with an agent on top compounds. A messy system with an agent on top produces wrong answers at scale, in fluent, confident prose, faster than you can review them.
Here is the useful part: the work that makes a system legible to an agent is the same work that makes it legible to a human.
Encode intent in the name. Check readiness before scaling. Make pacing trigger a decision. Log why changes happened.
Do that, and next quarter’s analyst can read the account cold. So can next quarter’s agent. So can you, three weeks from now, after you have forgotten everything.
Legibility is the deliverable, and AI is the thing that finally makes it pay rent.
Where to Start
You do not need a nine-layer framework. You need four things, in order, because each one depends on the one before it.
Make every campaign’s job obvious.
Defending branded demand, growing category reach, testing a conquest, supporting a launch, clearing a promo window. If you cannot read the job, you cannot diagnose the result.
Later, this becomes a fixed structure for software to read, creating an opportunity for specific routing and context engineering with no human translation in the middle.
Check readiness before you scale spend.
Availability, price, content, reviews, promo status. Run it as a pre-flight, not a post-mortem.
Later, this becomes a hard gate: a fixed set of checks that has to pass before a recommendation is allowed to touch spend. Soft judgment can suggest a change, but only a passed gate can promote one.
Make pacing reports end in a decision.
Cause, action, expected effect, owner, follow-up date. “Behind pace” is not a finding.
Later, pacing becomes a ledger. Budget is tracked in time-bracketed buckets where the math has to reconcile against the envelope. Variance does not produce a sentence. It produces a typed action with an expected effect.
Log every meaningful change.
What changed, why it changed, what signal triggered it, the expected outcome, the owner, and the review date. If the reason is not written down, nobody learned anything.
Later, the change log becomes memory. Append-only records of what happened and what was done are kept as separate streams on purpose, so that a person or an agent can replay them later to reconstruct exactly why the account looks the way it does.
None of this is glamorous. It is the operating infrastructure underneath the visible part of the job, and it is also the only version of the job that compounds. This quarter’s work should make next quarter easier, not make Tuesday’s meeting start from zero again.
The best retail media teams are not the ones running the most optimizations. They are the ones whose Tuesday review remembers what last Tuesday decided.
That is not an optimization problem. You cannot bid your way out of it.