Why Adgent
Product All features It reads Account memory Daily verdict Ground truth Trust Gate Creative intelligence Change Ledger It builds Campaign build Media plan Live dashboards Agents & reports
Solutions By team For agencies For in-house By industry Ecommerce & DTC Lead generation Travel & hospitality Marketplaces Local & multi-location Mobile apps & games
Pricing About Blog Request demo

Placement drift: the leak hiding in your average

Your account is at 3.8× and everything looks fine. Inside that number, one placement is returning 1.1× on a fifth of your budget — and the average is doing an excellent job of hiding it.

A blended 3.8x ROAS split into a green Feed 4.2x bar and a red Audience Network 1.1x bar marked 'the leak'.
Short answer

A blended ROAS is a weighted average, so strong placements carry weak ones — a Feed at 4.4× on most of your budget hides an Audience Network at 1.1× on the rest, and the top-line 3.8× never moves. The waste is real; the arithmetic just averages it out of sight until you break the number down by placement.

The most dangerous number in your account is the one that looks fine. A blended ROAS of 3.8× doesn't prompt an investigation — it prompts a nod and a move on to the next tab. An average is a summary, and summaries are where problems go to hide.

How placements drift

Advantage+ placements let Meta's delivery system move your budget across Feed, Stories, Reels, Audience Network, and the rest, chasing whatever the optimization signal says is cheapest. Usually that's what you want — it's the whole point of letting the system optimize.

The catch is what "cheapest" is measuring. If the system is optimizing toward a signal that fires more easily in one surface than another, it will happily pour budget into placements that generate the signal but not the outcome. Cheap impressions, cheap clicks, and revenue that never shows up. The drift is gradual, it's automatic, and nothing in the interface announces it.

The average didn't lie to you. It just answered a different question than the one you were asking.

Why the arithmetic hides it

This is Simpson's paradox wearing a media-buying costume. A weighted average lets strong performers carry weak ones, and the more strong performers you have, the more weakness they can carry before the top-line number moves at all.

Run the numbers: 81% of spend at 4.4× blended with 19% at 1.1× gives you 3.8×. Perfectly healthy-looking. Cut the leak and redeploy that budget into the placements that were carrying it, and you're at 4.4× — a 16% improvement that was invisible in the metric you were watching.

Finding the leak

The mechanical part is easy: break down by placement, sort by ROAS, look at the bottom. The judgment part is knowing what you're allowed to conclude from what you see.

  • Check the volume before the verdict. A placement at 1.1× on €80 of spend is noise. At €4,000 it's a decision. Small slices produce wild ratios for the same reason small samples do.
  • Check attribution before you cut. Upper-funnel placements often earn view-through credit that a last-click read never shows. A weak Reels number can be a strong Reels contribution that's being attributed to the Feed ad that closed it.
  • Check the trend, not the snapshot. Drift is a direction. A placement that's been sliding for three weeks is a different animal from one that had a bad Tuesday.

The reason this stays hidden

Nobody breaks down every campaign by placement every morning. It's twelve clicks per campaign, it's boring, and it's usually nothing — which is exactly why it's usually missed. The check that only matters one week in eight is the check that never gets done.

So Adgent does that decomposition on every read. It looks inside the averages for slices that diverge from the account's own baseline, filters out the ones too small to mean anything, and surfaces only the ones where the money is real. Most mornings it finds nothing and says nothing. The mornings it finds something, it leads with it.

Averages are answers to questions about groups. Your budget isn't spent by a group. It's spent slice by slice — and that's where you have to look.

What drift actually looks like week to week

The reason placement drift is so easy to miss is that it doesn't arrive as an event. There's no alert, no red number, no day where the account breaks. It's a slow reallocation. Week one, Audience Network is 12% of spend at 2.9×. Week three it's 17% at 2.1×. Week five it's 21% at 1.4×. Every individual week looks like noise, and the blended number barely twitches because the placements carrying it are getting a little stronger at the same time. The trend only becomes obvious once you line up the weeks — and nobody lines up the weeks for a metric that looks fine.

This is the same failure mode that shows up across the whole discipline: the summary number moves last. By the time your blended ROAS finally dips enough to prompt a question, the leak has been growing for a month and you've already spent the money. Meta's delivery system isn't malfunctioning when this happens — it's doing exactly what you told it to do. Advantage+ placements optimize toward the conversion signal, and if that signal is cheaper to trigger on the Audience Network than on Feed, the system will keep shifting budget there. Cheaper to trigger and cheaper to convert are not the same thing, and the gap between them is where your money goes.

The attribution trap underneath the leak

Before you cut a low-ROAS placement, you have to be sure the number is telling the truth — and placement-level ROAS is one of the easiest numbers to misread. A last-click attribution model assigns the whole conversion to the placement that closed it, which is almost always Feed or Search. Upper-funnel surfaces like Reels and the Audience Network do the priming work and get none of the credit. So a placement reading 1.1× on a last-click basis might be contributing far more than that once you account for the view-through impressions that warmed the user up three days before they converted somewhere else.

That's the difference between a placement that's genuinely leaking and one that's simply mis-credited by your attribution setup. Cutting the first recovers budget. Cutting the second quietly kills your top-of-funnel and your Feed ROAS drops a week later for reasons that look unrelated. This is exactly the kind of cross-platform, cross-placement bookkeeping problem we dig into in Meta says 4.2×, Google says 3.1× — the number you trust depends entirely on the window and the model that produced it, and two placements are rarely measured on the same one.

How to run the check without doing it every morning

The honest problem is that the placement breakdown is a chore that pays off maybe one week in eight. Twelve clicks per campaign, sorted by ROAS, cross-referenced against volume and trend and attribution window — done properly it's twenty minutes of tedium that usually turns up nothing. So it doesn't get done, and the one week it would have mattered slides past. The check that only matters occasionally is precisely the check a busy human skips, which is what makes drift such a reliable place for spend to hide.

The fix isn't discipline — it's decomposition on every read. Adgent breaks every campaign down by placement automatically, compares each slice against the account's own baseline rather than a generic benchmark, filters out the slices too small to be anything but noise, and only surfaces the ones where the money is real and the trend is directional. Most mornings that produces nothing, and it says nothing. The mornings a placement has genuinely drifted, it leads with the leak, shows the volume behind it, and flags whether the attribution window is old enough to trust. That's the whole point of an AI media buyer that reasons instead of reports: the boring check that guards against slow leaks gets run every single day, whether or not there's anything to find.

None of this means Advantage+ is a mistake or that you should hand-pick every placement. Letting the system optimize is usually right. The move is to keep watching the decomposition underneath the average — to treat the blended number as a headline, never as the story — so that when a placement starts drifting, you catch it in week two instead of paying for it through week six.

Find the leak in your average

The placement breakdown only pays off the week something has actually drifted — which is exactly why it stops getting done. Adgent decomposes every campaign by placement each morning, compares each slice against your account’s own baseline rather than a generic benchmark, and stays quiet on the mornings there is nothing to report. If you want to know what sits underneath your blended number, request a demo — one real finding on your own account, before you change anything.

Frequently asked

How can a good blended ROAS hide a leak?
A blended ROAS is a weighted average, so placements that perform well carry the ones that don't. When most of your budget sits at 4.4×, a small slice at 1.1× barely moves the top-line 3.8× — the loss is real but averaged out of sight.
What is placement drift?
Placement drift is the gradual, automatic reallocation of budget by Meta's Advantage+ delivery toward whatever surface is cheapest to trigger the conversion signal on — even when that surface converts poorly. It happens slowly, without any alert, and nothing in the interface announces it.
How do Advantage+ placements drift?
Advantage+ moves budget across Feed, Stories, Reels and Audience Network chasing the cheapest optimization signal. If that signal fires more easily on one surface than another, the system pours spend there — generating cheap impressions and clicks, but not always the revenue that follows.
How do I find a placement leak?
Break each campaign down by placement, sort by ROAS, and look at the bottom. Then check three things before you act: the spend volume behind the ratio, the attribution window feeding it, and the trend — a placement sliding for weeks, not one bad day.
Why does averaging conceal wasted spend?
This is Simpson's paradox in a media-buying costume. A weighted average lets strong performers absorb weak ones, and the more strong performers you have, the more weakness they can carry before the top-line number moves at all. The waste never shows up in the summary.
How do I fix placement leakage?
Confirm the leak is real — enough volume, a trusted attribution window, a directional trend — then cut it and redeploy that budget into the placements already carrying the account. In the 81%-at-4.4× example, that lifts blended ROAS from 3.8× to 4.4×.
Who wrote this

Adgent reads Meta and Google accounts overnight and hands you one brief each morning — the diagnosis, the evidence from your own account, and a change you approve before anything writes. Read-only by default. It analyzes creative; it doesn't make it.

All articles Request demo