Skip to content
Documentation menuSystem events ($)

System events. Names starting with $ belong to the SDK.

The events the web SDK sends by itself have names starting with $ and fixed properties. These names are reserved: a track("$…") call from your own code is refused. Each can be switched off in the panel or with the autocapture option.

This page is generated at build time from docs/api/openapi/tracking.json in the repository.

Coordinates and sampling

  • Click coordinates are 0–1000 of the document’s width and height; a heatmap lands on the same spot on every screen size.
  • Interaction events (clicks, scrolling, layout, forms) are sampled by interactionSampleRate, decided once per session.

Events

The list of events and their properties is generated at build time from the x-system-events section of the Tracking API’s OpenAPI document.

$pageleave

When the tab is hidden (final: false) and when the page is left (final: true); with the deepest scroll and the active time.

$pageleave
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

max_scroll_pctrequirednumber

0–100

active_msrequiredinteger

at least 0

total_msrequiredinteger

at least 0

finalrequiredboolean
scroll_reversalsinteger

0–100000

$click

A click: the target’s kind, label, selector and position in the document. dead says nothing changed on the page or in the URL within 1 s.

$click
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

doc_wrequiredinteger

0–1000000

doc_hrequiredinteger

0–1000000

viewport_wrequiredinteger

0–1000000

layout_hashstring

Pattern: ^[0-9a-f]{8,64}$

xrequiredinteger

0–1000

yrequiredinteger

0–1000

targetrequiredobject
target.kindrequiredstring

Values: heading, link, button, input, image, media, other

target.tagrequiredstring

at most 30 characters

target.labelstring

at most 80 characters

target.selectorstring

at most 300 characters

target.hrefstring

at most 2000 characters

target.sectionstring

at most 200 characters

deadrequiredboolean
fixedboolean

$rageclick

At least 3 clicks within 1 s inside 30 px; one event per burst.

$rageclick
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

doc_wrequiredinteger

0–1000000

doc_hrequiredinteger

0–1000000

viewport_wrequiredinteger

0–1000000

layout_hashstring

Pattern: ^[0-9a-f]{8,64}$

xrequiredinteger

0–1000

yrequiredinteger

0–1000

targetrequiredobject
target.kindrequiredstring

Values: heading, link, button, input, image, media, other

target.tagrequiredstring

at most 30 characters

target.labelstring

at most 80 characters

target.selectorstring

at most 300 characters

target.hrefstring

at most 2000 characters

target.sectionstring

at most 200 characters

countrequiredinteger

at least 3

fixedboolean

$scroll

Once per page view: 25, 50, 75, 90 and 100 % scroll depth.

$scroll
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

depth_pctrequirednumber

Values: 25, 50, 75, 90, 100

$exception

window.onerror and unhandled promise rejections; query strings stripped, e-mail addresses masked.

$exception
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idstring

1–100 characters

typerequiredstring

at most 200 characters

messagerequiredstring

at most 1000 characters

stackstring

at most 4000 characters

sourcestring

at most 2000 characters

lineinteger
columninteger
handledrequiredboolean

$form

Form start, submit and abandon; the field name and type only, never a value.

$form
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

formstring

at most 200 characters

fieldstring

at most 200 characters

field_typestring

at most 50 characters

actionrequiredstring

Values: start, submit, abandon

$outbound

A link to another site.

$outbound
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

hostrequiredstring

at most 300 characters

urlrequiredstring

at most 2000 characters

$download

A file link (pdf, zip, docx…) or a download link.

$download
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

extensionrequiredstring

at most 20 characters

urlrequiredstring

at most 2000 characters

$webvitals

LCP, CLS, INP, FCP and TTFB measurements; off by default.

$webvitals
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

lcpnumber

at least 0

clsnumber

at least 0

inpnumber

at least 0

fcpnumber

at least 0

ttfbnumber

at least 0

$layout

The page skeleton heatmaps are drawn on: headings, links, buttons, fields, images; once per path, device class and structure hash in a session.

$layout
FieldTypeDescription
pathrequiredstring

1–2000 characters

pageview_idrequiredstring

1–100 characters

layout_hashrequiredstring

Pattern: ^[0-9a-f]{8,64}$

doc_wrequiredinteger

0–1000000

doc_hrequiredinteger

0–1000000

viewport_wrequiredinteger

0–1000000

elementsrequiredobject[]

at most 300 items

elements[].kindrequiredstring

Values: heading, link, button, input, image, media, other

elements[].labelstring

at most 80 characters

elements[].xrequiredinteger

0–1000

elements[].yrequiredinteger

0–1000

elements[].wrequiredinteger

0–1000

elements[].hrequiredinteger

0–1000

elements[].fixedboolean