Bounces, engagement, rage
Three behavioural signals Replayful surfaces, and exactly how they're defined. Knowing the thresholds keeps you from arguing with the dashboard.
Bounce
A session is a bounce if either:
- it has
≤ 3events, or - its duration is under
10 seconds.
Either condition triggers a bounce label. In practice this means "landed, looked, left", no scroll, no click, no meaningful engagement. The two thresholds together catch both bot drive-bys and humans who hit back instantly.
Engagement (the inverse of bounce)
Anything that isn't a bounce. Engaged sessions have more than 3 events and stayed for at least 10 seconds. The Engagement filter on the sessions toolbar (Only engaged) hides everything that bounced.
The four frustration signals
Replayful detects four distinct kinds of user friction. Each one points at a different sort of broken.
Rage clicks
3 or more clicks landing within a 30-pixel radius of each other in quick succession. The tell-tale "why isn't this button working" pattern. Counted two ways: total rage clicks (every click in a cluster) and frustrated sessions (the distinct sessions containing any cluster). The overview KPI turns amber when rage-affected sessions exceed 5% of total.
Dead clicks
A click followed by no meaningful event within 800ms. The user clicked something, nothing visible happened. Could be a broken handler, a non-interactive thing that looks clickable, or just slow JS. Surfaced on the per-page detail.
Quick backs
Sessions under 3 seconds with 3 or fewer events. Distinct from a bounce, which can include 10-second dwell sessions. A quick back is "wrong page, leaving now". Often a search-result mismatch or an ad creative that promised something the landing page didn't deliver.
Excessive scrolling
5 or more scroll-direction reversals in any 5-second window. The user is searching for something and can't find it. Strong signal that the page's structure isn't matching the user's mental model.
Drilling in
The bounce % cells on Top Ads and Traffic Sources are clickable and take you to the matching sessions with bounce = only pre-filtered. Use this to investigate whya cohort bounces, usually it's landing-page mismatch, slow first paint, or an in-app webview rendering poorly.