Skip to article
On this page

Microsoft Clarity explained: free heatmaps and replays

NyXi

NyXi

7 min read

Microsoft Clarity records how people actually use your pages: heatmaps, session replays, rage clicks and dead clicks. What the project ID identifies, how it pairs with GA4.

If Tag Explorer has shown you a card in the Heatmap and replay category with a short jumble of letters and numbers as its title, that is Microsoft Clarity. It is a free behaviour analytics tool from Microsoft, and it does something ordinary analytics cannot. Paste your page into Tag Explorer to see this tag on your own site.

GA4 tells you how many people reached a page and how many went on to enquire. Clarity shows you what happened in between: where people clicked, how far they scrolled, where they hesitated, and what they did just before giving up. It is the difference between a number that says a page is underperforming and a thirty second replay that shows you why.

What it actually does

Clarity watches sessions on your site and turns them into three things you can look at.

Heatmaps aggregate behaviour across many visits into one picture per page: click maps showing what people press, and scroll maps showing how far down the page they get before they stop. A scroll map is often the fastest way to prove that nobody ever reaches your enquiry form.

Session replays reconstruct individual visits as a playback of mouse movement, clicks, scrolling and page changes. It is not video of the visitor’s screen, it is a recording of the interactions replayed against your page.

Behaviour signals are the part people underestimate. Clarity flags rage clicks where someone jabs the same element repeatedly, dead clicks where they click something that does nothing, excessive scrolling, and quick backs where a visitor lands and immediately retreats. Each of those points at a specific element that is failing, rather than at a vague page-level problem you then have to go hunting for.

What the ID means

Clarity identifies your site with a project ID: a short string of lowercase letters and digits with no prefix and no hyphen, something like tsv7z9kr88. One project is normally one website.

The ID appears twice in the tracking snippet, once as a configuration value and once inside the URL the script is fetched from, which takes the shape clarity.ms/tag/<project id>. Data then goes back to Clarity as requests to clarity.ms/collect, which is the thing to look for in the browser DevTools Network tab if you want proof it is running.

You will find your own ID in Clarity under Settings, then Setup. Match it against what a scan of your site reports. A mismatch means the site is feeding a project somebody else set up, which happens more often than you would think after an agency change.

There are three normal ways in, and Microsoft documents all of them in the Clarity setup guide.

The snippet can be pasted directly into the site’s <head>, which is the hard-coded route. It can be added through Google Tag Manager using the official Microsoft Clarity template, which is the tidiest option because it keeps the ID somewhere you can see and change it. Or it can come from a platform integration or plugin, in which case the ID usually lives in a settings field.

Clarity also links to GA4. Once connected, a GA4 segment can be opened as the matching Clarity replays, so a report showing that a page converts badly leads straight to footage of people failing on it. That pairing is the main reason Clarity and GA4 sit together on so many sites rather than competing.

Clarity masks sensitive content by default, so text and form inputs appear as blocks in a replay instead of readable values. That default is doing real work: without it, a replay of a checkout is a recording of somebody typing their details. If you loosen masking to debug a form, tighten it again afterwards.

Clarity uses cookies to stitch a visitor’s page views into one session. Where consent rules apply to your traffic, that puts it in the same bucket as analytics: it should sit behind your consent platform and respect the signal, and Clarity has a documented consent mode for exactly this. Treat that as a question for whoever advises you on consent obligations, not a setting to guess at.

What this looks like in Tag Explorer

Tag Explorer draws your page as a tree. Each Tag Manager container is a branch, the tags inside it are leaves underneath, and anything hard coded into the page HTML sits under DIRECT ON PAGE.

Clarity appears as a Heatmap and replay card, with the project ID as the card title and the tag type as the subtitle. The info icon opens a short definition and the Learn more link that brought you here.

The useful reading is where it sits in the tree. Under a container means somebody can change it without touching the site’s code. Under DIRECT ON PAGE means it is baked into the template or added by a plugin. Under both means it is installed twice, and the tool will show a duplicate banner and tint the affected cards red with an attention badge.

Two limits are worth stating. The public container file never contains the human names you gave your tags, only the tag type and the tracking ID, so a scan cannot tell you a tag is called “Clarity, new project”. And the tool reads the published container only, so a Clarity tag added in a Tag Manager workspace that nobody submitted will not appear. A scan proves Clarity is installed, not that it fired. For firing, use the live view inside Clarity or watch for clarity.ms/collect requests in DevTools.

What to do if it is missing, duplicated or dead

Missing. No Clarity card means no behaviour data is being collected for that page, and unlike a report you can rerun, this gap cannot be filled in later. Check the tag exists in your container, that its trigger covers all pages rather than just the homepage, and that the container version was published. Then scan a second page, because a replay tool that only loads on the front page will never show you the journey that matters.

Duplicated. Two cards carrying the same project ID means two copies of the script are running, usually a plugin install plus a Tag Manager install added later by someone who did not know about the first. Keep one, and prefer the Tag Manager copy because it is the one you can change without a developer. Two cards with different project IDs is the more confusing case: the site is feeding two projects, so neither holds a complete picture. Decide which project you actually log into, and remove the other.

Dead or stale. Clarity is current, so the tag is not dead by age. The stale pattern is a project ID nobody can access, left behind by a previous agency, quietly recording your customers into an account you have no rights over. That is worth resolving quickly: create a project you own, swap the ID, and treat the old recordings as gone.

If you are not sure whether your Clarity is installed once, twice, or into an account you cannot open, run the page through Tag Explorer and read the project ID off the card. Turning what those replays show into pages that actually convert is what our content and SEO structure work does, because watching people fail on a page is only useful if somebody then fixes the page.

Frequently asked questions

What does a Microsoft Clarity project ID look like?

It is a short string of lowercase letters and digits, something like tsv7z9kr88, with no prefix and no hyphen. It appears in the tracking script and in the URL the script loads from clarity.ms. You will find yours in Clarity under Settings, then Setup.

Is Microsoft Clarity really free?

Yes. Clarity has no paid tier and no traffic threshold that switches billing on, which is why it turns up on sites of every size. The trade is that it is a behaviour tool rather than a full analytics platform, so it complements GA4 rather than replacing it.

Does Clarity record my customers' personal details?

By default Clarity masks sensitive content, so form inputs and text appear as blocks rather than readable values in a replay. You can loosen or tighten that masking, and tightening it is usually the right instinct. Anything you deliberately unmask becomes visible to everyone with access to the project.

Can I run Clarity and Hotjar at the same time?

Technically yes, and nothing breaks, but you are paying twice in page weight for largely the same answers. Each replay tool adds a script that watches the page continuously. Pick the one your team will actually open and remove the other.

Why can I see Clarity in a scan but no recordings in my dashboard?

A scan proves the tag is installed on the page it looked at, not that data reached Clarity. Common causes are a consent banner blocking the script until someone accepts, a project ID belonging to a different account, or bot filtering removing the only sessions so far. The live view in Clarity settles it in a minute.

More articles