Interaction to Next Paint measures how long the page takes to visually respond when someone taps. On a contractor site, the taps that matter are the call button and the quote form. Those are exactly the elements that page builders wrap in the most JavaScript.
The typical failure looks like this: a tap on 'Request a quote' takes 480 ms to show any change because a chat widget, a heat-map script, and a form validation bundle all wake up on first interaction.
Our fix list, in order of impact: defer the chat widget until first scroll or 5 seconds, replace the form plugin with a native form posting to a server function, and drop analytics duplicates - most sites we audit are running two tag managers.
Median result across 22 remediations: INP from 410 ms to 118 ms, and a measurable lift in form completion because the button stops feeling broken.