Skip to main content

Session Replay

See exactly what your users experienced by replaying their sessions with full context.

Overview

Session replay reconstructs a user's journey through your application -- the pages they visited, the actions they took, the performance they experienced, and any errors they hit. It's not a video recording; it's a structured timeline built from telemetry data collected by the RUM (Real User Monitoring) agent.

This is invaluable for debugging user-reported issues. Instead of asking "what were you doing when it broke?", you can look at the session and see for yourself.

Enabling RUM

Session data is only collected when RUM is enabled in your Meteor settings. Add this to your settings.json:

{
"public": {
"skysignal": {
"publicKey": "pk_live_xxx",
"rum": {
"enabled": true,
"trackUserActions": true,
"trackPageViews": true
}
}
}
}
SettingDescription
enabledTurns on RUM data collection
trackUserActionsCaptures clicks, form submissions, and other user interactions
trackPageViewsTracks page navigations and time spent per page

Both trackUserActions and trackPageViews should be true for full session replay functionality. You can disable either if you only need partial data, but the session timeline will have gaps.

Viewing a Session

  1. Navigate to a site's Sessions tab
  2. Find the session you want to investigate (filter by user, time range, or error presence)
  3. Click View Session Details

The Session Detail dialog shows four sections:

Page Flow

A visual timeline of pages the user visited. For each page you see:

  • Page URL/route
  • Time spent on the page
  • Core Web Vitals scores for that page
  • Transition arrows showing the navigation path

This answers "where did the user go?" at a glance.

Event Timeline

A chronological feed of everything that happened during the session:

  • Navigations - Page changes with timestamps
  • User actions - Clicks, form submissions, input changes
  • Method calls - Meteor method invocations with response times
  • Errors - Any errors that occurred, correlated with the preceding action

The timeline makes it easy to see the exact sequence: the user clicked a button, which called a method, which threw an error. That causal chain is often all you need to reproduce and fix a bug.

Performance

Per-page Web Vitals breakdown with quality indicators:

MetricWhat It MeasuresGoodNeeds WorkPoor
TTFBTime to First Byte< 800ms800-1800ms> 1800ms
FCPFirst Contentful Paint< 1.8s1.8-3.0s> 3.0s
LCPLargest Contentful Paint< 2.5s2.5-4.0s> 4.0s
TTITime to Interactive< 3.8s3.8-7.3s> 7.3s

Each metric is color-coded: green for good, orange for needs work, red for poor. This shows you whether the user experienced a fast, responsive app or was staring at loading spinners.

Errors

Any errors that occurred during the session, displayed with:

  • Error message and type
  • Timestamp
  • The user action that preceded the error
  • Stack trace (if available)

Seeing errors in session context is far more useful than seeing them in isolation. You know exactly what the user was doing when things went wrong.

Common Use Cases

Debugging User-Reported Issues

When a user reports "it broke when I tried to save", find their session, look at the event timeline around the time they reported the issue, and you'll see exactly what happened -- the form submission, the method call, and the error response.

Understanding User Journeys

Page Flow shows you how users actually navigate your app. You might discover they're taking unexpected paths, hitting dead ends, or bouncing between pages in ways you didn't anticipate.

Correlating Errors with User Actions

The Errors view shows you that an error happened, but session replay shows you why. Maybe it only occurs when users fill out a form in a specific order, or when they navigate to a page before data has finished loading.

Performance Investigation

If a user complains that "the app is slow", check their session's Performance tab. You might find that one specific page has terrible LCP because of a heavy subscription, while the rest of the app is fine.

Privacy Considerations

Session replay captures user actions and page navigations but does not record screen content or keystrokes. Form input values are not captured -- only the fact that an input event occurred. The data collected is limited to what's needed for debugging: routes visited, elements clicked, methods called, and performance metrics.

Next Steps