We Tested 5 Chat Widgets with Google Lighthouse — Here’s What Happened
Real Lighthouse benchmarks of popular chat widgets. We measured performance scores, Total Blocking Time, unused JavaScript, and third-party cookies.
Every chat widget promises to be "lightweight." We decided to actually test that claim.
Your chat widget runs on every page of your site. If it's slow, everything is slow. Google uses Core Web Vitals as a ranking signal, which means a bloated widget doesn't just hurt user experience—it hurts your SEO. We ran Google Lighthouse on five popular chat widgets to get real numbers.
How we tested
Simple and reproducible—anyone can verify:
- Baseline: A minimal HTML page with no scripts. Scored 98 on Lighthouse.
- One widget at a time: Each widget was added using its official embed snippet. No other scripts present.
- Google Lighthouse via Chrome DevTools with mobile throttling (simulated Slow 4G, Moto G Power emulation).
- Metrics tracked: Performance Score, Total Blocking Time (TBT), unused JavaScript loaded, long main-thread tasks, third-party cookies, and Best Practices score.
Mobile throttling is key. Most audits run on fast desktops, which hides the real cost of heavy JavaScript. Simulated 4G shows what your actual mobile visitors experience.
The results
| Widget | Perf Score | TBT | Unused JS | Long Tasks | Cookies |
|---|---|---|---|---|---|
| GhostChat | 98 | 140 ms | 367 KB | 3 | 0 |
| Crisp | 98 | 150 ms | 369 KB | 3 | 0 |
| LiveChat | 99 | 140 ms | 519 KB | 4 | 5 |
| Tidio | 95 | 260 ms | 622 KB | 10 | 0 |
| Tawk.to | 84 | 620 ms | 682 KB | 9 | 5 |
Performance score only tells part of the story. Google's Best Practices audit flags third-party cookies, security issues, and other problems that affect user trust:
| Widget | Best Practices | 3rd-Party Cookies |
|---|---|---|
| GhostChat | 100 | 0 |
| Tidio | 100 | 0 |
| Crisp | 96 | 0 |
| LiveChat | 77 | 5 |
| Tawk.to | 77 | 5 |
What the numbers mean
Tawk.to: the heaviest by far
Tawk.to dropped the Lighthouse score from 98 to 84—a 14-point hit on a blank page. It loaded 682 KB of unused JavaScript, blocked the main thread for 620ms, and injected 5 third-party cookies. On a real site with existing scripts, images, and fonts, the impact compounds. A widget adding 620ms of blocking time can push a borderline site from "good" to "needs improvement" in Core Web Vitals.
Tidio: heavy JavaScript, decent score
Tidio scored 95—respectable but not great. The real concern is under the hood: 622 KB of unused JavaScript and 10 long main-thread tasks, the most of any widget we tested. No cookies though, which is a plus for privacy.
LiveChat: fast but cookie-heavy
LiveChat surprised us with a 99 Performance score—the highest in our test. But it dropped Best Practices to 77 by injecting 5 third-party cookies and loaded 519 KB of unused JavaScript. If you care about GDPR compliance or running without cookie banners, LiveChat creates a problem that its performance score hides.
Crisp: genuinely lightweight
Credit where it's due—Crisp performed well. 98 Performance, 150ms TBT, no cookies. It's the closest competitor to GhostChat in pure Lighthouse terms. The difference comes down to Best Practices (96 vs our 100) and what happens beyond the benchmark: pricing, setup complexity, and feature bloat as you enable add-ons.
The hidden cost: setup complexity
Lighthouse measures what happens after the widget loads. It doesn't measure how long it takes to get there. During our testing, we signed up for every widget to get their embed code. The difference was striking:
- GhostChat: One script tag. Paste before
</body>. Done. No account required to test. - Tawk.to: Multi-step onboarding wizard—organization name, website URL, widget customization screens before you get the embed code.
- Tidio: 6-step onboarding checklist including connecting Instagram, Facebook, WhatsApp, installing desktop/mobile apps, and feeding an AI agent before you can start chatting.
- LiveChat: Guided setup requiring organization details, team invites, and platform selection before revealing the embed snippet.
- Crisp: Relatively quick signup, but still requires account creation and workspace setup before you get the code.
If you just want to talk to your website visitors, most of these tools ask you to set up an entire support infrastructure first. GhostChat gives you a script tag and gets out of the way.
What this means for your site
- Every 100ms of TBT costs conversions. Google's research shows that mobile pages losing 100ms of responsiveness see measurable drops in engagement. Tawk.to adds 620ms of blocking time—that's real visitors bouncing.
- Core Web Vitals affect rankings. Since the Page Experience update, sites with poor CWV scores can lose positions to faster competitors. Your chat widget is part of that equation.
- Third-party cookies are a liability. With Chrome phasing out third-party cookies and GDPR enforcement increasing, widgets that inject tracking cookies create compliance risk and require cookie consent banners. That's more friction before a visitor can even say hello.
- Mobile users feel it most. Our test simulated 4G—a best-case mobile scenario. On 3G or congested networks, 682 KB of unused JavaScript is devastating.
Why GhostChat matched the baseline
GhostChat scored 98—identical to the page with no widget at all. That's not an accident:
- ~10 KB total, deferred loading. The widget loads with
deferand doesn't block your page's critical rendering path. - No external dependencies. No React, no jQuery, no UI framework. Pure, hand-optimized JavaScript.
- Single WebSocket connection. No HTTP polling, no beacon requests. One connection, minimal overhead.
- Zero cookies, zero tracking. Nothing to consent to. No cookie banners required. Best Practices stays at 100.
Lighthouse literally cannot tell the difference between a page with GhostChat and a page without it.
Want to see how your current chat widget affects your site? Test your own site with our free speed test tool.
Try GhostChat free
One script tag. Zero performance impact. Zero cookies. Set up in 30 seconds.