Blog · July 28, 2026 · 6 min read

Rage clicks, dead clicks, quickbacks: measuring user frustration

Traffic analytics tells you that people left. Frustration signals tell you why: they capture the moments users fight your interface. Three signals cover most of it, and all three are detectable automatically.

Rage clicks

Three or more clicks within about a second inside a ~50px radius. Nobody triple-clicks a working button; rage clicks mean the interface ignored the user. The classic causes: a button whose handler crashed (pair rage clicks with your JS error log and the correlation is usually one-to-one), an element that looks clickable but isn't, or a slow action with no loading feedback, where the user clicks again because nothing visibly happened.

Dead clicks

A click on something interactive-looking that produces no observable consequence: no navigation, no DOM change, no network request, no focus change within a short window. Dead clicks are heuristic (a click can legitimately do something invisible), so honest tools report them with a confidence level: a link with an href that went nowhere is high confidence; a decorated div is low. Treat them as leads, not verdicts.

Quickbacks

Navigate to page B, return to page A within ~10 seconds. The user's answer was "not this". Concentrated quickbacks flag misleading link labels, clickbait internal teasers, or landing pages that don't match the promise that brought the click.

From signals to a bug list

Individually these are anecdotes; aggregated by element and page they become a ranked to-do list: "button#signup-submit: 34 rage clicks this week, 90% on mobile Safari" is a bug report with device targeting included. The workflow that actually fixes things:

  • Aggregate frustration events by element descriptor and page.
  • Cross-reference with JS errors on the same page and segment.
  • Watch a session replay of one affected session; ideally your tool records 100% of rage-click sessions precisely so the replay always exists.
  • Fix, deploy, and watch the element drop off the leaderboard.
FocusStat detects all three signals in the tracker, flags affected sessions, links them to error groups and replays, and records every session, so the replay of a rage-click session is always there.

Keep reading