SDK
Autocapture
Behavioral events, selectors, exclusions, and privacy guarantees.
Autocapture records behavioral signals without instrumenting every button. It uses event delegation — one listener on document — keeping overhead minimal.
| Event | Trigger | Payload highlights |
|---|---|---|
| scroll_depth | 25/50/75/100% per path | depth, path |
| engagement_time | Every 15s active + on hide | active_seconds |
| click | Delegated clicks | selector, text (truncated), tag |
| form_start | First focus in form | form_id, field count |
| form_field_change | Blur after change | field name/type, filled: boolean |
| form_submit | Native submit | field names only — never values |
| form_error | invalid event | field name |
| rage_click | 3+ clicks <1s same target | selector |
import { tracker, installAutocapture } from '@trackrift/sdk';
tracker.init({ endpoint: 'https://api.trackrift.com', publicId: 'YOUR_PUBLIC_ID' });
const uninstall = installAutocapture(tracker, {
clicks: true,
forms: true,
scrollDepth: true,
engagementTime: true,
visibility: false,
rageClick: true,
});
// SPA teardown — optional cleanup
// uninstall();Excluding elements
<button data-track-ignore>Sensitive action</button>
<div data-track-ignore>
<!-- entire subtree ignored for click autocapture -->
</div>Password / email fields
Autocapture never serializes input values — only field names, types, and whether filled. Still use data-track-ignore on auth forms for defense in depth.