Skip to main content

Heatmaps

A heatmap shows how users interact with a page by overlaying aggregated interaction data on a screenshot of that page. The Top elements view ranks the page's controls by clicks, the Click map view shows where clicks land as color spots, and the Scroll map view shows how far down the page users reach—so you can see which parts of your interface get attention and which go unused.

Heatmaps are built on the sessions, views, and actions your RUM SDK collects. See the data model for how these events work.

What you need

View a heatmap

  1. In Product Analytics, open Heatmaps. The application in view appears in the selector at the top left.
  2. Select the page to analyze. The view picker lists the pages captured for the application—for example home, /, route-one, route-two—each with its session count. You can also jump straight to one of your most popular pages; the application and view selectors then fill in automatically once the heatmap renders.
  3. Select a device size—Mobile (< 768px), Tablet (768px–1023px), Desktop (≥ 1024px), or a Custom width range—to view the heatmap as it rendered on that form factor.
  4. Select a view—Top elements, Click map, or Scroll map—to change what the overlay measures.
  5. Set the period to analyze with the time range picker.

Setting up a heatmap: choosing a page from the view selector, a device size, a view mode, and a time range

The page displays a screenshot of the selected view with interaction data overlaid, alongside a panel that changes with the selected view.

Top elements

The Top elements view ranks the ten most-clicked elements on the page and labels each one on the screenshot with its rank; hovering a badge reveals that element's name. The Top Clickable Actions list beside the screenshot names each action—for example click on Add Dependency—with its Clicks count, which is the cumulative number of clicks on that element over the selected time range (one user can account for several). This surfaces the controls that draw the most attention first.

Heatmap Top elements view: a ranked Top Clickable Actions list beside a page screenshot with numbered element badges

Name your elements

An element Product Analytics can't identify appears as Unnamed element. Give it a readable name by adding an aria-label or a data-cx-action-name="your-element-name" attribute to it in your application—the name then shows in Top elements and the click map. See Name your clickable elements for why stable names matter.

Not every element appears on the screenshot

A heatmap overlays clicks on a single captured screenshot, and the page changes over time—so an element that was clicked may not be present in the screenshot you're viewing. When that happens, its row in Top Clickable Actions carries a crossed-eye icon (Element not found in selected screenshot). Its clicks still count toward the ranking—the element just can't be highlighted on the image, though another capture from Current screenshot may include it.

Click map

The Click map view overlays clicks on the screenshot as color spots—warmer, brighter spots mark the elements users select most, while the rest of the page dims. The Top Clickable Actions list beside the map shows each element's click count in order, so you can match a hotspot to its action.

Heatmap Click map view: click-density color spots over a page screenshot next to the Top Clickable Actions list

Scroll map

The Scroll map view shows how far down the page users scroll. A color gradient over the screenshot marks the share of users who reached each depth, an Average fold line marks where the page is typically cut off by the viewport, and hovering a depth shows a tooltip such as 100% of users reached this point, with the number of users in parentheses. Use it to tell whether content below the fold is reaching your audience.

Scroll map overlay showing the scroll-reach gradient over a page, with the Average fold line and a per-depth tooltip

The gradient runs from where every user reached down to where the last user stopped, so a sharp color change marks the depth at which people drop off.

The panel beside the screenshot summarizes scroll behavior:

  • Statistics cards report the share of users who scrolled past the average fold and who reached 25%, 50%, 75%, and 100% of the page, each with the underlying count—for example 1 out of 1 users.
  • The Scroll distribution chart plots the number of users against the percentage of the page scrolled. Hover over a point to see how many users reached that depth—for example 0 users reached 90% of the page.

Scroll distribution chart plotting users against percentage of the page scrolled, with a hover reading zero users reached 90 percent

Not seeing a scroll map?

The view may have no scrollable content. If the page fits within the viewport, or scrolling is disabled (for example, overflow: hidden), there's no scroll depth to measure and the scroll map has nothing to show.

Work with screenshots

The interface a user sees changes over time, so each heatmap is tied to a screenshot captured for a point in time. Screenshots come from Session Replay—if the SDK isn't capturing sessions for a page, no screenshot is available.

The screenshot in view is labeled Current screenshot. Expand it to see the other screenshots captured for the page, each with its capture date and device, and select one to view the interaction data against the interface as it appeared then.

Drill into an element

Select a ranked element—from the Top Clickable Actions list or its numbered badge on the screenshot—to open a drilldown drawer for that element. The drawer breaks down how users engage with that one control:

  • Engagement summary cards for the element over the selected time range.
  • A chart of the element's action count across the time range.
  • A Users list of the people who interacted with the element—capped at the top 100, marked with a Top 100 badge—where each row shows the user, session date, platform, and country, and opens its Session Replay.
  • A Start a funnel action that seeds a funnel from the element—see Start a funnel from a heatmap.

Element drilldown drawer for a clicked element, showing total clicks and users interacted, an action-count chart over the time range, and a list of users with session date, platform, and country

Spot user frustration

Product Analytics flags two kinds of frustrated interaction on an element:

  • Rage clicks: rapid repeated clicks on the same element, a sign a user expected something to happen and it didn't.
  • Dead clicks: clicks that produced no response.

Where either is detected, the element carries a badge in Top Clickable Actions showing the share of its clicks that were rage or dead clicks, and its drilldown drawer opens with a frustration-signal banner naming the signal. Use these to find controls that look interactive but don't behave as users expect.

Dead clicks deserve particular attention—they usually mean a control is broken or unresponsive: a button wired to nothing, a handler that silently failed, or a static element that looks clickable. An element with a high dead-click share is often the first thing worth fixing, because users are trying to act and getting no response at all.

Watch the session behind an interaction

Select See session replay to open the Session Replay for the screenshot's session. This takes you from an aggregate click count to the individual session, so you can watch the interaction in the context of the user's full journey—actions, resources, errors, and network activity.

Session Replay opened from a heatmap, showing the recorded session with a breadcrumbs and network timeline

Narrow the data

Narrow the interactions a heatmap includes with session filters. Select an attribute and the values to keep, and the heatmap recomputes over the matching sessions. The available attributes are the same as a funnel step filter—Browser, OS, Device type, Platform, Country, City, URL path, URL domain, URL host, Referrer URL, User email, Account ID, Account name, App version, and Environment. Combine more than one attribute to narrow further.

Start a funnel from a heatmap

From the element drilldown drawer, select Start a funnel to build a funnel seeded from the element—a two-step funnel of the page view followed by the click on that element—then refine the steps in the Funnels view. See Funnels.

Next steps

Measure conversion across a multi-step flow: Funnels.

Last updated on