TapCub is live — analytics, insights and live chat, free on one platform
Product News

User Friction: How to Find It in Your Data and Fix It

User friction is anything that slows people down or stops them reaching their goal. The signals that reveal it in behaviour data, a sample where rage clicks pointed to the fix, and a routine for ranking friction points.

Sophia Bennett Published Nov 4, 2026 4 min read Product News
Sample data. The shipping step stands out: most clicks land on a grey "Continue" button.Sample data

Try it on your own data

Every report in this article is in the free plan. One snippet for web and apps, up to 10 sites.

Start free

User friction is anything that makes a task harder than it needs to be: a button that does not respond, a form that rejects input without saying why, a step that sends people in circles. Some friction is deliberate, like confirming a deletion. Most is accidental, and it leaves traces in behaviour data. This guide covers the signals that reveal it, a worked example and how to decide what to fix first.

What you will learn

  • Friction leaves traces: rage clicks, error clicks, form drop-off, loops and slow pages
  • Rank friction points by how many people hit them and how close they are to a conversion
  • Confirm with a few session replays before changing the design

What user friction is

Friction is the gap between how easy a task should be and how hard it is. It shows up as hesitation, repeated attempts, detours or giving up. A little deliberate friction can protect people, such as a confirmation before deleting data. Accidental friction just costs you users.

Typical sources are unclear labels, elements that look clickable but are not, slow responses, forms with strict or hidden rules, and steps that ask for information at the wrong time.

Signals in your data

You rarely see friction directly; you see what people do when they hit it. The table lists the common signals and how to measure them.

Two of them have precise definitions in TapCub:

  • Rage clicks. On heatmaps, a rage click is recorded on the third click within 300 ms and 50 pixels. The errors report counts three or more clicks on the same element within 500 ms.
  • Error clicks. Clicks followed by a script error.

The errors report lists pages with at least 20 pageviews and ranks them by (rage + error clicks) per 1,000 pageviews.

SignalWhat it suggestsHow to measure
Rage clicksSomething looks clickable but does not respondRepeated fast clicks on the same spot
Error clicksA click triggers a script errorClicks followed by a JavaScript error
Form drop-offA field is confusing or rejects inputStarts vs submits, by last field touched
LoopsPeople go back and forth between pagesPaths with repeated A → B → A
Slow stepsWaiting causes people to give upP75 load or response time on the step
Dead endsPeople leave from a page meant to move them onHigh exit rate on a mid-journey page

One signal is a lead; two together are strong evidence.

A worked example

A shop ranks pages by rage and error clicks per 1,000 pageviews. The shipping step of checkout scores 41, against a site average of 6. The click heatmap shows most rage clicks on the "Continue" button.

Watching a handful of session replays filtered to that page with rage clicks makes it clear: the button stays grey until a postcode is entered, but nothing says so. People click it again and again, then leave. The team adds a message next to the button and validates the postcode as people type. Rage clicks on the step fall to 5 per 1,000, and checkout completion improves.

app.tapcub.com/analytics/errors

Worst page

/checkout/shipping

41 per 1,000

Site average

6

per 1,000

Pages listed

≥ 20 pageviews

each

Rage and error clicks per 1,000 pageviews

Sample
/checkout/shipping41
/pricing14
/account/settings11
/signup7
/blog/*2
Sample data
Sample data. The shipping step stands out: most clicks land on a grey "Continue" button.

How to rank friction points

  1. Reach: how many people hit it per week.
  2. Position: how close it is to a conversion. Friction in checkout costs more than friction on a blog.
  3. Severity: does it slow people or stop them?
  4. Effort: how hard is the fix?

Start with high reach, close to conversion, and cheap to fix.

A short routine

  • Weekly: check the pages with the most rage and error clicks.
  • For each new problem page, watch five replays before deciding what is wrong.
  • After a fix, compare the same signal for two weeks before and after.
  • For forms, look at which field people last touched before leaving. See form analytics.

FAQ

What is an example of user friction?

A sign-up form that rejects a password without saying which rule it broke, so people try several times and give up.

Is all friction bad?

No. Deliberate friction, like confirming a payment or a deletion, prevents costly mistakes. The goal is to remove friction that serves no purpose.

How do I measure friction without session replay?

Use rage clicks, error clicks, form drop-off by field and paths that loop. Replay helps confirm the cause but is not needed to find where friction is.

See also: Dead clicks, UX metrics.

See also: UX audit.

Was this article helpful?

We use your answers to fix and expand this page.

Sophia Bennett

Product Adoption Consultant

Explores customer onboarding, live conversations, and self-service, turning common usage questions into practical guidance and improvements.

Find friction with heatmaps and replays

Rage clicks, error clicks and session replay filtered to sessions with problems show where people get stuck.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics