What a recording captures

Session recording captures every visible interaction between the user and the browser: cursor movement, clicks, scrolling, text input (with optional masking of sensitive fields), expanding blocks, navigation between pages. The result is a replayable video of the session lasting from a few seconds to tens of minutes.

The main tools are Hotjar, FullStory, Microsoft Clarity and PostHog. They all work the same way — JavaScript on the page intercepts DOM events and sends them to a server as a compressed data stream.

Use cases in e-commerce

Diagnosing checkout drop-off. If the funnel shows a 60% drop-off at the checkout step, recordings reveal the specific cause: the user cannot find the promo code field, does not understand what an error message means, or the cart resets unpredictably on mobile.

Validating new features. After shipping a change — and before running an A/B test — watch 20–30 sessions on the updated page. Obvious UX problems that aggregated metrics cannot show up frequently turn up this way.

Analysing behaviour on the product page. How far do people scroll towards the specification block? Do they click the photo gallery? How many times do they watch the video before adding to cart? That is the input for prioritising the layout of blocks on a product page.

Tip: filter recordings by segment. “Users who added to cart but did not buy” produces the most informative sessions for checkout optimisation.

Limits of the method

Characteristic Quantitative analytics Session recording
Scale All traffic A sample of sessions
Data type Aggregated metrics Individual behaviour
Purpose Spotting anomalies (“what is happening”) Explaining causes (“why it happens”)
Statistical significance Yes No

Session recording is a qualitative research instrument. It explains the “why”, but it does not prove that a change will improve the metrics. For proof you need an A/B test.

Implementation notes

Most tools work through a JavaScript snippet in the <head>. In an SPA (React, Vue) explicit re-initialisation on a route change is required — otherwise sessions are cut off at the first navigation without a page reload. On high-traffic sites, configure sampling (recording, say, 20% of sessions): capturing every visit adds needless load and makes filtering harder.