Skip to content
Docs

Analytics

Applies toAlpha

Analysis answers what users did across a Project and Environment. It shares one dataset with error monitoring, which is the point: the Session that converted and the Session that threw are the same rows.

This page is the model everything else rests on. Once it makes sense, go to Custom Events to send your own, or Funnels, paths and retention to query what you have.

Analysis reads four event kinds, derived from the stored Event rather than declared by the SDK:

Kind Comes from event_name
page_view A Page View whose navigation type is not route_change page_view
navigation A Page View whose navigation type is route_change (SPA route change) navigation
click The automatic ui.click Custom Event click
custom Any other Custom Event your event name

Events flagged synthetic — the Demo seed and test Events — are excluded from every behavior query, so a seeded Instance never reports Demo traffic as real.

Every behavior metric can be broken down by one dimension:

Dimension Value Derived from
country Country code, or unknown The Session’s first Event
device desktop, mobile, tablet, bot, unknown User agent
browser Browser name, or unknown User agent
source Referrer host, or direct Referrer domain
property:<key> Your attribute value, or (not set) Custom Event attributes

<key> must match ^[a-zA-Z][a-zA-Z0-9_.-]{0,63}$.

Metric Meaning
events Distinct Event IDs, approximate (uniqCombined64)
estimated Events weighted by 1 / sampleRate, i.e. the estimated true count
uniqueUsers Distinct anonymous visitor IDs, approximate
uniqueSessions Distinct Session IDs, approximate

Every count is approximate by construction, and the response carries approximate: true so the Console can say so. Read estimated when you have lowered a sample rate and want the real-world figure; read events when you want what was actually stored.

Analysis queries are rejected before they run when they would scan too much. A rejection returns 422 QUERY_TOO_EXPENSIVE.

Cost rises with the time range and with property: dimensions, which cost four times a built-in one. It falls when you filter, so the fix is usually one of:

  • shorten the range
  • add an Environment filter (÷4)
  • add an event kind or name filter (÷4, behavior queries only)
  • switch from a property: dimension to a built-in one

Related: Investigation, Glossary and core concepts, Browser SDK.

Release Alpha · commit local