Is Meta Down or Is It You? Spotting Platform-Wide Faults
Your account looked fine yesterday. This morning ROAS is halved, spend is pacing strangely, and the reporting columns refuse to reconcile. The reflex is to start cutting — pause the “losers,” slash budgets, rewrite the rules. Stop. The single most expensive mistake in performance marketing is reacting to a platform-wide fault as if it were an account problem. If Meta is degraded and you panic-edit, you don’t just eat the outage — you reset learning, lose pacing, and spend the next week recovering from a problem that would have cleared itself in hours.
This is a diagnostic discipline, not a vibe. Here’s how to confirm whether the platform is genuinely struggling before you touch a single budget.
For the surrounding account decisions, compare MER Held but Platform-ROAS Cratered: Tracking or Real? and use 5 Checks Before You Touch a Meta Ads Budget as the next diagnostic.
Why this distinction matters more than it sounds
Meta’s delivery system optimizes against recent signal. When you make a structural edit — pause an ad set, move budget, change the optimization event — you can knock entities back toward the learning phase, where delivery is less stable and cost-per-result is noisier until enough recent optimization events accumulate again. That recovery isn’t free; it’s days of degraded efficiency.
So the cost of a wrong call is asymmetric. If the platform is fine and you wait an hour to investigate, you lose almost nothing. If the platform is degraded and you tear the account apart, you pay twice: once for the outage, and again for the self-inflicted reset. When you’re unsure, the correct default is to do nothing structural until you’ve ruled out a systemic fault.
The three failure modes you’re actually distinguishing
Most “is the platform broken” panics collapse into one of three buckets, and they demand different responses:
- A genuine delivery outage — ads aren’t serving, or serving erratically, platform-wide. Real, but in many cases short. Response: wait it out.
- A reporting or attribution lag — ads are delivering fine, but the numbers you see are stale, partial, or backfilling slowly. The common one, and the most dangerous, because the dashboard looks like a performance collapse. Response: wait for data to settle; do not optimize against half-loaded numbers.
- An actual account problem — billing hiccup, a rejected ad gutting an ad set, a rule that fired overnight, an audience that finally saturated. This is the only bucket where editing is the right move, and it’s account-specific, not platform-wide.
Your whole job in the first ten minutes is to figure out which bucket you’re in. Reaching for the budget slider before you know is malpractice.
The triage sequence
Run this in order. It takes about ten minutes and saves you from the expensive reflex.
1. Check breadth before depth
The quickest signal: is the damage everywhere, or somewhere? Open your account at the highest level and look across campaigns, objectives, and ideally more than one ad account if you run several.
- If every campaign cratered at the same timestamp — different objectives, different audiences, different creative all turning at once — that synchronization is the fingerprint of something upstream. Real performance seldom fails in perfect unison.
- If one campaign or ad set is bleeding while its neighbors are normal, that’s an account problem. A platform outage doesn’t politely target a single ad set.
Breadth-without-cause is your best-supported early tell for a systemic issue.
2. Separate “not delivering” from “not reporting”
This is the step everyone skips, and it’s the one that prevents the worst mistakes. A reporting lag and a delivery outage look identical on a dashboard — flat or collapsed numbers — but they are opposite problems.
- Look at impressions and spend pacing in near-real-time, not just the conversion column. If impressions are still accruing and spend is pacing roughly normally, your ads are delivering. A “zero conversions” panic on top of healthy impressions is almost always attribution catching up, not a sales collapse.
- Check the freshness of the data window itself. If conversions are backfilling — yesterday’s number climbing as the morning goes on — you’re watching a lag fill in, not a business failing.
- Be suspicious of any window that includes the current, incomplete day. Today is always under-reported because conversions and attribution haven’t landed yet. Comparing a half-baked today against a complete yesterday manufactures a crisis that doesn’t exist.
If delivery is healthy and only reporting looks broken, the answer is patience. Optimizing against numbers that are still loading is how you cut a winner because its conversions hadn’t posted yet.
3. Rule out the account-specific culprits
Before you blame the platform, clear the boring local causes — these are far more frequent than a true outage:
- Billing. A failed charge or hit threshold silently throttles delivery. Check payment status first; it’s the single common cause of an overnight delivery cliff that feels like an outage.
- A rejected or limited ad. One disapproval can starve an entire ad set. Scan delivery status at the ad level.
- An automated rule. Did a rule pause or scale something overnight? Your “outage” may be a rule you wrote three months ago.
- Saturation. Rising frequency with falling results isn’t a platform fault — it’s an audience you’ve exhausted. This degrades over days, not minutes, so the timing in many cases distinguishes it from an outage.
If one of these fits, you’ve found an account problem, and now targeted action is warranted.
4. Look outside your own account
If breadth is wide, delivery genuinely looks impaired, and you’ve cleared the local causes, then a platform-wide fault becomes the leading hypothesis. Corroborate it with sources outside your dashboard: the platform’s official status and ads-help channels, and whether other operators are reporting the same synchronized symptoms at the same time. A degradation that’s real and widespread can be visible to many accounts simultaneously — that shared timing is the confirmation you’re looking for.
What to do once you’ve decided
If it’s a platform fault (outage or lag): keep your hands off structural levers. Don’t pause, don’t reallocate, don’t rewrite optimization events. Note the timestamp, let delivery and reporting normalize, and re-evaluate against a complete data window once it clears. Annotate the dip so it doesn’t pollute next week’s trend read. The platform recovers; your patience protects your learning.
If it’s an account problem: act, but surgically. Fix the billing issue, resolve the disapproval, disable the rogue rule. Make the smallest change that addresses the specific cause — not a top-to-bottom restructure driven by adrenaline.
This is exactly the kind of read where a second set of eyes earns its keep. Bach AI is built to separate a delivery dip from a reporting lag and flag when a dip is account-wide and synchronized — the signature of an upstream fault rather than your campaigns failing — and it stays read-only until you approve any change, so the diagnosis never turns into a panic edit on its own.
The takeaway
When the dashboard turns red, your first question is never “what do I pause?” It’s “is this me, or the platform?” Check breadth before depth, separate delivery from reporting, exclude today’s incomplete window, and clear the boring local causes before you blame anything systemic. The account that survives a bad morning isn’t the one that reacts quickest — it’s the one that refuses to optimize against numbers that are still loading. Confirm the fault first. The slider can wait ten minutes; your learning phase can’t afford the reset.