Find friction
Last updated
Friction is what gets in people's way even when nothing errors: a button that does nothing, a form that keeps rejecting an answer, a page people leave as soon as they land on it. Each one costs conversions. The Friction screen shows how often it happens, exactly where, and who it hits hardest.
You don't need to tag anything. The SDKs capture friction signals on their own.
Friction signals
At the top of Friction, With friction shows the share of sessions that hit at least one signal. Next to it is the share of sessions with each signal:
| Signal | What it means |
|---|---|
| Rage clicks | Three or more rapid clicks on the same spot |
| Dead clicks | Something that looks clickable did nothing |
| Slow controls | A control took more than a second to respond |
| Error clicks | A click was followed by a JavaScript error |
| U-turns | Someone went straight back to the previous page within seconds |
| Form errors | A field failed validation |
| Form abandons | Someone started a form and left without submitting |
Metrickle counts sessions, not clicks. One frustrated person clicking twenty times is one session, so busy pages don't look worse than they are.
Which platforms report which signals
- Web (script tag or npm package): every signal above.
- iOS, Android and Flutter: rage taps, u-turns between screens, and form errors through the
formError()helper. - React Native: u-turns.
If the screen says No friction signals in this period, update to the latest SDK or widen the date range. See Install Metrickle.
Metrickle never reads what people type into forms. Form errors record the field and the kind of validation failure.
Hotspots
Hotspots lists the specific elements, forms and pages where people get stuck, ranked by the number of sessions affected. Each row shows:
- the Signal,
- the Page it happened on,
- the Element, form or destination: the element's selector and visible label, the form, or for a u-turn, the page people went back to.
Select a page in the table to filter the whole screen, and every other screen of the app, by it.
If your app has accessibility scan results, a hotspot also lists what the latest scan found on the same element, linked to how to fix it. See accessibility breakdowns.
Pages and screens
Pages and screens shows, for each page, how many sessions it had and the share of them that hit any friction signal there. Use it to find the page with the most friction, then look at its hotspots.
Who friction hits
The Accessibility card compares friction and conversion for people using each assistive technology or accessibility setting, such as keyboard navigation, a screen reader, zoom or large text, against sessions using none. The difference is shown in percentage points. A session can have several settings.
A dead click that a mouse user shrugs off can stop someone on a keyboard. Select a segment to filter the whole screen to those sessions.
You can filter friction in other ways too: by device, campaign, country or any other breakdown. See the dashboard tour.
Create an issue from a hotspot
When you've found a problem worth fixing, send it to your issue tracker without leaving Metrickle.
- In Hotspots, select Create issue on the row.
- Metrickle drafts a Title and Description from the hotspot. Edit anything before it is sent.
- Select Create issue.
The issue goes to the tracker connected for this app, such as Linear, GitHub, Jira or GitLab. If none is connected, the dialog tells you, and someone with permission can connect one under Integrations. See integrations. Filing issues needs the permission to file issues in a connected tracker.
Check whether the fix worked
Select Fixes in your app to see every issue created from Metrickle: from friction hotspots, feedback, tasks and cases.
Metrickle records the issue's metric over the 7 days before it was opened. Seven days after the issue is closed, it measures the same metric again and shows before and after. Each issue has a status:
| Status | Meaning |
|---|---|
| Open | The issue isn't closed yet |
| Measuring | Closed, with the result due 7 days after closing |
| Fix worked | The metric improved |
| No improvement | The metric didn't improve |
| Canceled | The issue was canceled in the tracker |
The top of the list says how many measured fixes improved their metric. You can also be notified of fix results: see notifications.
Next steps
- See it happen in heatmaps and replays
- Ask people what went wrong with surveys and feedback
- Protect a flow so the next release that adds friction opens a case