Alitycs/DocsDashboardStart free

Guides

Track events

One call, everywhere: an event name plus the properties you'll want to filter and group by later.

The track call

The name identifies the action; properties carry the context. From servers, pass the userId explicitly — the browser SDK fills it in from the current session.

alitycs.track('checkout_started', {
  cart_value: 96.40,
  currency: 'USD',
  items: 3,
});

Batching defaults vary by SDK. The JavaScript client flushes after 25 events or 10 seconds by default. Delivery persistence is opt-in, so enable it when you need recovery across navigation or process restarts, and explicitly flush at lifecycle boundaries.

Properties

SDKs accept common application values and serialize each top-level property to a string on the wire. Objects and arrays become JSON strings. Send at most 50 properties; keys are limited to 100 characters and serialized values to 1,000 characters.

TypeExampleNotes
String"pro"Case-sensitive in filters
Number96.40Serialized as "96.4"
BooleantrueSerialized as "true"
Date"2026-07-03T09:41:22Z"Keep an explicit ISO 8601 string
Object{"sku": "T-401"}Serialized as a JSON string

Naming events

Names are stored verbatim and never prettified — signup_completed and Signup_Completed are two different events. Use snake_case, object first, action second, past tense for completed actions.

Dosignup_completed
checkout_started
plan_upgraded
report_shared
Don'tSignupEvent
click1
NEW_USER
did-a-checkout

Reserved properties

Properties prefixed with $ are set by Alitycs. You can override $timestamp for backfills; the rest are read-only.

PropertyMeaning
$timestampWhen the event happened — defaults to arrival time
$sourceWhich SDK or key sent it — Web SDK, Node SDK, REST
$session_idBrowser session grouping — resets after 30 minutes idle
$sdk_versionLibrary version that sent the event