What is session replay?

Session replay reconstructs a visit as a playable recording of DOM changes, not video. How it works, what it is for, and how masking should be handled.

What is session replay?

Session replay reconstructs a visitor's session as a playable recording of what happened on screen. It is not a video: the tracker records DOM mutations, mouse movement, scrolling and input events, and the player replays them in a sandboxed page, which is why the files are small enough to store at scale.

It is a reconstruction, not a recording

The common assumption is that replay captures video of someone's screen. It does not, and the difference explains most of the properties people find surprising.

The tracker takes one snapshot of the DOM when the page loads, then records the changes to it: nodes added and removed, attributes changed, text updated, plus mouse positions, scroll offsets, clicks and input events, each with a timestamp. Playback rebuilds the page from the snapshot and applies the changes in order.

That has consequences worth knowing. The recording is a few hundred kilobytes rather than tens of megabytes, so it can be kept and searched at scale. It is text, so it can be masked before it ever leaves the browser. And it can break: a page depending on a canvas, a video element or a cross-origin iframe will replay imperfectly, because the tracker never had access to those pixels in the first place.

What replay is good at

Replay is the tool you reach for when the numbers have already told you where the problem is and cannot tell you why.

  • A funnel step with unusual drop-off: watch ten sessions that died there and the cause is normally obvious.
  • A bug that only one customer can reproduce: replay their session instead of asking them to describe it.
  • Rage clicks and dead clicks: repeated hits on something that is not actually a control.
  • A form nobody completes: see which field they stop on and how long they hesitate.

It is bad at the opposite job. Watching sessions to find out what is wrong, with no hypothesis, is one of the least efficient activities in analytics. Aggregate first, replay second.

A Mrkr session replay playing back a recorded visit with its timeline.
A recorded session playing back with its event timeline. Open it in the live demo.

See it on real data

The live demo is a fully populated dashboard with real demo traffic. No signup and no card required.

Open the live demo

The privacy obligations are real

Mask input by default

Passwords, card numbers, addresses and message bodies must never be captured. Default-deny masking, where fields are hidden unless allowed, is the only safe posture.

Mask in the browser, not on the server

If sensitive text reaches the analytics server before being removed, it was collected. Masking has to happen before the payload is sent.

Set a short retention period

Replays are among the most sensitive data any analytics tool holds. Keep them for weeks, not years, and delete on request.

Consent is a separate question

Recording a session is processing personal data in most readings, regardless of whether a cookie is involved. Disclose it in your privacy policy and take advice on whether you need consent for it.

Session replay in Mrkr

Mrkr records sessions using DOM mutation capture, with input masking applied in the browser before anything is transmitted. Replays are stored with a retention window tied to your plan and can be deleted individually.

Replay is opt-in per site rather than on by default, because it is a genuinely different privacy posture from cookieless pageview counting and should be a deliberate decision rather than an inherited one.

The practical shortcut is the link between aggregate and individual: a funnel step or an exit page leads directly to the sessions behind it, so replay is used to answer a question you already have rather than as something to browse.

Questions, answered.

Related terms.

  • What is heatmap?

    A heatmap is a visualisation that overlays aggregate visitor behaviour onto a screenshot of a page, using colour to show intensity.

  • What is conversion funnel?

    A conversion funnel is an ordered sequence of steps a visitor takes toward a goal, measured by how many people reach each step.

  • What is exit rate?

    Exit rate is the share of views of a given page that were the last page of the session.

  • What is event?

    An event is any recorded action beyond loading a page: a button click, a form submitted, a video played, a subscription upgraded.

  • What is product analytics?

    Product analytics is the measurement of what people do inside a product rather than how they arrived at it.

Where this shows up in Mrkr

Your first visitor is already here.

Drop in the script and watch them land. It takes about a minute.