← Documentation

Metric definitions

Quick reference for the metrics Intrily collects and how we compute them.

Event-level (per hit)

Each event (pageview or custom) gets a unique ID and carries these fields:

  • Website ID — Your site’s ID in the payload.
  • Hostname — From location.hostname.
  • URL — Path + query (pathname + search).
  • Referrerdocument.referrer; sometimes normalized when it points to your own domain.
  • Titledocument.title.
  • Query parameters — The ?... part of the URL, if we’re storing it.

Session-level (per visit)

Each session has an ID. We also derive:

  • Browser — Parsed from User-Agent (Chrome, Firefox, Safari, Edge, etc.).
  • OS — From User-Agent (Windows, macOS, Linux, Android, iOS, etc.).
  • Device — Desktop, mobile, or tablet, inferred from OS and screen size.
  • Screen — Width × height from the browser (e.g. 1920×1080).
  • Languagenavigator.language (e.g. en-US, de).

Location

We resolve country, region, and city from the request (e.g. via headers or a geo DB). The raw IP is not stored.

  • Country — ISO-3166 (e.g. United States, Germany).
  • Region — State / province / region (e.g. California, Ontario).
  • City — City name when available.

Aggregated (calculated)

These are rolled up per website (and per chosen dimension in breakdowns):

  • Views — Count of all events (pageviews + custom) in the period.
  • Visits — Unique visits. A visit is built from the session with a time-based rule (e.g. hashed with a rotating salt) and can cross hour boundaries.
  • Visitors — Unique sessions. Sessions are hashed from website, hostname, User-Agent, etc. with a rotating salt (e.g. monthly) so we can count distinct users without storing IDs.
  • Bounce rate — Visits with only one event count as bounces. Bounce rate = bounces ÷ visits.
  • Visit duration — Sum of (last event time − first event time) per visit, divided by visits. Single-page visits don’t add to the sum.