Last updated · 2026-08-31

04 · In practice

Where they click.How far they read.

juuna draws click, scroll and attention maps from your own first-party capture: only normalised coordinates and dwell times leave the browser, they travel to your dedicated instance alone, and no third-party heatmap script ever touches your page.

I

The mechanism

How are the maps built?

Two tiny event kinds do all the work. A click is captured as a pair of fractions, where on the page’s full width and height it landed; no element contents, no text, no DOM. A pageview’s scrolling is summarised once, as the deepest point reached plus how long the visitor dwelt in each tenth of the page.

The dashboard turns those into three readings: click density, scroll depth, and attention, the bands of the page that actually held people. When a session recording of the page exists, the click field is drawn over a reconstruction of the real page; without one, over a positional grid.

Autocaptured events are bookkept apart from your product events, so switching the maps on never inflates a pageview or event count.

II

The reading

What do heatmaps actually tell you?

Layout answers that tables cannot give: whether anyone reaches the pricing table, which of two buttons draws the clicks, whether the paragraph you care about sits below the line where attention dies. Read them beside funnels; the funnel says where people leave, the maps often say why.

They are aggregate instruments, and honest ones. A click map cannot tell you what one confused visitor wanted; that is session replay’s job, one view over. And attention here means presence, time with a band of the page in view, not eye tracking.

III

The weight

What does it cost the page?

Capture lives in a small extras file, 1.9 KB gzipped, which the 1.0 KB tag fetches from your own instance only when click or scroll tracking is switched on. There is no heatmap vendor, no third-party script and no extra party to disclose: it is the same SDK, the same pipeline and the same Postgres as the rest of your analytics.

IV

The ledger

The capture, stated as facts

Click events
Two normalised coordinates on the full document; nothing else
Scroll events
One per pageview: deepest point plus dwell per tenth of the page
Page content
Never captured by click or scroll events; backdrops come from masked replay snapshots
Script weight
A 1.9 KB gzipped extras file, served from your own instance
Third parties
None
Switched on by
You; click and scroll tracking are opt-in SDK options
Effect on metrics
None; autocaptured events never count as pageviews or product events

§

Asked and answered

Do heatmaps require a third-party script?
Not here. Capture is part of the juuna SDK, served from your own instance as a 1.9 KB extras file that loads only when you switch the maps on, and every map is computed on your instance from your own events.
Do click maps record what visitors type or read?
No. A click is stored as two fractions of the page’s size, and a scroll summary as a depth and ten dwell times. Page content never leaves the browser through capture; the real-page backdrop under the density field comes from masked session recordings.
What is an attention map?
The page divided into ten horizontal bands, each scored by how long visitors kept it in view. Scroll depth tells you how far people got; attention tells you where they stayed.
Can juuna replace Hotjar for heatmaps?
For click, scroll and attention maps, plus session replay, yes. Hotjar also carries surveys and feedback widgets, which juuna does not attempt; the comparison page states that trade plainly.

Keep reading

Session replay · Web Vitals · Replace your analytics stack · juuna vs Hotjar · The integration docs · Pricing

See where attention actually goes.

Flat plans, everything included; every paid plan is a dedicated instance of your own.