Session replay insights

세션 리플레이 인사이트

Replay repeated clicks and backtracking to locate a stuck point.

···
html
<div class="replay"><div class="bar">SESSION 014 <span>● REC</span></div><div class="target">CONTINUE</div><div class="pointer"></div><div class="taps">TAP <b id="taps">1</b> ×</div><div class="timeline"><i></i></div></div>
css
.replay{position:relative;width:min(78%,400px);height:clamp(120px,28vmin,220px);border:2px solid var(--fg);background:var(--surface);font:800 clamp(10px,max(1.8vmin,1vw),14px)/1 sans-serif;padding:clamp(9px,2vmin,17px)}.bar{display:flex;justify-content:space-between;color:var(--muted)}.bar span{color:var(--accent)}.target{position:absolute;top:43%;left:26%;width:48%;text-align:center;border:2px dashed var(--line);padding:8px}.pointer{position:absolute;left:63%;top:58%;width:0;height:0;border-left:12px solid var(--accent);border-top:18px solid transparent;animation:poke 3.5s infinite}.taps{position:absolute;right:12%;top:67%;color:var(--accent)}.timeline{position:absolute;bottom:12px;left:10%;width:80%;height:4px;background:var(--line)}.timeline i{display:block;background:var(--accent);height:100%;animation:play 3.5s linear infinite}@keyframes poke{0%,20%,45%,70%,100%{transform:translate(17px,14px)}30%,55%,80%{transform:translate(0,0)}}@keyframes play{from{width:0}to{width:100%}}
js
const taps=document.querySelector('#taps');let n=1;setInterval(()=>{n=n>=3?1:n+1;taps.textContent=String(n)},900);

Session replay reconstructs the order of page movements and interactions to provide context. It can show what happened around a drop-off visible in aggregate metrics.

The demo cursor clicks an inactive-looking control repeatedly and then moves back. The pattern suggests an investigation; it does not prove intent or emotion.

Check collection scope and masking on pages with personal data. Repeated patterns supported by aggregate data matter more than a few dramatic recordings.

When to use

Use it to narrow the context of funnel drop-off or recurring usability blocks.

Open as page ↗