# Meta data is stale or empty

> Why Meta Ads data may appear delayed, partial, or missing in Ordinary — and what to do.

Source: https://help.tryordinary.com/troubleshooting/meta-stale

---

Meta's reporting APIs are eventually consistent and occasionally
flaky. Here's what's typical, what's a bug, and how to fix it.

## Normal delays

- **Today's data** refreshes hourly. If you check at 2pm and see
  metrics through ~1pm, that's expected.
- **Yesterday's data** finalizes each morning. Meta itself takes 3-6
  hours after midnight UTC to close their reporting windows.
- **First sync after connection** pulls 60 days and takes 3-10
  minutes.

If you're inside these windows, wait — it's not a bug.

## "Needs reauth" on the Meta card

Meta access tokens expire every 60 days unless your Business Manager
has long-lived tokens enabled. When ours expires, you'll see a
yellow **Needs reauth** badge on Settings → Integrations → Meta.

Fix: click **Reconnect** and reapprove the permissions. Sync resumes
automatically.

## Spend shows zero for yesterday

Most common causes:

1. **Reauth needed** (see above).
2. **Ad account paused** — if all campaigns were paused, spend is
   legitimately zero.
3. **Wrong ad account connected** — double-check the account name on
   Settings → Integrations → Meta matches the one running ads.
4. **Meta's closing delay** — if it's early morning UTC, yesterday's
   final numbers may not be in yet.

## Campaigns missing from the list

- **Archived campaigns** — we only show Active + Paused by default.
  Toggle "Show archived" in the Campaigns → Meta filter.
- **Filtered out by status** — check the status filter at the top
  of the page.
- **New campaign just created** — Meta's API lags ~5-10 minutes
  behind the Ads Manager UI.

## Ad-set or ad-level data missing but campaigns show up

We pull campaigns first, then ad-sets, then ads. On first sync or
after a long outage, ad-level data may take an extra few minutes to
backfill.

Wait 10 minutes, then force a resync: Settings → Integrations →
Meta → **Refresh now**.

## Numbers don't match Meta Ads Manager

This is expected — we're two different measurement systems. See
[Campaigns — Meta ads § Click-through vs view-through](https://help.tryordinary.com/features/campaigns-meta#click-through-vs-view-through-why-metas-numbers-dont-match).

In short: Meta uses view-through + cross-device identity; Ordinary
uses click-based pixel data. They'll never match exactly, and
usually Ordinary is closer to truth.

## Still broken

If you've waited past normal delays and reauthed successfully:

- Note the campaign name and date range where data looks wrong.
- Note the last time you saw data update.
- Email [sales@tryordinary.com](mailto:sales@tryordinary.com).

We can check our Meta sync job logs for your account and often find
the exact point where sync lagged.

## Related articles

- [Connecting Meta Ads](https://help.tryordinary.com/integrations/meta)
- [Campaigns — Meta ads](https://help.tryordinary.com/features/campaigns-meta)
