Interaction to Next Paint punishes the JavaScript and main-thread work that homepage LCP screenshots often miss. Agencies need a checklist that survives tag-manager Tuesday.
Why INP shows up after “we fixed speed”
Teams ship a lighter hero, celebrate LCP, then add a chat widget, A/B script, or heavy menu. INP captures how long the page takes to respond to taps and clicks. Lab tools approximate interaction cost; field CrUX is the score that reflects real users when the sample is eligible. If you only run load tests, you will keep rediscovering INP in Search Console after the fact.
Checklist before you call INP done
- Identify the templates where users actually click (nav, filters, add to cart, forms), not only the homepage hero.
- Note which third parties load on those templates and who owns each tag.
- Capture a lab baseline after a clean build, then another after marketing tags are restored.
- Check CrUX INP when available; treat missing field data as “unknown,” not “fine.”
- Retest after each major script change, not only after design launches.
Monitoring vs a single diagnostic
A GTmetrix or PSI session is useful when you already suspect a script. Scheduled monitoring is what tells you the regression appeared on Wednesday after the promo tag went live. Apogee Watcher keeps PSI history on pinned URLs so INP-related lab signals have dates. For deep main-thread profiling, keep your diagnostic tooling in the kit.
Related GitHub templates
- cwv-monitoring-checklist
- slack-alert-policy-template — who gets notified when interaction metrics regress
- performance-budget-thresholds-template
- core-web-vitals-checklists — index