Top stats
The KPI cards across the top of the dashboard are Statable's headline metrics. Each card shows a value for the active date range, a sparkline, and a trend versus the previous period.
This page defines each metric and how it's computed. Cross-links go into the encyclopedia.

The seven metrics
Standard view, in order:
- Visitors
- Sessions
- Pageviews
- Views Per Session
- Bounce Rate
- Session Duration
- Engagement Time
In Realtime (last 30 minutes) only the first three are shown. Bounce Rate, durations, and views-per-session need a full session window to be meaningful. Card titles in Realtime are suffixed with (Last 30m).
Visitors
Distinct people who visited your site in the date range. Visitor identity resets every day at midnight in your site's timezone, so the same person counted Monday and Tuesday counts as two visitors over a two-day range.
- Computed:
uniqExact(user_id)over events in the range.user_idis a daily-rotating hash. Cookieless, no persistent ID stored on the device. - Typical use: the closest analogue to "audience size".
For why daily reset matters and how it differs from GA4's cross-day Users, see Unique Visitors.
Sessions
A group of interactions from the same visitor with no more than 30 minutes of inactivity between them. A visitor returning four hours later starts a new session.
- Computed:
uniqExact(session_id)wheresession_idis generated server-side from the visitor hash plus an inactivity timeout. - Typical use: Sessions ≥ Visitors. Ratios above 1.5 sessions/visitor usually mean engaged returning users.
GA4 has a related metric called Engaged Sessions that excludes short bounces. Statable's Sessions is the unfiltered total, closer to GA4's plain Sessions or Universal Analytics' Sessions. See Sessions.
Pageviews
Total page loads, including in-app SPA route changes. Three articles in one session is three pageviews and one session.
- Computed:
count()of pageview events. Includes initial document loads andhistory.pushState/ hashchange events. - Typical use: the broadest activity metric. Use it for content popularity, not audience size.
See Pageviews for SPA navigation details.
Views Per Session
Average pageviews per session. A quality signal for engagement.
- Computed:
pageviews / sessions, rounded to two decimal places. - Typical value: 1.5–3.0 for blogs, 3.0+ for content portals, often <1.5 for landing pages.
A trend up usually means internal linking or related-content blocks are working.
Bounce Rate
Percentage of sessions with exactly one pageview and no further interaction.
- Computed: weighted average of the per-session
is_bounceflag,(sumIf(is_bounce * sign) / sum(sign)) × 100. Thesignfactor lets Statable mix native and imported (GA4) data correctly. - Typical value: 40–60% for content sites. Landing pages and SPAs can sit much higher or lower without indicating a problem.
A high bounce rate isn't always bad. Single-page docs and answer pages serve their users in one view. See Bounce Rate.
Session Duration
Average session length in seconds, from first event to last.
- Computed: weighted average of per-session duration,
sum(duration * sign) / sum(sign). Thesignterm keeps native and imported data consistent. - Typical value: 60–180 seconds is healthy. Below 30s usually means most sessions are bounces.
See Session Duration for how it differs from time-on-page.
Engagement Time
Time a visitor actually spent engaged: tab focused, page visible, scrolling or interacting. Background tabs and idle pages don't count.
- Computed:
sumIf(engagement_time * sign, engagement_time > 0) / 1000 / sumIf(sign, engagement_time > 0). The script reports engagement in millisecond heartbeats while the page is visible and the user is active. Statable converts to seconds and weights the average per session. - Typical use: always lower than Session Duration because idle time is stripped. A growing gap between the two usually means visitors are leaving tabs open without reading.
Trend indicator
Each KPI shows a percentage change versus the previous period of the same length:
- Last 7 days compares to the 7 days before that.
- Today compares to yesterday.
- All Time has no previous period, so the trend hides.
Green up-arrows are good for most metrics. Red down-arrows are good for Bounce Rate. Toggle Compare mode (C) to plot the comparison on the chart.
Statable vs GA4
GA4 splits Users into Total, Active, and New. Statable reports a single Visitors figure closest to GA4's Active Users. GA4's Engaged Sessions has no direct Statable equivalent. Engagement is tracked separately via Engagement Time.
Imported GA4 data
If you've imported historical GA4 data, the metrics blend native (post-install) and imported (pre-install) values automatically. The sign weighting in the formulas keeps the merged figures honest, no extra steps needed.
Ready to take control of your web analytics? Try Statable free for 30 days — no credit card required, full feature access, GDPR-compliant by default. Start your free trial or view a live demo.