Analysis
Heatmaps
Click and scroll heatmaps for any recorded page, per device class, drawn over the page as people saw it. They are built from session recordings, so the browser script does not grow and a site that never turned replay on records nothing new for them. On the cloud they are part of the Pro plan and above; a self-hosted install has them on every site.
Turning them on
- Switch replay on for the site (Dashboard → Site settings).
- Add
data-replayto the script tag on the pages you want mapped. - Open Heatmaps; pick a page, a device class (desktop, tablet, mobile) and clicks or scroll depth.
How it is computed
- Device class from the viewport width: desktop ≥ 1024 px, tablet ≥ 640 px, mobile below.
- A click is placed at the viewport point plus the scroll position at that moment: x as a share of the viewport width, y in page pixels.
- Scroll depth is the deepest pixel each page view reached; the map shows the share of views that got at least that far, with 75%, 50% and 25% lines.
- The page underneath is the latest masked snapshot of that page on that device class, rendered in a sandboxed frame with scripts disabled — exactly as replay plays it, so text stays masked unless the site unmasked it.
Limits, stated
- It is a sample: recorded visits only, at the site's sample rate. The page says how many recordings and views it read.
- x scales with width, y does not. Right for centred or fluid layouts; approximate for a page that reflows a lot within one device class.
- Client-side routes of a single-page app have no snapshot of their own: their clicks count and are drawn over the latest snapshot of the page, or a blank page of the right width.
- The latest 300 recordings in the range are read.
API
GET /api/heatmap?site=SITE_ID&path=/pricing&device=mobile&days=30
Returns the clicked cells, scroll reach per 100 px, the page picker and the snapshot, with the query that chose the recordings. Members only; a share link cannot open it.