Features · Analyse
A list of every session with where it came from, the device it used and the path it took, a timeline of each one, and — for signed-in users you choose to identify — a profile with their traits. All of it cookie-free, and every list opens the SQL that produced it.
Start time, duration, country and city, browser / OS / device, pages and events, referrer, and entry → exit, with any filter applied to whole sessions. Each session gets a generated name and avatar derived from its id, so you can tell them apart without any personal data.
Every pageview and event in order, with its offset from the start, its properties and its UTM tags. When replay is switched on for the site, "Watch replay" opens the recording on the same clock.
Call vitrus.identify(id, traits) when someone signs in and they get a profile with their traits and their sessions. The raw id is hashed before it is stored — it never touches disk. Anonymous visitors are listed separately, per day, and labelled as such.
Custom events with a property breakdown, a trend and a log of the latest occurrences; errors grouped by message, file and line with every occurrence one click from its session.
The evidence
WITH matched AS (SELECT DISTINCT session_id FROM events
WHERE site_id = ? AND ts >= ? AND ts < ?
AND bot_kind = '' AND agent_trust = 'human')
SELECT session_id, MIN(ts) AS started, MAX(ts) AS ended,
COUNT(*) FILTER (WHERE type = 'pageview') AS pageviews,
COUNT(*) FILTER (WHERE type = 'event') AS events
FROM events
WHERE site_id = ? AND session_id IN (SELECT session_id FROM matched)
GROUP BY session_id ORDER BY started DESC LIMIT ? OFFSET ?
Abridged: the real query also picks each session's first-event source and device and its entry and exit page. The dashboard shows it in full.
An anonymous visitor's id rotates every day, so an anonymous person who comes back tomorrow is a new visitor — that is what makes the product cookie-free, and it is why the Users page only joins days together for people you identify. Error stack traces are never collected: they can carry variable contents.