MER Held but Platform-ROAS Cratered: Tracking or Real?
Your dashboard says the account fell off a cliff. Reported ROAS is down a third week-over-week, the same campaigns that printed money last month now look like dead weight, and someone in the Monday meeting is already asking which budgets to cut. But the bank account didn’t get the memo: revenue is flat-to-up, MER is steady, and contribution margin hasn’t moved. When platform ROAS dropped but sales steady is the actual shape of the data, you are not looking at a media problem. You are looking at a measurement problem, and the worst thing you can do is amputate a healthy campaign to fix a broken thermometer.
For the surrounding account decisions, compare Meta Ads Metrics: ROAS, MER, and Contribution and use Is Meta Down or Is It You? Spotting Platform-Wide Faults as the next diagnostic.
Two numbers, two jobs
Platform-reported ROAS and MER answer different questions, and confusing them is how good campaigns get killed.
- Platform ROAS is the ad platform grading its own homework: conversions it can see and claim, divided by spend, inside its attribution window. It is a directional signal about delivery, not a statement of fact about your P&L.
- MER (marketing efficiency ratio — total revenue divided by total ad spend) is blind to attribution. It does not care which platform gets credit. If money came in and money went out, MER counts it. That makes it the closest thing you have to ground truth.
Here is the logic that resolves the whole panic: revenue is conserved, attribution is not. If real sales had genuinely collapsed, MER would fall with platform ROAS — they would move together. When the platform number craters and MER holds, the revenue is still arriving; the platform has simply lost its ability to see and claim the conversions it is driving. The sales didn’t leave. The credit did.
Why the credit disappears (and the sales don’t)
Attribution is a fragile chain of identity-matching, and several common breaks make reported ROAS drop without touching real performance:
- Server-side signal degraded. A broken or downgraded conversions API feed, a dropped event parameter, missing or unhashed match keys, or a deploy that quietly stopped firing purchase events server-side. The platform can’t match the conversion back to the click, so it stops crediting it.
- Pixel or tag regression. A site migration, a theme update, a consent-banner change, or a tag-manager edit that fires the purchase event late, twice, or not at all. Browser-side signal loss disproportionately hits platform attribution while your backend revenue keeps logging every order.
- Deduplication broke. If your event ID matching between browser and server falls out of sync, the platform may under-count (throwing away real events it thinks are duplicates) or double-count (inflating one window, deflating the next). Both distort reported ROAS without changing a single real sale.
- Attribution window or setting changed. Someone flipped the account from a longer click-plus-view window to a shorter click-only window, or a default setting shifted. Same media, narrower net, lower reported number. Pure accounting.
- Privacy-driven signal loss and modeled conversions. As consented tracking shrinks, platforms lean harder on modeled and statistical attribution. When the underlying signal weakens, the model has less to work with and reported conversions can sag — even as actual purchases hold steady. This is a slow bleed, not a cliff, but it compounds.
- A second channel started stealing credit. You launched email automation, turned on a new retargeting source, or a promo drove organic and direct traffic. Those buyers convert and get attributed elsewhere, so paid’s reported ROAS drops while blended performance is unchanged. The pie got re-sliced; it didn’t shrink.
Every one of these moves the credit, not the cash. That is exactly the fingerprint you are looking for.
The 20-minute triage
Before you touch a budget, run this sequence. It is fast and it almost always isolates the cause.
Step 1 — Confirm the divergence is real. Pull platform ROAS and MER on the same date range, ideally daily. If MER held flat (or improved) while platform ROAS fell, you have a measurement gap, full stop. If both fell together, skip this article — that’s a real problem and you should treat it as one.
Step 2 — Find the break date, not the trend. Tracking failures in many cases have a sharp edge: performance is normal, then a specific day it steps down and stays down. Real media decay is gradual — rising frequency, sliding CTR, climbing CPA over a week or two. A clean step-change screams deployment or settings change. Line the break date up against your release log, tag changes, and any account edits.
Step 3 — Check event volume, not just value. Look at reported purchase event count per day, independent of revenue. If the platform is suddenly recording far fewer events than your backend booked orders, the conversion signal is the suspect — not your creative or audience.
Step 4 — Inspect the deduplication and match quality. Look at your event match quality / coverage indicators and your browser-vs-server event ratio. A recent drop in match quality or a lopsided ratio points straight at the signal pipe.
Step 5 — Reconcile against the backend. Take total orders from your store or order system for the window and compare to total platform-claimed conversions. Backend orders are the denominator of truth. If backend orders are flat and platform conversions dropped, the verdict is in: tracking.
A reconciliation table makes the call obvious at a glance:
| Signal | Last period | This period | Reading |
|---|---|---|---|
| Backend orders | flat | flat | revenue intact |
| MER | steady | steady | media intact |
| Platform-claimed conversions | normal | down sharply | signal lost |
| Event match quality | healthy | degraded | tracking is the cause |
When the bottom two rows move but the top two don’t, you have your answer.
When it actually is real
Stay honest — measurement is the usual culprit, not the only one. Reported ROAS can fall for genuine reasons even while MER looks okay for a beat:
- Frequency fatigue inside a campaign while another channel temporarily props up blended revenue. Rising frequency plus falling CTR is the tell.
- A campaign exited the learning phase poorly after an edit reset its optimization signal, and it hasn’t re-accumulated enough recent conversion events to deliver efficiently. Meta needs enough recent optimization-event signal to stabilize — as a planning range, think on the order of dozens of conversions per ad set per week, not a assured number.
- Margin masking. MER can hold while contribution margin quietly erodes if discounts, shipping, or returns crept up. Always check margin, not just revenue, before you declare victory.
The discipline is the same either way: prove it before you act.
The takeaway
When platform roas dropped but sales steady, treat it as a tracking incident until the data forces you to conclude otherwise. Anchor every decision to MER and contribution margin — the numbers attribution can’t distort — and find the break date before you touch a budget. Cutting a campaign because its thermometer broke doesn’t fix the thermometer; it just throws away working spend and hands you a real revenue drop a week later.
This is exactly the kind of read where a read-only operator earns its keep: Bach watches MER and platform ROAS diverge, flags the break date and the degraded signal, and tells you it’s measurement before you ever propose a cut — then waits for your approval to do anything about it. Fix the signal, restore the credit, and keep the winner running.