Skip to content
Bach.ai

Is Meta Down or Is It You? Spotting Platform-Wide Faults

Published
Drafted with AI assistance and edited by the Bach.ai team. How we write

How do I tell if Meta is down or my account is broken?

Confirm the scope before acting. A platform-wide fault and an account-specific fault produce similar symptoms, and cutting budgets during the former damages an account that was working. Check whether reporting reconciles and whether the pattern appears beyond your own account first.

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:

  1. A genuine delivery outage — ads aren’t serving, or serving erratically, platform-wide. Real, but in many cases short. Response: wait it out.
  2. 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.
  3. 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 by default, 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.

Documented thresholds

Meta publishes the figures below; they are reproduced here with the article they come from. Retrieved 2026-09-22 — Meta revises this documentation without notice, so verify anything load-bearing against the current version before you act on it.

  • The six documented causes. Meta lists audience too small, budget too low, bid or cost control too low, high auction overlap, an infrequent optimisation event, and running too many ads at once. Budget is one of six, and it is the only one that costs money to fix.
  • The threshold underneath. An ad set is marked learning limited when it is unlikely to receive about 50 optimisation events in the week after its last significant edit — so an ad set at 30 a week sits at 60% of the bar.
  • Why the diagnostic columns are empty too. Meta does not calculate relevance diagnostics for ads below 500 impressions, and covers only the last 35 days. An ad set thin enough to be learning limited is often thin enough that the next column you would check is blank.

Source: Meta Business Help Centre — https://www.facebook.com/business/help/269269737396981, https://www.facebook.com/business/help/403110480493160.

Method and sources

“Confirm the scope before acting.”

Source: Where this guide describes platform behaviour, it follows Meta’s published advertising and Marketing API documentation, which changes without notice — verify anything load-bearing against the current version before you act on it. Every threshold the guide asks you to supply is first-party, drawn from your own account exports and commerce ledger, because no external benchmark can stand in for your own margin structure.

See what your Meta ads are really costing you.

Connect your account and Bach ranks potential revenue leaks with estimates and actions you can review. Free for 7 days, no credit card.

Start Free Audit
Start your free audit