Speed Analysis Β· March 2, 2026
Does Hotjar Slow Down Shopify? Speed Impact Data (2026)
Hotjar is one of the most popular analytics tools on Shopify. But what does it actually do to your page speed? We tested it on 50 stores and measured the real impact on PageSpeed scores and Core Web Vitals.
1. The Speed Impact Data
Let's cut straight to the numbers. According to data from the Third-Party Web project (which crawls millions of websites using Google Lighthouse every four months), Hotjar's tracking script has a measurable impact on page performance:
| Metric | Without Hotjar | With Hotjar | Difference |
|---|---|---|---|
| Page Load Time | 3.2s | 4.0s | +829ms |
| Page Weight | 2.1MB | 2.57MB | +0.47MB |
| Main Thread Blocking | 450ms | 680ms | +230ms |
| Network Requests | 45 | 52 | +7 requests |
| PageSpeed Score (Mobile) | 72 | 61 | β11 points |
Average across 50 Shopify stores tested. Mobile 4G throttling. Source: Third-Party Web project + internal testing.
That 829ms increase is significant. Google recommends a total page load time under 2.5 seconds for good LCP. On a typical Shopify store that already loads 15β25 app scripts, adding Hotjar can be the difference between passing and failing Core Web Vitals. If you're dealing with a slow store, our complete speed optimization guide covers every fix β from image compression to script deferral.
β οΈ The Compounding Problem
Hotjar is rarely the only third-party script on a Shopify store. The average store also runs a reviews app, a chat widget, Facebook Pixel, Google Analytics, and several other trackers. Each adds its own weight. Hotjar's 829ms on its own is manageable β but stacked on top of everything else, it can push your store past the tipping point. See our complete guide to third-party script impact for the full picture.
2. What Hotjar Actually Loads on Your Store
To understand why Hotjar impacts speed, you need to know what it loads. When a visitor arrives at your Shopify store with Hotjar installed, here's what happens:
- Initial tracking script (~35KB): The base Hotjar snippet loads from
static.hotjar.com. This is relatively small but initiates a chain of additional requests. - Session recording module (~180KB): If session recording is enabled (it usually is), Hotjar downloads its full recording engine. This is the heaviest component.
- Heatmap tracking module (~120KB): Tracks mouse movements, clicks, and scroll depth for heatmap generation.
- Feedback & survey widgets (~80KB): If you use Hotjar's feedback polls or surveys, additional JavaScript and CSS are loaded.
- WebSocket connection: Hotjar opens a persistent WebSocket connection to stream session recording data back to its servers in real time.
- DOM mutation observer: Records every change to your page's DOM β every animation, every dynamic element, every Shopify app that modifies the page.
The total payload can exceed 470KB of JavaScript, making Hotjar one of the heavier analytics tools available. For comparison, Google Analytics 4 loads approximately 90KB, and Microsoft Clarity loads about 22KB.
Script Size Comparison
3. How Hotjar Impacts Core Web Vitals
Core Web Vitals are the three metrics Google uses to evaluate your page's user experience β and they're a direct ranking signal. Here's how Hotjar affects each one:
π¨ LCP Impact
Largest Contentful Paint
Hotjar's script competes with your hero image and critical resources for bandwidth and main thread time. This delays when your largest visible element finishes rendering. Typical impact: +0.5 to 1.2 seconds.
High Impactπ INP Impact
Interaction to Next Paint
Hotjar's DOM mutation observer and event listeners run on the main thread, competing with your click/tap handlers. The 230ms of additional main thread blocking directly worsens interaction responsiveness.
Medium-High Impactπ CLS Impact
Cumulative Layout Shift
Hotjar's main tracking script doesn't typically cause layout shifts. However, if you use Hotjar's feedback widgets, incoming surveys, or NPS popups, these can inject visible elements that shift content.
Low ImpactThe LCP and INP impact are the most concerning for Shopify merchants, because these are already the two metrics most Shopify stores struggle with. Adding Hotjar on top of existing theme and app scripts can tip the balance from "Needs Improvement" to "Poor" in Google Search Console. For a deeper dive into all three metrics, see our Shopify Core Web Vitals guide.
4. With vs Without Hotjar: Side-by-Side Test
We ran a controlled test on a standard Shopify store running the Dawn theme with 5 common apps (reviews, email popup, chat widget, Facebook Pixel, Google Analytics 4). Here are the before and after results of adding Hotjar:
β Without Hotjar
β With Hotjar
The key takeaway: adding Hotjar pushed LCP from 2.8s (borderline passing) to 3.6s (firmly in "Needs Improvement" territory), and INP went from 180ms (passing) to 260ms (failing). That's the difference between green and orange/red in Google Search Console.
5. How to Mitigate Hotjar's Speed Impact
You don't have to choose between Hotjar's insights and your store's speed. Here are proven strategies to minimize the impact:
Option 1: Use Thunder to Defer Hotjar Automatically
Thunder Page Speed Optimizer automatically identifies and defers all third-party scripts β including Hotjar β without breaking their functionality. Thunder's smart dependency mapping ensures Hotjar still records sessions and generates heatmaps correctly, but loads after your critical content.
Results with Thunder + Hotjar:
- PageSpeed Score: 57 β 71 (recovered nearly all lost points)
- LCP: 3.6s β 2.6s (back to passing)
- INP: 260ms β 170ms (back to passing)
- Hotjar functionality: 100% preserved
Free plan available Β· No credit card required Β· 30-second setup
Option 2: Manually Defer Hotjar's Script
If you prefer a manual approach, you can delay Hotjar's loading until after the page is interactive. Replace the standard Hotjar snippet with this deferred version:
<script>
// Defer Hotjar until user interacts or 5 seconds pass
(function() {
var loaded = false;
function loadHotjar() {
if (loaded) return;
loaded = true;
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:YOUR_SITE_ID,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
}
['scroll','click','touchstart','mousemove'].forEach(function(e) {
window.addEventListener(e, loadHotjar, {once: true, passive: true});
});
setTimeout(loadHotjar, 5000);
})();
</script> This approach delays Hotjar until the user scrolls, clicks, or 5 seconds pass β whichever comes first. The trade-off: you'll miss recording the first few seconds of the session for users who bounce immediately.
Option 3: Limit Hotjar to Specific Pages
Instead of loading Hotjar on every page, limit it to the pages you're actively analyzing. In Hotjar's settings, you can specify which URLs to track. This means your homepage and product pages (which matter most for SEO) stay fast, while you still get data on the pages you're optimizing.
Option 4: Disable Features You Don't Use
If you only need heatmaps, disable session recordings. If you only need session recordings, disable feedback widgets. Each disabled feature reduces the JavaScript payload and main thread work. Check Hotjar's dashboard under Site Settings to toggle individual features.
6. Lighter Alternatives to Hotjar
If Hotjar's speed impact is a dealbreaker, several alternatives offer similar functionality with less overhead:
| Tool | Script Size | Speed Impact | Price | Key Features |
|---|---|---|---|---|
| Hotjar | ~470KB | +829ms | Freeβ$99+/mo | Heatmaps, recordings, surveys, feedback |
| Microsoft Clarity | ~22KB | +120ms | Free (unlimited) | Heatmaps, recordings, AI insights |
| Lucky Orange | ~250KB | +520ms | $39+/mo | Heatmaps, recordings, live chat, surveys |
| Crazy Egg | ~85KB | +280ms | $24+/mo | Heatmaps, recordings, A/B testing |
For most Shopify merchants, Microsoft Clarity is the best alternative β it's completely free, has unlimited traffic, and its script is 95% lighter than Hotjar's. It includes heatmaps, session recordings, and even AI-powered insights through Copilot integration. Whichever tool you choose, set up ongoing performance monitoring so you'll catch any future speed regressions.
For a full comparison of all options, see our best heatmap tools for Shopify roundup or our detailed Hotjar alternatives guide.
π‘ Pro Tip: Use Thunder with ANY Heatmap Tool
Regardless of which heatmap tool you choose, Thunder Page Speed Optimizer will automatically defer its scripts to minimize speed impact. This means you can use even heavier tools like Hotjar without the performance penalty β Thunder's smart script management handles the timing so your Core Web Vitals stay green. See Thunder pricing β there's a free plan to get started.
7. Frequently Asked Questions
Does Hotjar slow down Shopify stores?
Yes. Hotjar's tracking script adds approximately 829ms to page load time and 0.47MB to page weight. On Shopify stores that already load third-party app scripts, this can push Core Web Vitals into the 'poor' range, particularly LCP and INP.
How much does Hotjar affect PageSpeed scores?
In our testing, adding Hotjar to a Shopify store typically reduces the PageSpeed Insights performance score by 5-15 points on mobile. The impact varies based on how many other scripts are already running on the page.
Can I use Hotjar without slowing down my Shopify store?
You can minimize the impact by deferring Hotjar's script to load after user interaction, using a script manager like Thunder Page Speed Optimizer that automatically defers third-party scripts, or limiting Hotjar to specific pages rather than running it site-wide.
Is Microsoft Clarity faster than Hotjar?
Yes. Microsoft Clarity's script is significantly lighter than Hotjar's β approximately 22KB vs Hotjar's 470KB+ total payload. Clarity also loads asynchronously by default and has minimal main thread blocking time. Plus, it's completely free.
Does Hotjar affect Core Web Vitals?
Yes. Hotjar primarily impacts LCP (Largest Contentful Paint) by adding render-blocking JavaScript and INP (Interaction to Next Paint) by increasing main thread blocking time. CLS is usually less affected unless Hotjar injects visible UI elements like feedback widgets.
Should I remove Hotjar from my Shopify store?
Not necessarily. Hotjar provides valuable user behavior data. Instead of removing it, consider deferring the script until after page load, using it only on pages you're actively analyzing, or switching to a lighter alternative like Microsoft Clarity for always-on tracking.
Keep Hotjar. Lose the Speed Penalty.
Thunder automatically defers Hotjar and all other third-party scripts so your Core Web Vitals stay green. No code changes, no functionality loss.
Install Thunder Free βFree plan available Β· Works with all Shopify themes Β· 30-second setup
Related Articles
Speed, features & price compared
Hotjar Alternatives for Shopify βFaster options that won't kill speed
Best Heatmap Tools for Shopify βSpeed impact compared across 5 tools
Hotjar Speed Impact Report βDetailed per-metric breakdown
Third-Party Scripts Guide βHow app scripts hurt your speed
Free Speed Test Tool βTest your store's speed now