Website heatmaps for sites and webviews

See what people actually do.

Add one line to your site or webview. See where people click and tap, and how far they scroll, drawn over a picture of your real page.

  • Under 6 KB
  • No cookies
  • Websites and webviews

Clicks

On the element, not the pixel.

The same button sits in a different place on every screen. So we record the element and where on it people clicked, and every click lands back on the right thing at any width.

Stable selectors, not class names, so a rebuild of your CSS doesn't lose your history. Scroll, and watch the page reflow under its heat.

Scroll depth

How far they got.

Every page shows the share of views that reached each depth, in 5% steps, with a line at the average fold. You'll see where your page stops being read.

An attention map sits beside it, showing how long people actually spent at each depth, and each device gets its own.

Webviews

Inside your app, too.

Taps are counted where iOS fires no click. Pages that scroll inside an element instead of the document are measured properly, not as 100% on arrival.

Copy-paste setup for iOS WKWebView, Android WebView and React Native WebView.

The dashboard, running.

These are the real charts from the app, running in your browser on sample data. Hover them.

One line.

Paste it into your page, and your site verifies itself on its first real visit.

Your site's head
<script async src="https://d3hkloc4hxgq2b.cloudfront.net/t.js" data-site="mz_yoursiteid"></script>
  1. 1

    Add your domain

    Type it in. We give you the line with your own site id in it.

  2. 2

    Paste the line

    In your HTML, your tag manager, or your app. Single-page apps are detected.

  3. 3

    See it verify

    The first real visit flips your site to verified by itself, and its data starts showing.

Safe to install. Light to run.

It goes on your page, in front of your visitors, so it has to behave.

Under 6 KB

5.5 KB gzipped, of a 6 KB budget

It loads async, and the build fails if it ever goes over budget. The snapshot code is a separate file, loaded only when a page needs one.

No cookies

document.cookie // untouched
sessionStorage // one random id, gone with the tab

Daily visitors are a hash whose salt is deleted after two days, so it can't be worked backwards. IP addresses are used only for that, in memory, and never stored.

Nothing they type

••••••••••••

Form values, textareas and editable text are never captured. Email addresses and long numbers are scrubbed in the browser, and again on the server.

Rage and dead clicks

Three clicks within a second and 30 pixels is rage. A click that changes nothing within half a second is dead. Both are flagged on the map.

Mask what you like

<div data-mz-mask>
<div data-mz-ignore>

Mark what stays out of snapshots: masked text becomes dots and pictures become boxes. Or turn on masking for a whole site in its settings.

It takes no for an answer

In the EEA, the UK and Switzerland it waits for your cookie banner: nothing is stored or sent until maximizii.consent(true). Everywhere, it stays off for Global Privacy Control and Do Not Track, and maximizii.optOut() stops it for good.

Delete means delete

Deleting a site removes its pages, rollups, heat, snapshots and raw batches. Query strings are never sent in the first place, since they often hold tokens and emails.

Questions

What is Maximizii?

A website heatmap tool. Add one line of code, and it draws where people click and tap and how far they scroll over a picture of your real page, for phones, tablets and desktops. It works inside mobile app webviews too.

Is it free?

There’s no paid plan yet, so it costs nothing today. Each account gets 10 sites, 2 million events a month per site, 2,000 pages per site and 90 days of data.

Does it record sessions?

No. Maximizii has no session replay. It adds up what everyone did on a page into maps, so there’s no recording of any one person. If you need to watch individual visits, read heatmaps vs session replay.

Will it slow my site down?

The script is under 6 KB gzipped and loads async, so it doesn’t hold up your page. The code that takes a picture of the page loads separately, only when a page needs one.

Does it need a cookie banner?

It sets no cookies and stores no IP addresses, but that doesn’t settle it on its own. By default, visitors in the EEA, UK and Switzerland aren’t counted until your consent banner calls maximizii.consent(true). Here’s how that works.

Can it see inside my mobile app?

Yes, for pages in a webview: there’s setup for iOS, Android and React Native. It can’t see native screens. See webview analytics.

How is it different from Hotjar or Microsoft Clarity?

Those are bigger products with session replay, and Hotjar adds surveys and more. Maximizii does heatmaps only, with a script under 6 KB and no cookies, and treats webviews as a first-class place to run. See Hotjar and Clarity.

Find out where they click.