# 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](/docs/metrics/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](/docs/tracker/modules), 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](/docs/dashboard/filters-and-segments).

## More

- [How visitors are counted](/docs/metrics/how-visitors-are-counted)
- [Why numbers differ from GA4](/docs/metrics/ga4-differences)
- [Channels](/docs/metrics/channels): how traffic sources are classified.
