Solve common session replay and heatmap issues with this troubleshooting guide.
No Recordings Appearing
Check Recording Status
First, verify recording is enabled:
- Go to your domain dashboard → Sessions tab
- Confirm "Enable Recording" is on
- Check for any error messages
Verify Tracking Script
Ensure the script is installed:
- View page source
- Search for "zenovay"
- Verify script loads without errors
Check Console for Errors
Open browser console:
- Right-click → Inspect
- Go to Console tab
- Look for Zenovay errors
Common errors:
| Error | Solution |
|---|---|
| Script not found | Reinstall tracking code |
| CORS error | Check domain configuration |
| Blocked by CSP | Update Content Security Policy |
| Network error | Check internet/firewall |
Plan Limits
Verify your plan includes session replay (Pro plan or higher) and that recordings are within the retention period:
| Plan | Retention |
|---|---|
| Pro | 60 days |
| Scale | 120 days |
| Enterprise | 180 days |
Consent Configuration
If using consent:
- Verify consent is being given
- Check consent integration
- Test with consent granted
Recordings Not Playing
Loading Issues
If playback won't start:
-
Refresh the page
- Clear cache if needed
-
Check internet connection
- Try different network
-
Try different browser
- Chrome recommended
-
Disable extensions
- Ad blockers may interfere
Playback Errors
If you see error messages:
| Error | Solution |
|---|---|
| "Failed to load" | Session may be corrupted |
| "Session expired" | Beyond retention period |
| "Access denied" | Check permissions |
| "Invalid session" | Contact support |
Browser Requirements
Ensure browser supports:
- WebGL
- Modern JavaScript
- Sufficient memory
Visual Glitches
Missing Content
If elements appear blank:
| Cause | Solution |
|---|---|
| Privacy masking | Check mask settings |
| Dynamic content | May load differently |
| Third-party content | Cannot capture cross-origin |
| Lazy loading | May not capture before load |
Incorrect Styling
If styling looks wrong:
-
Font substitution
- Custom fonts may not load
- Fallback fonts used
-
CSS differences
- Some dynamic CSS may differ
- Check for CSS-in-JS issues
-
Responsive issues
- Viewport may differ
- Breakpoint differences
Missing Images
Images may not appear if:
- Served from different domain
- Protected by authentication
- No longer available
Layout Shifts
If layout doesn't match:
- Dynamic content changes
- A/B test variants
- Time-based content
Heatmap Issues
Empty Heatmap
If heatmap shows no data:
-
Check session count
- Need sufficient data
- View in correct date range
-
Verify page URL
- Exact match required
- Check for query parameters
-
Check device filter
- Mobile/desktop selected?
- Matches traffic type?
Inaccurate Click Data
If clicks seem off:
| Issue | Cause |
|---|---|
| Clicks on wrong elements | Viewport differences |
| Clustered incorrectly | Responsive layout changes |
| Missing clicks | Sampling or limits |
Scroll Data Missing
If scroll heatmap empty:
- Verify scroll events captured
- Check page length
- Confirm JavaScript running
Performance Issues
Slow Playback
If playback is choppy:
-
Reduce playback speed
- Try 0.5x or 1x
-
Close other tabs
- Free up memory
-
Check network speed
- Buffering may occur
-
Try a different browser
- Chrome often fastest
High Resource Usage
If consuming too much CPU/memory:
-
Skip to relevant sections
- Don't play entire session
-
Close event panel
- Reduces rendering
-
Disable animations
- In settings if available
Site Performance Impact
If recording affects your site:
-
Check script version
- Update to latest
-
Reduce recording scope
- Exclude heavy pages
- Limit to key pages
-
Monitor metrics
- Check Core Web Vitals
- Compare with recording off
Data Accuracy Issues
Session Count Mismatch
If counts don't match analytics:
| Reason | Explanation |
|---|---|
| Sampling | May sample on high traffic |
| Consent | Not all users consented |
| Ad blockers | Block recording script |
| Page types | Some pages excluded |
Duration Differences
If duration seems wrong:
- Idle time may be skipped
- Tab switching affects timing
- Background tabs may pause
Click Count Variance
Click counts may differ from analytics:
- Heatmaps may sample
- Different click definitions
- Viewport/element matching
Configuration Issues
Masking Too Aggressive
If too much is masked:
- Review mask selectors
- Test with less restrictive rules
- Use specific selectors
Masking Not Working
If sensitive data visible:
-
Check selector syntax
- Test in browser console
-
Verify configuration loaded
- Before page renders
-
Use data attributes
- More reliable than CSS classes
Excluded Pages Recording
If excluded pages appear:
- Check URL pattern
- Verify wildcards correct
- Test pattern matching
Integration Issues
Consent Manager Conflicts
If not integrating properly:
-
Check timing
- Consent before recording
-
Verify events
- Consent signals firing
-
Test manually
- Grant consent, check recording
Single Page Apps
SPA-specific issues:
| Issue | Solution |
|---|---|
| Page changes not captured | Ensure SPA mode enabled |
| Duplicate sessions | Check session handling |
| Missing navigation | Verify route change tracking |
Third-Party Scripts
Conflicts with other tools:
- Check for script conflicts
- Verify load order
- Test in isolation
Data Recovery
Lost Sessions
Unfortunately:
- Deleted sessions cannot be recovered
- Expired sessions are permanently removed
- Export before retention ends
Corrupted Sessions
If sessions appear corrupted:
- May be partial upload
- Network interruption during capture
- Contact support with session ID
Getting Help
Information to Provide
When contacting support:
- Session ID (if specific session)
- Page URL affected
- Browser and version
- Error messages
- Steps to reproduce
- Screenshots/recordings
Support Channels
- In-app chat
- support@zenovay.com
- Help center tickets
Debug Mode
Enable debug logging by adding data-debug to your script tag:
<script defer
src="https://api.zenovay.com/z.js"
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true">
</script>
Check console for detailed logs.
Preventive Measures
Regular Testing
Test recording periodically:
- After site updates
- After tracking changes
- After consent updates
Monitoring
Set up alerts for:
- Recording count drops
- Error rate increases
- Performance changes
Documentation
Keep records of:
- Configuration changes
- Exclusion rules
- Known issues