Harvv Research

What is a dead click?

A dead click is a click or tap that gets no response: no navigation, no change, no feedback. It is the quietest signal of a broken interface, and the most ignored. We analyzed 132,000 real dead clicks to show you what causes them and how to fix each one.

57%
of dead clicks land on a plain div styled like a button
9%
escalate to a rage click. The other 91% just leave
132K
real dead clicks analyzed across 4 live stores

A dead click is a click on a web page element that produces no response: the page does not navigate, nothing on screen changes, and the user gets no feedback. They clicked something that looked like it would do something, and it did nothing.

That is the web-UX meaning, and it is the only one we mean here. (There is an unrelated gaming sense of "dead click" about input lag. Ignore it.) Dead clicks matter because they are the earliest sign that your interface is lying to people: it shows a signal that says "click me," and then breaks the promise. Most users do not complain. They just leave.

Dead clicks vs rage clicks vs error clicks

These three get used interchangeably and they are not the same thing. Here is the clean version:

  • Dead click: one click, no response. The early, silent signal.
  • Rage click: several rapid clicks in the same spot (most tools count three to five within one to two seconds). The late, loud signal of active frustration.
  • Error click: a click that triggers a JavaScript or server error. Something happened, it just failed.

The sequence is the insight. A dead click often comes first: the user clicks, nothing happens, and they either click again in frustration (a rage click) or give up and leave. In our data, only about 9% of sessions with a dead click also produced a rage click. The other 91% never escalated to anything a "rage click report" would catch. If you only watch rage clicks, you are watching the loud minority and missing the quiet majority who already left.

Why no two tools detect a dead click the same way

This is the part nobody tells you. Every analytics tool defines a dead click roughly the same way in prose, but their detection rules disagree sharply. They split into two philosophies. Some tools only flag clicks on genuinely interactive elements (a dead click is a failed action). Others flag clicks on anything that looks clickable, including static elements (a dead click is a broken expectation). They also use different time windows and watch different elements.

ToolElements it watchesTime windowWhat that means
Sentrybutton, input, a only7 seconds (hard)Semantic: only real interactive tags count
Inspectletexcludes input, select, textarea, a[href]short observation windowVisual: watches everything except form/link tags
Microsoft Clarityany element"reasonable amount of time"Visual: no published millisecond threshold
Fullstoryany element"a few seconds" (withheld)Visual: threshold kept proprietary
Amplitudeinteractive elementsno navigation or DOM changeSemantic: restricts to interactable elements
Mouseflowstatic elementsproprietary friction scoreVisual: and it calls a JS-error click a dead click

Read the table closely and the contradiction jumps out: Sentry only watches buttons, inputs, and links. Inspectlet specifically excludes those exact elements. A dead-clicked div is invisible to Sentry and obvious to Inspectlet. Rage-click counts range from three clicks (Amplitude) to five (Mouseflow). And Mouseflow alone calls a JavaScript-error click a dead click, where everyone else keeps them separate. So if two tools give you different dead-click numbers, neither is wrong. They are measuring different things.

What causes dead clicks (and how to fix each one)

We pulled 132,000 dead clicks across four live stores and grouped where they landed. The result settles a debate the rest of the category argues about with no data: the dominant cause is not broken buttons, it is non-interactive elements that look interactive. Plain divs alone were 57%. Add spans, paragraphs, list items, icons, and images and the "looks clickable, is not" category is the overwhelming majority. Here is the full taxonomy, each with the concrete fix.

A div or span styled to look like a button

The most common cause by far. Our own data: 57% of dead-clicked elements are plain divs. The browser correctly does nothing; the user is left confused.

Fix: Wrap it in a real <button> or <a>, or strip the false signals (drop the hover shadow, pointer cursor, and link color from non-interactive elements).

A product image users expect to open or zoom

Shoppers tap images expecting a lightbox or a link to the product. If it is a bare <img> with no wrapper, every tap is a dead click. Images were 6% of ours.

Fix: Wrap the image in a link, or add a click handler that opens the zoom or product page.

Text that looks like a link but is not

Body text in your brand link color, or an underlined word, reads as clickable. Spans, paragraphs, and list items were ~24% of our dead clicks combined.

Fix: Reserve link styling (color plus underline) for actual links only.

A broken or missing click handler

The element is a real button, but the JavaScript that should respond never attached, or it threw an error and died silently.

Fix: Use a semantic <button>, wrap async actions in try/catch, and render a visible error state when something fails.

The hydration gap on a fresh page load

On a server-rendered React, Vue, or Next.js app, the button is painted before its JavaScript is wired up. Clicks in the first second or two vanish.

Fix: Disable the control with a loading state (cursor not-allowed, lowered opacity) until the framework confirms the page is interactive.

An invisible overlay stealing the click

A transparent cookie banner, an un-dismissed modal, or a dropdown that hid via opacity but kept its height sits on top and absorbs the click.

Fix: Add pointer-events: none to decorative overlays, and fully remove or collapse inactive ones so they cannot intercept taps.

Tiny tap targets and hover-only menus on mobile

A target smaller than roughly 48 by 48 pixels gets mis-tapped. Menus that only open on hover never open on a touchscreen.

Fix: Size tap targets to the 48px guideline, and convert hover menus to tap-to-expand on touch devices.

A slow response that feels dead (high INP)

The handler works, but a long task blocks the page for half a second, so the user clicks again thinking it broke. A working button can feel dead.

Fix: Keep Interaction to Next Paint under 200ms: split long tasks, show feedback within 100ms, and defer non-urgent work.

The dead clicks your heatmap will never show you

There is a whole class of dead clicks that mouse-and-tap analytics cannot see: keyboard and screen-reader users hitting a control that works fine with a mouse. A <div onclick> with no role and no tabindex is fully functional for a mouse user and completely dead for someone navigating by keyboard. It has, in Deque's words, "no role, no keyboard focusability, and no enter key activation." Your behavioral tool sees a working button. A keyboard user sees a wall.

The fix is the same one that fixes half the causes above: use a real <button> or <a href>. Native elements get focus, Enter, and Space for free. If you must use a div, add role="button", tabindex="0", and keyboard handlers. This is WCAG failure F59, and it is the dead click that costs you customers you never measured.

How to find dead clicks on your site

Three ways, in order of effort:

  1. A session-replay or heatmap tool (Microsoft Clarity is free, Fullstory and others are paid). Look for click clusters on non-interactive elements. Remember the tool-conflict above: each one will show you a slightly different set.
  2. Manual testing: open your key pages, click everything that looks clickable, and tab through with your keyboard. The keyboard pass catches the accessibility dead clicks nothing else will.
  3. Harvv: the pixel detects dead clicks automatically on real traffic, tells you the exact element and page, and separates them from bot noise. It is the same engine behind the 132,000-dead-click dataset on this page. Run a free audit on any URL to see yours.
Stats you will see quoted that you should not trust. The CRO world recycles a few dead-click and rage-click numbers with no real source. The "X% of websites have dead clicks" figure has no traceable origin. The often-cited "73.1% of visitors leave over non-responsive sites" is actually a survey of web designers, not users, from GoodFirms. And several "fixing rage clicks lifts conversion 5 to 15%" claims are unsourced vendor estimates. The one solid, primary benchmark: Contentsquare found rage clicks in 5.5% of all online visits across 43 billion sessions (2024). Cite that one, and be skeptical of the rest.

Frequently asked questions

What is considered a dead click?

A dead click is a click or tap on a web page where nothing happens: no navigation, no visible change, no feedback. The exact definition varies by tool. Most measure it as a click that produces no DOM change, no page navigation, and no network request within a few seconds. Note this is the web-UX meaning, not the gaming term for input lag.

What is the difference between a dead click and a rage click?

A dead click is a single click that gets no response. A rage click is several rapid clicks in the same spot, signalling active frustration (most tools count three to five clicks in one to two seconds). The order matters: a dead click is the early, silent signal, and a rage click is the late, loud one. In our data, only about 9% of sessions with a dead click escalate to a rage click. The other 91% just leave quietly, which is why dead clicks are the more dangerous signal to ignore.

What causes dead clicks?

The most common cause is a non-interactive element styled to look interactive: a div, span, image, or text node that looks clickable but has no link or handler. In our audit of 132,000 dead clicks, 57% landed on plain divs. Other causes include broken JavaScript handlers, the hydration gap on freshly loaded single-page apps, invisible overlays intercepting clicks, small mobile tap targets, and slow interaction response that makes a working button feel dead.

Why do tools disagree on what counts as a dead click?

Because they use two different philosophies. Some tools (Sentry, Amplitude) only flag clicks on genuinely interactive elements, treating a dead click as a failed action. Others (Clarity, Fullstory, Mouseflow) flag clicks on anything that looks clickable, including static elements. They also use different time windows (Sentry waits 7 seconds; others keep the number proprietary) and different element scopes. A dead click flagged in one tool can be invisible in another.

What is a dead click in Microsoft Clarity?

In Clarity, a dead click is recorded when a user clicks an element and gets no feedback in a reasonable amount of time: the visual status does not change and there is no navigation. Clarity surfaces these on click heatmaps and in session recordings. It does not publish an exact millisecond threshold, so treat its dead-click count as directional and confirm the cause in a recording.

Can dead clicks happen on mobile, and do they hurt SEO?

Yes to mobile: the same logic applies to taps, and overlays and tiny tap targets steal more clicks on a phone than on desktop. Dead clicks do not directly affect SEO rankings, but they raise bounce and lower engagement, which can indirectly hurt the behavioral signals search engines watch. The real cost is conversion: people who cannot use a control rarely come back to complain.

Sources: detection definitions from the published docs of Sentry, Inspectlet, Microsoft Clarity, Fullstory, Amplitude, and Mouseflow; accessibility guidance from Deque, MDN, and W3C WCAG; the rage-click benchmark from Contentsquare via Business Wire (Feb 2024). Dead-click data from Harvv's analysis of 132,000 dead clicks across four live Shopify stores (90-day window). Related research: the Shopify friction tax (296,000 sessions).

See your dead clicks, not someone else's averages.

Harvv detects dead clicks automatically on your real traffic, names the exact element and page, and tells you the fix in plain English. Free for one site.

Free forever for 1 site. No credit card.