Userpilot Error Reference
This reference covers common issues, their causes, and solutions.SDK Issues
Userpilot not loading
Symptom:userpilot is undefined, content never appears
Possible Causes:
- SDK script not included in page
- Script blocked by Content Security Policy (CSP)
- Script blocked by ad blocker
- Network error loading script
- Verify script is in
<head>section - Check browser console for CSP errors
- Add
js.userpilot.ioto CSPscript-srcdirective - Consider custom domain hosting for ad blocker issues
- Verify network connectivity to
js.userpilot.io
Content not displaying
Symptom: SDK loads but flows/tooltips don’t appear Possible Causes:identify()not called- User doesn’t match targeting criteria
- User already seen content (frequency = once)
- Content not published
- Wrong environment (staging vs production)
- Verify
userpilot.identify()is called with validuser_id - Check targeting rules match current user/page
- Test with a new user or reset seen content
- Verify content is published, not draft
- Confirm App Token matches environment
identify() not working
Symptom: User properties not updating, company not associated Possible Causes:- Called before SDK loads
- Missing required
user_id - Invalid property format
- Company object missing
id
SPA navigation issues
Symptom: Content works on first page but not after navigation Cause:reload() not called on route changes
Solution:
API Errors
401 Unauthorized
Cause: Invalid or missing API key Solution:- Verify
Authorization: Token {API_KEY}header - Check API key matches environment (production vs staging)
- Regenerate API key if compromised
400 Bad Request
Cause: Invalid request body Common Issues:- Missing required fields (
user_idfor identify) - Invalid JSON syntax
- Wrong data types (string instead of number)
- Invalid date format (use ISO8601)
429 Too Many Requests
Cause: Rate limit exceeded Solution:- Implement exponential backoff
- Batch requests where possible
- Use bulk endpoints for high-volume operations
422 Validation Error
Cause: Data validation failed Common Issues:- Property name too long (max 255 chars)
- Property value too large (max 65KB)
- Invalid characters in property names
- Duplicate
user_idin bulk request
Content Issues
Element not found
Symptom: Tooltip/spotlight shows “element not found” or nothing appears Causes:- Element selector changed (dynamic IDs/classes)
- Element not present on page
- Element inside iframe
- Element rendered after SDK evaluation
- Use stable selectors (data attributes, semantic classes)
- Add elements to exclude list for dynamic attributes
- Userpilot cannot target iframe content
- Use trigger delay or event-based triggers
Flow appears in wrong place
Symptom: Modal/tooltip positioned incorrectly Causes:- Target element position changed
- CSS transforms affecting positioning
- Viewport/responsive layout issues
- Re-select element in Chrome Extension
- Test on target viewport size
- Use modal instead of tooltip for complex layouts
Flow stuck / won’t advance
Symptom: User completes step but flow doesn’t continue Causes:- Driven action element not clickable
- Page navigation before completion
- Element removed from DOM after click
- Verify driven action element is interactive
- Use page change handling in flow settings
- Add delay or use different trigger method
Targeting Issues
Segment not matching users
Symptom: Users who should match don’t appear in segment Causes:- Property not sent via identify()
- Property name mismatch (case-sensitive)
- Data type mismatch (string “100” vs number 100)
- Segment uses AND logic requiring all conditions
- Verify property in user profile
- Check exact property name spelling
- Ensure consistent data types
- Review segment logic (AND vs OR)
Content showing to wrong users
Symptom: Users outside target segment see content Causes:- Segment criteria too broad
- User properties changed after initial match
- “Show once” not working due to reset
- Add more specific targeting criteria
- Use real-time property checks
- Verify frequency settings
Data Issues
Events not appearing
Symptom:track() called but events don’t show in dashboard
Causes:
- User not identified first
- Event name contains invalid characters
- Data processing delay (up to 15 minutes)
- Auto-capture disabled
- Always call
identify()beforetrack() - Use alphanumeric event names with underscores
- Wait for processing (check raw events first)
- Enable auto-capture in settings if needed
Historical data missing
Symptom: User/company created but no historical data Cause: Userpilot only records data from first identify onwards Solution: Import historical data via Bulk Import APIData discrepancy between Userpilot and other tools
Symptom: User counts differ from analytics tool Causes:- Different user identification methods
- Bot/crawler traffic handled differently
- Sampling differences
- Timezone differences in date ranges
- Compare identification logic
- Exclude test/bot traffic consistently
- Align date ranges and timezones
- Accept minor variance as normal