INP: Finding the Slow Interaction in Field Data
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.
Writing
8 write-ups from production, newest first. Each one is a problem hit on a real project and how it was diagnosed and fixed.
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.
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.
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.