Why your social report should never show a fake zero
Every agency has had the call: "Why did our website clicks drop to zero on Tuesday?" They didn't. Google simply hadn't published Tuesday yet. The reporting tool filled the hole with a zero, the chart dipped, and twenty minutes of a client meeting evaporated.
Where the gaps come from
- Publication lag. Google Business Profile performance data arrives two to three days late. Meta insights for a day settle over the following day. YouTube Analytics lags about three days.
- Metrics that stop existing. Meta has retired dozens of Page and post insight metrics in recent years. A tool that keeps requesting them gets errors — or silently stores nothing.
- Accounts that can't report. Instagram follower demographics require a minimum audience; LinkedIn page analytics require partner access.
None of these are zeros. They are unknowns, and a report should say so.
Three rules we hold ourselves to
- Keep the platform's name and definition for every metric. "Impressions" on Google Maps and "impressions" on Facebook are different things. Postwoo stores the platform metric key, the platform's own definition, and only maps to a shared name when the meaning truly matches.
- Store availability, not just values. Each day for each metric is
available,delayed,unavailableornot supported. Totals only sum available days, and every total tells you how many days were missing. - Never let a later failure overwrite a real number. If a nightly sync fails, yesterday's real value stays. A failed sync is logged as a failed sync.
What it looks like in practice
In Postwoo's reports the last few days of a Google chart are hatched, not zero. The comparison with the previous period shows n/a when either side is incomplete rather than a scary −40%. Account managers can open the sync log and see exactly what the platform returned.
It is a little less tidy than a smooth line. It is also the only version your client can trust.