Skip to main content
Pro Plan10 minutesIntermediate

Troubleshooting Recordings

Fix common session replay and heatmap issues - missing recordings, visual glitches, performance problems, and data accuracy.

session-replaytroubleshootingheatmapsissues
Last updated:
Pro Plan

Solve common session replay and heatmap issues with this troubleshooting guide.

No Recordings Appearing

Check Recording Status

First, verify recording is enabled for the website:

  1. Open the website in Domains, then open its settings and go to the Advanced tab
  2. Under the feature toggles, confirm Session Replay is turned on
  3. If you only want recordings around errors, check the Recording Mode (it can be set to "Only Sessions with Errors" or "Record All Sessions")

Verify Tracking Script

Ensure the script is installed:

  1. View page source
  2. Search for "zenovay"
  3. Verify script loads without errors

Check Console for Errors

Open browser console:

  1. Right-click → Inspect
  2. Go to Console tab
  3. Look for Zenovay errors

Common errors:

ErrorSolution
Script not foundReinstall tracking code
CORS errorCheck domain configuration
Blocked by CSPUpdate Content Security Policy
Network errorCheck internet/firewall

Plan Limits

Verify your plan includes session replay (Pro plan or higher) and that recordings are within the retention period:

PlanRetention
Pro60 days
Scale120 days
Enterprise180 days

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:

  1. Refresh the page

    • Clear cache if needed
  2. Check internet connection

    • Try different network
  3. Try different browser

    • Chrome recommended
  4. Disable extensions

    • Ad blockers may interfere

Playback Errors

If you see error messages:

ErrorSolution
"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:

CauseSolution
Privacy maskingCheck mask settings
Dynamic contentMay load differently
Third-party contentCannot capture cross-origin
Lazy loadingMay not capture before load

Incorrect Styling

If styling looks wrong:

  1. Font substitution

    • Custom fonts may not load
    • Fallback fonts used
  2. CSS differences

    • Some dynamic CSS may differ
    • Check for CSS-in-JS issues
  3. 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:

  1. Check the data volume

    • A page needs enough recent traffic before a heatmap is generated
    • View it within a time window that actually has visits
  2. Verify the page

    • Pick the same page (path) that received the traffic
    • Query parameters can split traffic across separate URLs
  3. Check the heatmap type

    • The viewer toggles between Click and Scroll heatmaps
    • Switch types to confirm you are looking at the one with data

Inaccurate Click Data

If clicks seem off:

IssueCause
Clicks on wrong elementsViewport differences
Clustered incorrectlyResponsive layout changes
Missing clicksSampling 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:

  1. Reduce playback speed

    • Try 0.5x or 1x
  2. Close other tabs

    • Free up memory
  3. Check network speed

    • Buffering may occur
  4. Try a different browser

    • Chrome often fastest

High Resource Usage

If consuming too much CPU/memory:

  1. Skip to relevant sections

    • Don't play entire session
  2. Close event panel

    • Reduces rendering
  3. Disable animations

    • In settings if available

Site Performance Impact

If recording affects your site:

  1. Reduce recording scope

    • Add heavy or sensitive pages to Excluded Routes in Settings → Advanced
    • Set Recording Mode to "Only Sessions with Errors" so sessions are captured only when something goes wrong
  2. Monitor metrics

    • Check Core Web Vitals
    • Compare with recording off

Data Accuracy Issues

Session Count Mismatch

If counts don't match analytics:

ReasonExplanation
SamplingMay sample on high traffic
ConsentNot all users consented
Ad blockersBlock recording script
Page typesSome 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

Masking is controlled by two toggles on the website's Settings → Advanced tab:

  • Mask All Input Fields (on by default) replaces what visitors type with placeholders.
  • Mask Text Content masks visible page text as well.

If too much is hidden, turn off Mask Text Content so regular page copy is captured while input values stay masked.

Masking Not Working

If sensitive data is still visible in a recording:

  1. Confirm the masking toggles are on in Settings → Advanced. Mask All Input Fields should be enabled.
  2. Re-record after saving. Masking applies to new recordings, so existing recordings keep the masking that was in effect when they were captured.
  3. Keep sensitive pages out of replay entirely. Add them to Excluded Routes (see below) if they should never be recorded.

Excluded Pages Recording

Pages you do not want recorded are listed under Excluded Routes in Settings → Advanced (one path per line). If an excluded page still appears:

  1. Check that the path matches the page's URL path
  2. Confirm you saved the change
  3. Remember that exclusions apply to new recordings, not ones already captured

Integration Issues

If not integrating properly:

  1. Check timing

    • Consent before recording
  2. Verify events

    • Consent signals firing
  3. Test manually

    • Grant consent, check recording

Single Page Apps

The tracking script handles SPA route changes automatically (it listens for History API navigation), so no extra setting is required. If a single-page app still misbehaves:

IssueWhat to check
Page changes not capturedConfirm the script loads once on initial render and is not re-injected on every route change
Duplicate sessionsMake sure the script tag is included only once in your app shell
Missing navigationVerify your router uses the standard History API (pushState) so route changes can be detected

Third-Party Scripts

Conflicts with other tools:

  1. Check for script conflicts
  2. Verify load order
  3. 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:

  1. Session ID (if specific session)
  2. Page URL affected
  3. Browser and version
  4. Error messages
  5. Steps to reproduce
  6. Screenshots/recordings

Support Channels

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

Next Steps

Was this article helpful?