Replayful
Sign inGet started

Idle suppression

Idle suppression is the reason your average-session-duration number isn't a lie. Without it, a tab left open in a background window for two days would look like a two-day session.

The three timers

  • 5 minutes of inactivity → pause. The tracker stops recording new events and flushes the buffer. The session stays open; if the visitor comes back and interacts, recording resumes.
  • 30 minutes of inactivity → hard stop. The session is closed for good. Any further activity starts a new session.
  • Tab hidden (visibilitychange) → pause immediately. We don't wait for the 5-minute timer when the tab is in the background.

What counts as activity

mousemove, mousedown, keydown, scroll, wheel, touchstart. Each one resets the inactivity timer.

Visual cue in the player

The scrubber shows inactive zones as diagonal-hatched gray bars. You can see at a glance how much of a 10-minute session was actually engaged interaction. The player header also shows the active duration alongside the wall-clock duration.

End-of-session flush

When the tab closes (pagehide) or goes hidden, the tracker fires a final sendBeaconto flush any buffered events. The beacon path chunks the payload at 56 KB to stay under the browser's per-call cap, so even long trailing batches survive the unload.