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