INP: The Silent Metric Killing Your Mobile Checkout
Quick answer: INP (Interaction to Next Paint) measures how long your store takes to visibly respond when a shopper taps anything. Google’s bar is 200ms at the 75th percentile of real visits. Stores fail it because third-party app scripts hog the phone’s main thread, so “Add to cart” goes dead for half a second. Fixing it means removing and deferring JavaScript, not buying a faster theme.
There’s a specific moment where mobile checkouts die. It isn’t the page load. The shopper already waited through that. It’s the tap.
They tap Add to cart. Nothing happens. They tap again. Still nothing. Then, 700ms later, two items are in the cart, the page has jumped, and the trust is gone. On a phone, unresponsive and broken are the same feeling.
Google has a name for this: INP.
What INP actually measures
Interaction to Next Paint clocks the gap between a user interaction (tap, click, key press) and the next visual update of the screen. Not the whole action completing; just the page visibly reacting. A button changing state. A cart drawer starting to open. Anything that says “heard you.”
Google grades it from real-visitor data at the 75th percentile, across the entire visit (not just the first click):
| INP | How it feels |
|---|---|
| under 200ms | Instant. Invisible. |
| 200–500ms | Sticky. Shoppers notice but tolerate. |
| over 500ms | Broken. Double-taps, rage-taps, abandonment. |
INP replaced FID in March 2024, and stores that comfortably passed FID often fail INP. FID only measured the first interaction’s delay; INP measures them all, including the expensive ones like opening a filter drawer on a collection page.
Why stores specifically are bad at this
A phone renders your store on one main thread. That same thread has to run every analytics tag, review widget, chat bubble, session recorder, A/B test, and pixel you’ve installed. When a shopper taps while the thread is busy chewing through someone’s JavaScript, the tap queues.
That’s the mechanism. Your customer isn’t waiting for your button. They’re waiting behind a heat-mapping script for a tool nobody has logged into since last year.
Common offenders we find on audits, roughly in order:
- Tag-manager pile-ups: one GTM container quietly firing 25 tags.
- Session recording / heatmaps: among the most main-thread-hungry scripts there are.
- Variant pickers and upsell apps that re-render half the page on every selection.
- Chat widgets loading their entire app bundle up front, just in case.
- Old themes running everything through jQuery event chains.
How to fix tap lag
The honest version: you can’t optimize your way around code that shouldn’t be there. The order of operations is:
- Inventory and remove. Every script earns its place or leaves. Uninstalled-app leftovers go first (and on Shopify there usually are some, we wrote about that here).
- Defer the survivors. Analytics, chat, and pixels don’t need to load before the page is interactive. Load them after, or on first interaction.
- Break up long tasks. Anything occupying the main thread for over 50ms gets chunked or moved off-thread, so taps can cut in line.
- Give instant feedback. Even when work takes time, the button should visually respond immediately. That’s what INP actually clocks.
Measure it on your own store
Open pagespeed.web.dev, test your product page (not the homepage, product pages carry the apps), and read the field data section at the top. If INP is over 200ms, that’s the 75th percentile: a quarter of your real shoppers experience worse.
FAQ
My lab score is green but field INP is red. How? Lab tests barely interact with the page, so they can’t see tap lag. Only real-visitor data exposes INP, which is why it’s the most commonly missed of the three Core Web Vitals.
Is INP a ranking factor? Yes, it’s one of the three Core Web Vitals in Google’s page experience signal. But the bigger cost is the checkout behavior: rage-taps and abandoned carts are immediate, rankings are gradual.
Can I pass INP and still be slow to load? Yes, and vice versa. LCP is “time until they see it,” INP is “speed once they touch it.” Stores need both; shoppers don’t separate them.