Analytics metrics and definitions
How every metric in Privatus Analytics is calculated: visitors, visits, pageviews, bounce rate, visit duration, conversions, revenue, Web Vitals and uptime.
Every metric in the app has a tooltip with its definition and a link here. See How visitors are counted for how visits and visitors are built without cookies.
| Metric | Definition |
|---|---|
| Visitors | Unique visitors per day, summed over the days in the range ("visitor-days"). Someone who visits on Monday and Tuesday counts twice in a weekly total. We can't deduplicate visitors across days, by design |
| Visits (sessions) | A series of hits from one visitor with less than 30 minutes of inactivity between them, ending at midnight UTC at the latest |
| Pageviews | Page loads plus single-page-app route changes |
| Views per visit | Pageviews ÷ visits |
| Bounce rate | The share of visits with one pageview, no custom event, and less than 10 seconds of engaged time. Stricter than most tools, so a reader who spends three minutes on one article isn't a bounce |
| Visit duration | Engaged (visible) time across the visit, from the first hit to the last engagement ping, capped at 4 hours. Shown as the median |
| Time on page | Visible engaged time on a page, as a median. Includes the last page of a visit (measured when the page is hidden or closed) |
| Scroll depth | The deepest scroll on a page view, in 10% bands. Reported as the median and as the share of views reaching 25, 50, 75 and 100% |
| Entry page / exit page | The first / last page of a visit |
| Entry rate | Visits that started on a page ÷ its pageviews |
| Exit rate | Exits from a page ÷ its pageviews |
| Conversions | Visits in which a goal was completed at least once |
| Conversion rate | Conversions ÷ visits |
| Goal completions | Every time the goal was completed, including repeats in one visit |
| Revenue | The sum of revenue, converted to the site currency at the ECB reference rate of the event's date. Original currencies are kept for breakdowns |
| Live visitors | Distinct visits with a hit in the last 5 minutes |
| Web Vitals | The 75th percentile (p75) of each metric (LCP, INP, CLS, FCP, TTFB), plus the share of good / needs improvement / poor by Google's thresholds |
| Uptime | Successful check intervals ÷ all intervals. An interval is down when most probe locations fail |
"Engaged time" needs the engage module, which
is on by default. Without it, visit duration and time on page are zero and
bounce rate counts every single-page visit without an event.
Freshness#
New events appear in reports within seconds (the target is 10 seconds at the 95th percentile). The Live page reads the stream directly and updates in about 2 seconds.
Totals in breakdowns#
In breakdown panels, the share column is each row's share of the rows shown. Visit-based totals of a breakdown can add up to more than the headline number: one visit can have several pages, and a visitor-day can count under several countries if they travel.
Filtering#
Filters don't change definitions, only which visits and events count. See Filters and segments.
More#
- How visitors are counted
- Why numbers differ from GA4
- Channels: how traffic sources are classified.
How Privatus Analytics counts visitors and visits without cookies: a daily salted key computed in memory, random visit ids, and what that means for accuracy.
Why Privatus Analytics and Google Analytics 4 report different numbers: consent banners, ad blockers, visitor and bounce definitions, bots and timezones.
How Privatus Analytics classifies every visit into a traffic channel from UTM parameters and the referrer, including AI assistants and custom channel rules.