Microsoft Clarity: The Free Analytics Tool You’re Probably Ignoring (And Shouldn’t)


Introduction

While you’re paying $99/month for Hotjar or wrestling with FullStory’s enterprise pricing, Microsoft Clarity sits quietly in the corner doing the exact same thing. For free. With no session limits. No traffic caps. No “upgrade to see more features” popups.

Sounds too good to be true? I thought so too. But after implementing Clarity across multiple projects over the past years, I can tell you: it’s legitimate, it’s powerful, and it’s criminally underused.

This guide will walk you through everything you need to know about Microsoft Clarity: what it is, why it matters, how to implement it properly, and real-world use cases that prove its value.

What is Microsoft Clarity?

Microsoft Clarity is a free behavioral analytics tool that helps you understand how users actually interact with your website. It’s not about pageviews or bounce rates (you have Google Analytics for that). Clarity shows you the why behind the numbers.

Think of it this way: Google Analytics tells you that 80% of users are bouncing from your product page. Clarity shows you why they’re bouncing by letting you watch exactly what they did before leaving.

The tool was launched by Microsoft and is built on the same technology that powers their internal analytics. It’s open-source (you can check the code on GitHub), privacy-focused (GDPR and CCPA compliant), and genuinely free forever. No catch. No bait-and-switch.

Core Features

1. Session Recordings

Session recordings are exactly what they sound like: video-like replays of real user sessions on your site. You can watch users:

  • Click and scroll through pages
  • Fill out forms (with sensitive data automatically masked)
  • Navigate your menu
  • Interact with elements
  • Abandon processes

Unlike actual video recordings, these are DOM reconstructions, which means:

  • They’re lightweight (no performance impact)
  • Privacy-safe (no actual screenshots)
  • They capture everything including dynamic content changes

2. Heatmaps

Clarity generates three types of heatmaps:

  • Click maps: Shows where users click most frequently
  • Scroll maps: Indicates how far down the page users scroll
  • Area maps: Highlights which sections get the most attention

These heatmaps are aggregated data visualizations. The hotter the color, the more activity in that area.

3. Rage Clicks & Dead Clicks Detection

This is where Clarity gets really interesting:

  • Rage clicks: When a user rapidly clicks the same element multiple times (usually 3+ clicks within 1 second). This indicates frustration—typically because something looks clickable but isn’t working as expected.
  • Dead clicks: Clicks on elements that don’t do anything. Users expect interaction but get nothing.
  • Excessive scrolling: When users scroll back and forth repeatedly, often trying to find something.
  • Quick backs: Users who hit the back button within seconds of arriving.

These automatic frustration signals help you identify UX problems without manually reviewing hundreds of sessions.

4. Dashboard Insights

Clarity’s dashboard provides:

  • Traffic overview (sessions, users, pages per session)
  • Popular pages ranked by engagement
  • JavaScript errors detected on your site
  • Scroll depth metrics
  • Device and browser breakdowns
  • Geographic distribution

5. Filtering and Segmentation

You can filter sessions and heatmaps by:

  • Device type (mobile, desktop, tablet)
  • Browser
  • OS
  • Country
  • Referral source
  • Custom tags (using the Clarity API)
  • JavaScript errors
  • Rage clicks, dead clicks, excessive scrolling
  • Session duration

You can save these filters as custom segments for quick access.

Why Use Clarity? (The Real Benefits)

1. It’s Completely Free

Let me be clear: completely free means:

  • No session limits (some sites track millions of sessions/month)
  • No user limits
  • No feature restrictions
  • No time limits
  • No “upgrade to unlock” nonsense

Competitors charge $30-300+/month for similar features with strict session caps.

2. Privacy-First Design

Clarity automatically:

  • Masks sensitive form fields (passwords, credit cards, etc.)
  • Complies with GDPR and CCPA
  • Doesn’t use cross-site tracking
  • Provides cookie consent APIs
  • Allows you to configure masking rules

For EU/UK/Swiss visitors, Clarity enforces consent requirements.

3. No Performance Impact

Clarity is built to be lightweight:

  • Async script loading
  • Minimal bandwidth usage
  • No perceivable slowdown to your site
  • Tested on sites with millions of visitors

4. Works with Everything

Clarity integrates with:

  • Google Analytics (session linking)
  • Google Tag Manager
  • WordPress, Shopify, Wix, Squarespace
  • Custom implementations via NPM package
  • Most modern websites and frameworks

5. AI-Powered Insights (Copilot)

Clarity’s AI features automatically:

  • Summarize session recordings
  • Identify common patterns
  • Highlight frustration points
  • Generate insights from heatmaps

This saves hours of manual analysis.

How to Implement Microsoft Clarity

Clarity must run client-side in the browser because it needs to:

  • Access the DOM
  • Capture user interactions (clicks, scrolls, mouse movements)
  • Record DOM mutations
  • Use browser APIs

There’s no server-side implementation option—this is fundamental to how behavioral analytics works.

Method 1: Direct Installation (Recommended for Quick Setup)

Step 1: Create a Clarity project

  • Go to https://clarity.microsoft.com
  • Sign in with a Microsoft account
  • Create a new project
  • Get your Project ID (looks like: abc123xyz)

Step 2: Get the tracking code

  • Navigate to Settings → Setup → Install manually
  • Copy the JavaScript snippet

The code looks like this:

<script type="text/javascript">
    (function(c,l,a,r,i,t,y){
        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "YOUR_PROJECT_ID");
</script>

Step 3: Add to your site

  • Paste the code in the <head> section of your website
  • Deploy to production
  • Wait a few minutes for data to appear

Verification: Within minutes, you should see live sessions in your Clarity dashboard.

Method 2: Google Tag Manager (Recommended for Tag Management)

If you use GTM, there are two approaches:

Option A: Official Microsoft Clarity Template (Easiest)

  1. In GTM, create a new tag
  2. Click “Discover more tag types in the Community Template Gallery”
  3. Search for “Microsoft Clarity – Official”
  4. Select the template by Microsoft
  5. Click “Add to workspace”
  6. Enter your Clarity Project ID
  7. Set trigger to “All Pages”
  8. Save and publish

Option B: Custom HTML Tag (More Control)

  1. In GTM, create a new tag
  2. Choose “Custom HTML” as tag type
  3. Paste the Clarity tracking code
  4. Set trigger to “All Pages”
  5. Save and publish

Important Notes:

  • Use your actual Project ID (found in Clarity Settings → Overview)
  • Test in GTM Preview mode before publishing
  • Clarity requires client-side GTM (web container), not server-side

Method 3: NPM Package (For JavaScript Projects)

If you’re building a React/Vue/Angular app:

npm install @microsoft/clarity

Then in your code:

import { clarity } from '@microsoft/clarity';

clarity.start({
  projectId: 'YOUR_PROJECT_ID',
  upload: 'https://www.clarity.ms/collect',
  track: true,
  content: true
});

Advanced Configuration

Custom User Identification

You can identify users with custom IDs:

clarity("identify", "user@example.com", "session-123", "page-home", "John Doe");

This allows you to:

  • Filter sessions by specific users
  • Track users across sessions
  • Correlate Clarity data with your CRM

Custom Tags

Set custom tags for segmentation:

clarity("set", "plan", "premium");
clarity("set", "experiment", "variantA");

Cookie Consent

For GDPR compliance:

// Grant consent
clarity.consentV2({
  ad_Storage: 'granted',
  analytics_Storage: 'granted'
});

// Deny consent
clarity.consentV2({
  ad_Storage: 'denied',
  analytics_Storage: 'denied'
});

Masking Configuration

By default, Clarity masks sensitive content. You can customize:

<!-- Mask specific elements -->
<div class="clarity-mask">Sensitive data</div>

<!-- Unmask specific elements -->
<div class="clarity-unmask">Public data</div>

Real-World Use Cases

Let me share actual case studies from companies using Clarity:

Case Study 1: Scrape.do (+28% Trial Signups)

Problem: High bounce rate on trial signup page, but unclear why.

Clarity Insights:

  • Session recordings showed users clicking secondary elements instead of the main CTA
  • Heatmaps revealed most clicks were on non-primary buttons
  • Landing pages from ads had confusing layouts

Actions Taken:

  • Redesigned signup flow with single, clear CTA
  • Removed distracting elements
  • Focused benefits above the fold
  • Simplified ad landing pages

Results:

  • 28% increase in trial signups
  • 12% increase in ad campaign conversions
  • Improved ROAS significantly

Case Study 2: Supademo (+10% Onboarding Completion)

Problem: Users dropping off during onboarding, but couldn’t pinpoint where or why.

Clarity Insights:

  • Session replays showed users getting stuck at specific steps
  • Many users didn’t understand how to reach key milestones
  • Confusion about where to find core features

Actions Taken:

  • Redesigned onboarding flow based on observed behavior
  • Added contextual guidance at friction points
  • Streamlined path to core features

Results:

  • 10% increase in onboarding completion rate
  • Better long-term user engagement
  • Reduced support tickets about onboarding

Case Study 3: Places for People (+63% Page Views)

Problem: Content sliders getting rage clicks, unclear content hierarchy.

Clarity Insights:

  • Rage clicks on content sliders that didn’t work as expected
  • Users frustrated scrolling through irrelevant content
  • Certain pages had exceptional 50%+ scroll-to-bottom rates

Actions Taken:

  • Removed problematic sliders
  • Reorganized content based on user intent
  • Highlighted high-performing pages
  • Improved navigation structure

Results:

  • 63% increase in page views
  • Reduced rage clicks to near zero
  • Better content discovery

Common Patterns Across Case Studies

  1. Identify frustration signals (rage clicks, dead clicks, quick backs)
  2. Watch session recordings to understand context
  3. Analyze heatmaps for patterns
  4. Hypothesize solutions based on observed behavior
  5. Implement changes
  6. Measure impact with before/after comparison

Clarity vs. Competitors

Clarity vs. Hotjar

FeatureClarityHotjar
PriceFree forever$32-99+/month
Session limitUnlimited100-500/day depending on plan
Heatmaps
Session recordings
Rage/dead clicks✓ Auto-detectedLimited
Surveys/Feedback
Funnels✓ Basic✓ Advanced

Verdict: Clarity wins on cost and session volume. Hotjar wins if you need surveys and advanced funnels.

Clarity vs. Google Analytics 4

These tools complement each other:

  • GA4: Tells you what is happening (metrics, conversions, acquisition)
  • Clarity: Shows you why it’s happening (user behavior, friction points)

Best practice: Use both. GA4 identifies problems in your funnel, Clarity helps you understand and fix them.

Clarity vs. FullStory/LogRocket

FeatureClarityFullStory/LogRocket
PriceFree$199-500+/month
Session replay✓ Advanced
Error tracking✓ Basic✓ Advanced
Console logsLimited✓ Full
Network requests
Target audienceMarketers, UXDevelopers, Product

Verdict: For pure behavioral analytics, Clarity is sufficient. For technical debugging, FullStory/LogRocket provide deeper dev tools.

Limitations and Gotchas

Let’s be honest about what Clarity can’t do:

1. Cannot Track Inside iFrames or Canvas

Clarity can’t capture content inside:

  • Third-party iframes (ads, embedded content)
  • HTML5 canvas elements
  • Cross-origin frames

2. Client-Side Only

As we established earlier, there’s no server-side implementation. Clarity must run in the browser.

3. No Built-in A/B Testing

Clarity shows you behavior but doesn’t run experiments. You’ll need separate tools for A/B testing.

4. Basic Funnel Analysis

Clarity’s funnel features are basic compared to dedicated funnel analytics tools.

5. Data Retention

Session recordings are retained based on Microsoft’s policies. For long-term historical analysis, export data regularly.

6. No Real-Time Collaboration

You can’t share live sessions or collaborate in real-time like some enterprise tools offer.

Best Practices

1. Filter Intelligently

Don’t watch random sessions. Use filters to focus on:

  • Sessions with JavaScript errors
  • Sessions with rage/dead clicks
  • Sessions from specific traffic sources
  • Mobile vs. desktop behavior
  • Converters vs. non-converters

2. Combine with GA4 Data

Link Clarity with Google Analytics to:

  • See Clarity recordings for specific GA4 segments
  • Understand qualitative context behind quantitative data
  • Validate hypotheses from GA4 reports

3. Create Custom Tags

Use the Clarity API to tag sessions with:

  • User type (free, paid, trial)
  • Experiment variants
  • User journey stage
  • Feature flags

This enables powerful segmentation.

4. Review Regularly

Make session review part of your routine:

  • Weekly reviews of high-frustration sessions
  • Monthly analysis of popular pages
  • Quarterly deep dives into user flows

5. Respect Privacy

Always:

  • Implement cookie consent properly
  • Mask sensitive data
  • Inform users about tracking
  • Follow GDPR/CCPA requirements

6. Act on Insights

Clarity is useless if you don’t act. When you spot issues:

  • Document them
  • Prioritize fixes
  • Implement changes
  • Measure impact
  • Iterate

Advanced Use Cases

Developer Debugging

Filter by JavaScript errors to:

  • See exact user actions before errors occur
  • Identify browser-specific bugs
  • Understand error context
  • Reproduce hard-to-catch issues

Form Optimization

Watch users fill out forms to identify:

  • Confusing field labels
  • Validation errors that block submission
  • Fields users skip or struggle with
  • Mobile keyboard issues

Mobile UX Testing

Filter for mobile sessions to:

  • Check tap target sizes
  • Identify horizontal scroll issues
  • Test responsive layouts
  • Validate mobile navigation

Content Strategy

Use scroll heatmaps to:

  • Determine optimal article length
  • Place CTAs at scroll thresholds
  • Identify ignored content sections
  • Optimize content hierarchy

E-commerce Optimization

Track shopping behavior:

  • Product page interactions
  • Cart abandonment patterns
  • Checkout friction points
  • Payment process issues

Integration with Other Tools

Google Analytics Integration

Link Clarity sessions to GA4:

  1. In Clarity, go to Settings → Integrations
  2. Connect your GA4 property
  3. Session recordings will appear in GA4 reports

This allows you to click through from GA4 to watch actual user sessions.

Zapier Integration

Automate workflows:

  • Send high-frustration sessions to Slack
  • Create tickets in Jira for UX issues
  • Export session data to spreadsheets

API Access

Clarity provides APIs for:

  • Custom reporting
  • Data export
  • Integration with internal tools

Conclusion

Microsoft Clarity is the rare combination of “free” and “actually good.” It won’t replace your entire analytics stack, but it fills a crucial gap: understanding why users behave the way they do.

The barrier to entry is non-existent (literally 5 minutes to install), the insights are actionable, and the ROI is immediate. Every site I’ve implemented Clarity on has uncovered at least 2-3 quick wins within the first week.

If you’re paying for Hotjar or similar tools and only using basic session recording and heatmaps, you’re overpaying. If you’re not using any behavioral analytics tool, you’re flying blind.

Try Clarity. You have nothing to lose (it’s free) and potentially significant UX improvements to gain.

Resources

  • Official Documentation: https://learn.microsoft.com/en-us/clarity/
  • Case Studies: https://clarity.microsoft.com/case-studies/
  • Clarity Blog: https://clarity.microsoft.com/blog/
  • GitHub Repository: https://github.com/microsoft/clarity
  • NPM Package: https://www.npmjs.com/package/@microsoft/clarity

Laurent Fidahoussen
Laurent Fidahoussen

Ads & Tracking & Analytics & Dataviz for better Data Marketing and boost digital performance

25 years in IT, 10+ in digital data projects — I connect the dots between tech, analytics, reporting & media (not a pure Ads expert—but I’ll make your campaigns work for you)
- Finding it hard to launch, track, or measure your digital campaigns?
- Not sure if your marketing budget is working—or how your audiences behave?
- Messy tracking makes reporting a nightmare, and fast decisions impossible?
- Still wrestling with Excel to build dashboards, without real actionable insights?

I can help you:
- Launch and manage ad campaigns (Google, Meta, LinkedIn…)
- Set up robust, clean tracking—so you know what every euro gives you back
- Build and optimize events: visits, product views, carts, checkout, purchases, abandons
- Create dashboards and analytics tools that turn your data into real growth drivers
- Streamline reporting and visualization for simple, fast decisions

Curious? Let’s connect—my promise: clear, no jargon, just better results.

Stack:
Ads (Google Ads, Meta Ads, LinkedIn Ads) | Analytics (Adobe Analytics, GA4, GTM client & server-side) | Dataviz (Looker Studio, Power BI, Python/Jupyter)

Articles: 34