Features · Analyse

Session analytics — every visit, its timeline, and the people you identify

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.

Sessions list

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.

Session timeline

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.

Users, identified on purpose

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.

Events and errors, down to the occurrence

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

Sessions list (explore.listSessions)

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.

What this does not do

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.

Documentation

More in analyse

← All features