
Third-Party Tags and INP: GTM, Chat and Consent, Measured
Third-party scripts are the usual cause of failing INP. How to measure what each tag costs on interaction, which hurt most, and how to load them for less.
Writing
10 write-ups from production, newest first. Each one is a problem hit on a real project and how it was diagnosed and fixed.

Third-party scripts are the usual cause of failing INP. How to measure what each tag costs on interaction, which hurt most, and how to load them for less.

Sentry Replay, Hotjar, FullStory and heavy analytics SDKs record every interaction, which costs every interaction. How to measure their share and defer them.

Desktop passes, Lighthouse is clean, Search Console says mobile INP is poor. Why the lab misses it, how to reproduce it.

INP fails in Search Console and the lab shows nothing. How to instrument real users to find which element, event and script is slow, and report it usefully.

INP score tanked on mobile after adding the Cloudflare Turnstile widget? Here is why the embed script blocks interaction and the lazy-load fix that works.

Intercom widget tanking INP on mobile after the May launcher update? Here is why the script blocks the main thread and the lazy-mount fix that holds up.

INP regression after enabling React Compiler on Next.js 16? Here is which memoised event callbacks blow the interaction budget and how to roll back safely.

React 19 Activity component spiking INP past 300ms on mobile after a click? Here is the synchronous commit that triggers the long task and the fix that holds.

Debugging INP regressions in 2026? Wire the Long Animation Frames API to capture the exact slow handler in real users with a working PerformanceObserver.

Lighthouse INP score is green but CrUX field data is failing pages in Search Console? Close the lab-vs-real-user INP gap with focused attribution fixes.