UserPath automatically tracks user interactions and provides full control over custom event tracking.
Configuration
Configure auto-tracking using the browser pixel or SDK:
| Option | Browser Pixel |
|---|---|
| errors | JavaScript errors and unhandled promises |
| clicks | Clicks on buttons,links,etc. |
| scrolling | Scroll depth milestones |
| forms | Form interactions and submissions |
| videos | Video play/pause/complete events |
| pageVisibility | Page visibility and time tracking |
| pageInactivity | User activity/inactivity detection |
| performance | Core Web Vitals and performance metrics |
| all | Disable all auto-tracking features |
Automatic Event Tracking
UserPath captures comprehensive user interaction data when auto-tracking is enabled.
Core Events
| Event | Trigger | Key Properties |
|---|---|---|
click | Interactive elements clicked | label, element, id |
scroll | 50% page scroll depth reached | None |
page_visibility | Tab/window visibility changes | visible, total_time, visible_time |
page_exit | User leaves page | total_time, visible_time |
user_inactive | 60+ seconds without interaction | None |
user_active | User becomes active after inactivity | inactive_duration, url, title |
error | JavaScript errors/unhandled promises | message, stack, source, filename |
Form Events
| Event | Description | Properties |
|---|---|---|
input_fill | Text inputs/textareas filled | input_type, label, form_name |
input_select | Dropdown selections | input_type, label, option_label, form_name |
input_radio | Radio button selections | input_type, label, form_name |
input_checkbox | Checkbox interactions | input_type, label, checked, form_name |
input_range | Range slider adjustments | input_type, label, form_name |
form_submit | Form submissions | form_name, time_to_complete |
Video Events
| Event | Description | Key Properties |
|---|---|---|
video_play | Video playback starts | duration, src, title, video_platform |
video_pause | Video playback pauses | current_time, watch_time, duration |
video_complete | Video playback completes | duration, watch_time, video_platform |
Additional Properties: video_id, aria_label, video_domain, nearby_text, plus any data-* attributes.
Performance Events
| Event | Description | Key Properties |
|---|---|---|
page_load | Page load metrics | page_load_time, dom_content_loaded_time, time_to_first_byte |
core_web_vitals | LCP, FID, CLS measurements | metric, value, rating |
Custom Event Tracking
Custom events let you track business-specific actions beyond automatic tracking. Use them for feature usage, conversions, and business-critical metrics.
Browser-Side Custom Events
Server-Side Custom Events
Track business-critical events from your backend with session continuity:
Common Event Patterns
Server Events Best Practices
Bot Filtering
Filter bot traffic to avoid inflated metrics and costs. Check User-Agent headers:
Session Continuity
Store session ID and user agent from initial requests for use in webhooks and background jobs:
Error Handling
Always use try/catch and async IIFE for non-blocking tracking:
HTTP API
Direct HTTP requests for any language/platform:
Session ID Format
Session IDs must be valid UUID v4 format (e.g., d34d0c34-4d8b-4a88-a9a6-331cdb7b9d73). The SDK handles this automatically.
Best Practices
Ensure your events are properly structured:
- Event names should be descriptive and consistent (use snake_case)
- Property values should be meaningful
- Keep property count reasonable (under 10 properties per event)
- Use consistent data types for the same property across events
- Ask our AI for help with event naming and property values