Skip to content

Heatmaps

Heatmap vs Session Replay: Which Question Each Answers

A heatmap shows where many visitors clicked or scrolled on a page; session replay shows what one person did and why. When to use each, and how to combine them.

Published · Updated · 7 min read

The difference between a heatmap and session replay is the unit you look at. A heatmap aggregates many visits to one page into a single coloured overlay, so it answers "what does the crowd do here?". Session replay rebuilds one visit in order, across pages, so it answers "what did this person see, and what happened next?".

Both are useful, and they fail in different places. This post goes through the types of heatmap, what each one hides, what replay shows instead, and a practical way to decide between heatmaps and session recordings for a given question. For the wider picture with funnels and product analytics, see session replay vs analytics.

What is the difference between a heatmap and a session recording?

A heatmap is a summary. The tool collects interaction coordinates from many visits, maps them onto a picture of the page, and colours areas by how much activity landed there. Individual visits disappear into the average by design.

A session recording is the opposite: nothing is summarised. On the web, a modern recorder captures the page structure and every change to it, plus clicks, scrolls and input (masked), and a player rebuilds the visit on a timeline. You see the order of events, the state of the page at each moment, and what the person did after something went wrong.

The three common types of heatmap

TypeWhat it plotsGood for
Click (or tap) mapWhere clicks landed, by position or by elementSeeing which calls to action get used, and clicks on things that are not links
Move (hover) mapWhere the mouse pointer spent timeA rough, indirect hint of attention on desktop; not available on touch screens
Scroll mapHow far down the page visitors got before leavingDeciding whether important content sits too low on a long page

Move maps deserve the most caution: pointer position is not gaze, and people park the cursor while they read.

What heatmaps hide

Every heatmap has to decide which version of the page a click belongs to. On a static marketing page that is simple; on most modern products it is not.

  • Dynamic content. Menus, modals, accordions, tabs and carousels change what is on screen without changing the URL. A click recorded on an open dropdown may be drawn over whatever sits in that spot on the base screenshot.
  • Single-page apps. When routes change through the History API, the tool has to notice the change and group interactions by the right view. How well that works depends on the tool, so check its documentation for single-page app support before trusting a map of a logged-in product.
  • Responsive breakpoints. The same element sits in different places on a phone, a tablet and a wide monitor. Maps are usually split by device class, but a layout that changes between two desktop widths can still blur together.
  • Averages hiding segments. New visitors and returning customers behave differently. If a small group clicks a broken element repeatedly, their clicks can look like a faint warm spot inside everyone else's normal behaviour.
  • Order and outcome. A heatmap shows that a button was clicked often. It cannot show whether those clicks worked, whether they were the same person clicking again, or what happened afterwards.

What session replay shows instead

Replay keeps everything a heatmap throws away: the sequence, the state and the individual. When a heatmap shows heavy clicking on a product image, a recording shows one visitor clicking it, waiting, clicking again, then scrolling back up to hunt for a zoom button. That is a rage click with context, and it tells you what the visitor expected.

Because a DOM recording replays the page as it was, open menus, validation messages and route changes appear exactly when they happened. AnyReplay detects single-page app route changes automatically and puts a marker on the timeline, and flags sessions with script errors and rage clicks so you can filter to them. What replay cannot do is tell you whether a behaviour is common. For that you need a count, and a heatmap is one way to get it.

Which is better, heatmaps or session recordings?

Neither in general. Pick by the shape of the question.

QuestionBetter toolWhy
Do people scroll far enough to see the pricing table?Scroll mapA population question about one page
Which of the three hero buttons gets used?Click mapRelative use across many visits
Are people clicking something that is not clickable?Click map first, then replayThe map finds the spot; replay shows what they expected
Why did this customer fail to check out?Session replayOne person, several steps, in order
What happens after the address form shows an error?Session replayDepends on state and sequence
Does the mobile menu work on small screens?Session replayDynamic content that a static map flattens
Is a bug real, and how do you reproduce it?Session replayA recording of the steps

Can heatmaps work on single-page apps?

They can, with limits. The tool has to detect virtual page views, group interactions by view rather than by URL alone, and draw them on a snapshot that matches what the visitor saw. Content that only exists after an interaction, such as a filtered list or an open panel, is the hardest part. If your product is mostly one long-lived screen with changing state, expect to lean on recordings for anything beyond broad click patterns.

Sample size: crowds versus a handful of sessions

A heatmap needs volume to mean anything. With only a few visits, a single enthusiastic clicker can colour a region, and the picture looks as confident as one built from thousands. Before acting on a map, check how many visits it contains and whether the segment you care about is large enough to show up.

Replay works the other way round. You are not estimating a rate, you are looking for causes, so a handful of well-chosen sessions can be enough. Keep watching while new sessions keep showing new problems, and stop when they stop. The catch is that a handful of sessions tells you a problem exists, not how often it happens; confirm the size with numbers before a redesign. How to analyze session recordings covers choosing and reviewing sessions.

Do I need both?

Many teams do, and they work well in sequence.

  1. Use a click or scroll map to find a page region that behaves unexpectedly.
  2. Open recordings of visits to that page, filtered to sessions with rage clicks or errors where possible, and watch what people were trying to do.
  3. Write down the cause, ship a fix, and check the map again once enough new visits have arrived.

AnyReplay does not build heatmaps. It is a session replay product for the web and React Native, focused on finding the right session, masking at the source and translating recorded sessions for reviewers in other languages. If heatmaps matter to you, tools such as Hotjar and Microsoft Clarity are generally known for offering heatmaps alongside recordings; check their sites for current features and limits. Our roundups of Hotjar alternatives and Microsoft Clarity alternatives compare the options neutrally.

Privacy differences

Heatmaps are aggregated, which tends to make them less sensitive to look at: a coloured overlay does not show what any one person typed. The underlying collection can still involve personal data, so treat it with the same care.

Recordings are personal by nature, because they follow one person through your product. That makes the defaults important. AnyReplay masks form fields unless you set maskAllInputs: false, always masks passwords, one-time codes and payment fields whatever you configure, lets you mask page text with ar-mask and remove elements with ar-block, and does all of it in the browser before anything is sent. Retention defaults to 14 days per organisation. For the legal side, read session replay and GDPR.

Frequently asked questions

What is the difference between a heatmap and a session recording?

A heatmap aggregates clicks, pointer movement or scroll depth from many visits onto one page image. A session recording rebuilds a single visit in order, across pages, including what happened after each action.

Which is better, heatmaps or session recordings?

It depends on the question. Heatmaps suit population questions about one page, such as scroll depth or which button gets used. Recordings suit questions about causes, sequences, bugs and individual customers.

Can heatmaps work on single-page apps?

Often, with limits. The tool must detect route changes and match clicks to the right view. Content that appears only after an interaction, such as open panels or filtered lists, is hard to represent on a static map.

Do I need both heatmaps and session replay?

Not always, but they combine well. A heatmap can point to a page region that behaves oddly, and recordings of visits to that page explain why. AnyReplay provides replay only, so pair it with a heatmap tool if you need maps.

Start free — 1 project, 500 sessions a month

Install the snippet, record a session, and watch it back in your own language.