Metrics

Why Today's Users and Realtime Users Are Different

Updated 2026-09-043 min read

Short answer

Today counts distinct users since midnight in the property's own timezone. Realtime counts users active in a recent window, currently the last 30 minutes. They measure different spans, so they almost never match.

Seeing "3 users right now" and "128 users today" on the same screen looks like a contradiction until you notice they are answering different questions. Neither is a subset of the other in the way you might assume.

The two windows

MetricWindowAnswers
TodaySince midnight, still runningHow many people have used the app so far today?
RealtimeThe last 30 minutesHow many are using it around now?

Because today is still in progress, it grows through the day and resets at midnight. Realtime rises and falls continuously and has no memory of this morning.

Four reasons they disagree

1. Different spans

The obvious one. Someone who used the app at 9am counts towards today at 4pm but is long gone from a 30-minute realtime window. For most apps, today is much larger than realtime for most of the day.

2. Timezone

Midnight is not a global instant. GA4 applies the day boundary in the property's own configured timezone, so an app whose property is set to one region rolls over at a different moment than your local clock does. Two properties configured to different timezones will roll over hours apart from one another.

Note: This surprises people most just after their own midnight, when today looks like it has reset early or has not reset yet. Check the timezone on the property before assuming the number is wrong.

3. Different processing

Realtime and the standard reports are produced by different pipelines. Realtime is optimised for immediacy, the standard reports for completeness. A figure that has not finished processing can move after you first read it, which means today can change slightly in retrospect while realtime never does.

4. Deduplication across apps

If you are looking at a total across several properties, the same person using two of your apps is counted in each. Neither today nor realtime reconciles identity across separate properties, so a combined figure overstates unique humans — and it does so by a different amount in each window.

Careful: Do not compute a ratio between realtime and today and treat it as an engagement measure. The two numbers have different denominators, different processing, and — across properties — different amounts of double counting.

How Appnaly handles this

Appnaly shows both because both are useful, and labels each with its window rather than presenting a single "users" figure. The live figures are marked as covering the last 30 minutes, and the finished windows — yesterday, the last seven days, the last thirty — are labelled as completed periods so it is clear which numbers can still move.

Where several properties are summed, Appnaly states that users are not deduplicated between them. It also keeps the live map count and the live user count separate, because they come from different queries against Google and can differ slightly — reporting them as one number would hide a real discrepancy rather than resolve it.

The practical reading: use realtime to answer "is anything happening right now", and the completed windows to answer "is this app growing". Asking either question of the other metric produces confusion rather than insight.

Related reading