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 can force-record every rage-click session regardless of your replay sampling rate.

Keep reading