FeaturesSession Replay & Heatmaps

Session Replay & Heatmaps

Session replay captures user interactions — clicks, scrolls, form inputs — and plays them back as a video-like recording. Heatmaps aggregate click positions across all sessions on a given URL.

Privacy by default

All replay data is PII-masked before it leaves the browser:

  • Text inputs are replaced with •••••••• client-side
  • Email, phone, and credit card patterns are auto-detected and masked
  • You can mark additional elements with data-st-mask to force masking
<!-- This element's text will never appear in replay -->
<div data-st-mask>Sensitive information here</div>

Enable session replay

Session replay requires the Growth plan or above.

const tracker = new SaaSTracker({
  apiKey: "...",
  replay: {
    enabled: true,
    sampleRate: 0.1,     // capture 10% of sessions (default: 0.05)
    maskAllText: false,  // mask all text nodes (default: false)
    blockClass: "st-block",  // CSS class to block from recording
  },
});
💡

Session replay data is retained for 30 days on all plans. It cannot be exported.

Viewing replays

  1. Go to Session Replay in the dashboard
  2. Filter by date, URL, user, or events
  3. Click any session to view the recording
  4. Use the timeline to jump to key events (clicks, rages, errors)

Heatmaps

Heatmaps show click density for any URL in your app. They’re built from the same click events captured by replay.

  1. Go to Heatmap in the dashboard
  2. Enter the URL to analyse
  3. Set the date range (up to 30 days)
  4. Toggle between click map and scroll depth views

Rage clicks

Sessions with ≥ 3 clicks within 1 second on the same element are automatically tagged as “rage click” sessions, visible as a filter in the replay list.