Skip to content

Session Replay: Unlocking Deep User Insights

Traditional analytics tell you what users did. Nveal's session replay shows you why.


What is Session Replay?

Session replay captures every click, scroll, and interaction a user performs in your web app, stitching them together into a video-like playback. Unlike dashboards that show aggregate numbers, replay lets you see the exact user journey — frame by frame.

Why this matters

Aggregate metrics hide the why. A 20% drop-off on the checkout page means nothing until you watch real users hit the same spinner and give up. Session replay turns invisible pain points visible.


Why Session Replay Matters

In a world where data-driven decisions are king, raw numbers often hide the real story. Nveal's session replay bridges that gap:

  • Instant troubleshooting — Spot UI glitches, broken flows, or performance hiccups in seconds.
  • Product discovery — Watch real users discover features you never imagined they'd use.
  • Customer empathy — Walk in your users' shoes, understand pain points, and prioritize fixes.

Powerful Search & Filtering — Go Beyond the Cohort

Many analytics platforms let you segment sessions by a fixed set of user properties. Nveal goes much further with its dynamic search and filtering engine, putting every event, attribute, and tag at your fingertips.

Feature Nveal Traditional Tools
Full-text search Search across DOM events, network calls, and custom tags Limited to preset event names
Dynamic filters Combine boolean logic, date ranges, and custom attributes on-the-fly Static filter builder only
Saved Views Save filtered results as reusable named views No snapshot capability
Export CSV/JSON export of filtered sessions Export raw events only
Real-time Filters apply instantly as recordings stream in Batch processing with delays

Power user tip

After crafting a complex filter, click "Save as View" to reuse it across your team. Shared views keep everyone aligned on the same diagnostic lens.


How It Works — Under the Hood

A lightweight JavaScript SDK (< 5 KB gzipped) instruments your app. It records:

  • DOM mutations and user interactions
  • Network requests & responses (with PII masking)
  • Console errors and custom events
  • Performance timing (LCP, FID, CLS)

Events are streamed in real-time to the Nveal backend over a secure, compressed WebSocket connection. Sessions become searchable within seconds of recording.

The playback engine reconstructs the exact UI state at every point in time — including dynamic content, CSS animations, and canvas elements. What you see is what your user saw.

Every event is indexed for sub-second full-text search. Find the session where a user saw a specific error message — across millions of recordings — in under a second.

Data Retention

Recordings are retained for 30 days by default. Adjust the retention policy in Settings → Data Management if you need longer storage for compliance or debugging.


Privacy First

We never record sensitive data by default

  • Input fields tagged with type="password" are automatically masked.
  • Credit card fields, SSNs, and common PII patterns are blocked at the SDK level.
  • You can extend masking with a simple CSS selector list or the nveal-mask attribute.
<!-- Mark any element as private -->
<input type="text" class="user-email" nveal-mask />

Getting Started in 3 Steps

1. Install the SDK

npm install @nveal/web-sdk

2. Initialize

import { initNveal } from "@nveal/web-sdk";

initNveal({
  apiKey: "YOUR_API_KEY",
  maskSelectors: [".pii", "[data-private]"],
});

3. Add Custom Tags

Enrich sessions with business context so your filters are truly meaningful:

// Tag sessions with user properties
nveal.identify({ plan: "pro", userId: "u_abc123" });

// Track custom events
nveal.track("checkout_attempted", { cartValue: 129.99, currency: "USD" });

Then in the Nveal Dashboard, filter by checkout_attempted where cartValue > 100 — instantly surface every session that matters.


Real-World Example

Debugging a broken checkout button

The report: "The checkout button does nothing on mobile."

With Nveal:

  1. Open Session Replay → Search.
  2. Filter: event = button_click AND element_id = "checkout-btn" AND device_type = "mobile".
  3. Sort by Error Count descending.
  4. Watch the top session — a JavaScript exception fires 200 ms after the click, silently swallowing the event.
  5. Ship the fix in the next deploy.

Time to root cause: ~4 minutes.


Explore More

  • Session Replay Docs


    Full reference for replay controls, timeline navigation, and event inspection.

    View Sessions

  • SDK Installation Guide


    Step-by-step setup for JavaScript, React, Next.js, and more.

    Install the SDK

  • More Blog Posts


    Product updates, tutorials, and best practices from the Nveal team.

    All Posts