Record once
Capture DOM state, mutations, inputs, and custom events in one ordered stream.
Build your own experience analytics
Funnels and heatmaps find the pattern. rrweb keeps every metric connected to the session that produced it, so the analytics product you build can open the replay behind any number, on an event format you own rather than rent from a closed platform.
Trial activation
34.1%482 dropped
Watch sessions that left at signup
Public rrweb usage in product analytics tools.
A rage click or dead click is a frustration signal that needs validation. Group the signal by page or release, then open a sample of sessions to check the interface state around it.
Funnel analysis tells you which step lost people. Session segmentation narrows the group by browser, release, account, or behavior before a replay shows what those users encountered.
The rrweb event stream carries millisecond timestamps and session context. Add custom events for the actions specific to your product, then compute conversion and retention from a format you control. Use embedded replay to keep the evidence inside your analytics interface.
rrweb event
derived signal
62.8%
created a first project
rrweb records the raw browser session. Your analytics layer derives the aggregate signals and keeps each result connected to the sessions it came from. Your analysts move from a number to the relevant replay without a second capture system.
Capture DOM state, mutations, inputs, and custom events in one ordered stream.
Derive funnels, paths, cohorts, and friction signals from that same source.
Every count keeps its session id, so an analyst can watch the sessions behind it.
The same open recorder works with your infrastructure or ours.
Run the MIT-licensed recorder and replayer with your own ingest, storage, analytics, and access model. The recordings stay inside your infrastructure.
Send the same event stream to managed ingest, storage, and replay while your product owns the analytics experience. Start on the free tier without a credit card.
Experience analytics connects aggregate behavior, such as funnels, paths, and friction signals, to the browser sessions behind it. The metric shows where behavior changed. The recording shows what people saw and did at that point.
Product analytics counts defined events across many users. Session replay reconstructs an individual browser session from DOM changes and interactions. Used together, analytics finds the pattern and replay explains the sessions that produced it.
Clicks, pointer movement, scrolling, and page mutations already exist in the rrweb event stream, so many frustration signals can be computed without new tracking calls. Product-specific actions still need custom events. Treat every signal as a filter to investigate because repeated clicks and backtracking can have legitimate causes.
An open rrweb implementation keeps the recording format portable and lets you choose the analytics model, storage, and embedded interface. A packaged platform may provide more analysis features out of the box. The trade depends on how much product control and infrastructure ownership you need.
Define the purpose and consent or lawful basis for recording, then mask sensitive text and inputs in the browser before an event is sent. Set sampling, retention, deletion, and access rules around the recordings. Cross-origin payment iframes stay blank by browser design.
A closed platform gives you funnels and replay inside its own app, priced per seat or per session, with sessions in a format you cannot export cleanly. rrweb gives you the open event format and replayer, so you build the analytics product yourself, choose the storage and model, and recompute a metric when its definition changes. Choose the platform for out-of-the-box analysis; choose rrweb when you need the format portable and the interface yours.