User vs. session vs. pageview

Three ways of counting the same traffic: a person, one visit by that person, one page they loaded. Same day, three numbers.

is that people or visitswhy are visits higher than usersdifference between visitors and visitsunique visitors vs hitssessions vs userspage views vs peoplewhy do my numbers not matchwhat counts as one visit

See it

Live demo coming soon

What it is

Three different units of counting the same afternoon. A user is an identity, usually a cookie or device id that later gets stitched to an account. A session is one burst of activity by that identity, cut off after about 30 minutes of inactivity. A pageview is one page or route load. One person browsing at lunch and again at night is 1 user, 2 sessions, and maybe 25 pageviews, which is why users, then sessions, then pageviews is the usual ordering under conventional web tracking. Treat it as the typical result, not a law: an event-driven app that barely sends pageviews, an unusual session timeout, or half-finished instrumentation can scramble the order.

Pick the unit that matches the question. 'How big is our audience' wants users. 'Do they come back' wants sessions per user. 'Which page is carrying the site' wants pageviews. Quoting a growth number without saying which unit it is in is the fastest way to make a meeting go sideways.

Gotcha: users is the least trustworthy of the three, despite sounding the most human. Phones plus laptops, cleared cookies, private windows, and blocked scripts all inflate or deflate it, so one human is often several 'users' until they log in. And in a single-page app, whether route changes count as pageviews depends on your SDK: some capture history changes automatically, some only fire on the first load unless you send one yourself. Check the setting before you trust a per-page report, because the failure mode is an entire visit collapsing into one pageview and nothing looking obviously broken.

Ask AI for it

Instrument this app so users, sessions, and pageviews are each counted correctly, then show all three side by side for the selected date range. Use a persistent anonymous id in localStorage for the user, merged into the account id on login; start a new session after 30 minutes of inactivity or on a new UTM campaign. Check whether the SDK already captures client-side route changes as pageviews, and only add a manual pageview call if it does not, so SPA navigations are counted exactly once rather than zero or twice. Label each tile with its unit and add a one-line tooltip explaining what it counts and why the three differ.

You might have meant

dau wau maubounce rate vs engagement rateidentity resolution user stitchingevent trackingproduct analytics