Platform
Events catalog
Canonical event names, payload schema, autocapture events, and mapping to CAPI.
Events are the atomic unit of Trackrift. Every row in the Events explorer maps to a JSON document validated against the collector schema (see OpenAPI).
Core events (explicit)
| event_name | When | Key fields |
|---|---|---|
| page_view | Route change / universal script | page.url, page.path, referrer |
| identify | After identify() | email, user_id, traits |
| purchase | Checkout success | value, currency, content_ids |
| lead | High-intent form / demo request | properties.plan, properties.form |
| sales_closed | CRM / server offline | email, value, source: offline|crm |
| refund | Chargeback / refund processed | value (negative), transaction_id |
Autocapture events
| event_name | Trigger | CAPI mapped? |
|---|---|---|
| scroll_depth | 25/50/75/100% per path | Usually no — analytics only |
| click | Delegated clicks | Optional custom mapping |
| form_start | First form focus | No |
| form_submit | Native submit | Can map to Lead |
| engagement_time | 15s active intervals | No |
| rage_click | Frustration signal | No — UX analytics |
Full payload skeleton
{
"event_name": "purchase",
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"anonymous_id": "anon_…",
"timestamp": "2026-05-26T12:00:00.000Z",
"source": "web",
"value": 297,
"currency": "USD",
"page": {
"url": "https://example.com/thanks",
"path": "/thanks",
"referrer": "https://example.com/checkout"
},
"context": {
"utm_source": "google",
"gclid": "…",
"fbp": "fb.1.…",
"locale": "en-US"
},
"properties": {
"plan": "starter",
"transaction_id": "txn_9f3a"
},
"consent": {
"analytics_storage": true,
"ad_user_data": true
}
}Custom events
Any snake_case name works (view_pricing, start_trial). Document internally and keep names stable — renaming breaks historical reports and CAPI mappings.