If your Shopify store’s Core Web Vitals report suddenly shows a “Needs Improvement” or “Poor” rating that wasn’t there before, there’s a reasonable chance nothing on your site actually changed, Google changed the metric. In March 2024, Google replaced First Input Delay (FID) with Interaction to Next Paint (INP) as the official Core Web Vital measuring responsiveness. INP is a much stricter, more comprehensive metric, and it has exposed a problem that was mostly invisible under the old scoring: how much damage third-party Shopify apps do to a page’s responsiveness.
This post explains what INP actually measures, why Shopify stores are particularly exposed to it, and which categories of apps tend to be the real culprits, with a practical approach to finding and fixing the worst offenders on your store.
What INP Actually Measures (and Why It’s Different From FID)
FID only measured the delay before the browser could respond to the very first interaction on a page, a narrow, forgiving snapshot. INP measures responsiveness across the entire page visit, looking at every click, tap, and key press and reporting the worst (or near-worst) interaction latency observed during the session.
That distinction matters enormously for ecommerce. A shopper doesn’t just click once, they open a size selector, click “add to cart,” open a cart drawer, maybe interact with a chat widget or a quantity stepper. INP is scored on the worst of these interactions, not the first. A page can have a fast initial load and still score poorly on INP if any single interaction later in the visit takes too long for the browser to respond to.
Google’s thresholds for INP are:
– Good: 200 milliseconds or less
– Needs Improvement: 200-500 milliseconds
– Poor: over 500 milliseconds
Why Shopify Stores Are Particularly Exposed
Shopify’s core platform is fast, the checkout, the base theme rendering, and Shopify’s own infrastructure aren’t usually the bottleneck. The problem is almost always what gets added on top: apps, each of which typically injects its own JavaScript, often loaded synchronously, often running on the main thread at the same time a shopper is trying to interact with the page.
A single app rarely tanks INP on its own. The damage compounds, five or six apps each adding a moderate amount of JavaScript execution time, all fighting for the same main thread, is what pushes a store from “Good” into “Poor” territory. This is why INP problems are often hardest to diagnose on stores that have been running for a while and have accumulated apps gradually, with no one ever auditing the cumulative effect.
The App Categories That Do the Most Damage
Not all apps are equally harmful, and it’s worth knowing where to look first:
Live Chat and Support Widgets
Chat widgets are one of the worst common offenders. Many load a substantial JavaScript bundle on every page, often initialising eagerly on page load rather than deferring until a shopper actually interacts with the widget. Because they frequently attach global event listeners across the whole page, they can add latency to interactions that have nothing to do with the chat widget itself.
Upsell and Cross-Sell Popups
Post-add-to-cart upsell apps, exit-intent popups, and “customers also bought” widgets frequently run DOM manipulation and re-render logic in response to user actions, precisely the kind of work INP penalises when it blocks the main thread during a click or tap.
Personalisation and Recommendation Widgets
Apps that dynamically reorder product recommendations, run on-page quizzes, or personalise content based on browsing behaviour tend to run continuous background scripts that compete for the main thread, even when the shopper isn’t directly interacting with them.
Reviews Widgets With Heavy Interactive Elements
Basic star display is lightweight, but review apps with interactive filtering, photo galleries, or “write a review” modals embedded directly on the product page can add meaningful script weight and event-handling overhead.
Sticky Add-to-Cart Bars and Countdown Timers
These sound trivial but are often built with inefficient re-render logic (some re-run their entire countdown or scroll-position calculation on every scroll event), which adds up across a session.
How to Actually Diagnose It on Your Store
- Check field data first. Use Google Search Console’s Core Web Vitals report or PageSpeed Insights (which pulls from the Chrome User Experience Report) to see your real-world INP score, not just a lab test, INP is specifically a field metric based on actual visitor interactions.
- Run a lab audit with Chrome DevTools’ Performance panel. Record a session where you interact with the page the way a real shopper would, click into a product, use a size selector, open the cart, and look for long tasks that block the main thread following those interactions.
- Identify script sources contributing to long tasks. DevTools attributes long tasks to specific script files, which usually makes it obvious which app is responsible.
- Test with apps disabled one at a time (Shopify allows you to deactivate apps individually) to isolate which one is the worst contributor, comparing INP scores before and after.
- Prioritise by combination of impact and necessity, an app causing major INP damage that drives negligible revenue is an easy removal; a high-impact app that’s core to your conversion strategy is a candidate for a lighter-weight alternative or a defer/lazy-load fix rather than outright removal.
A Practical Framework for Fixing It
- Audit every installed app and ask honestly whether it’s still earning its place on the store
- Remove unused or low-value apps entirely rather than just deactivating them, since deactivated apps can sometimes still leave code injected in
theme.liquid - Defer non-critical scripts so they load after the main content is interactive, not blocking it
- Replace heavy chat widgets with lighter alternatives, or load them only after a delay/scroll trigger rather than immediately on page load
- Consolidate overlapping apps, it’s common to find two or three apps doing similar jobs (multiple popup apps, multiple tracking pixels) that can be reduced to one
- Re-test after every change rather than batching multiple fixes together, so you know what actually moved the needle
When to Bring in a Specialist
Diagnosing INP issues caused by app interactions requires genuinely understanding Shopify’s theme architecture, which scripts are loaded via the theme, which are injected by apps into the <head> or via app blocks, and how they interact with each other on the main thread. It’s not always a straightforward “uninstall the slow app” fix, particularly when the problem app is central to your conversion strategy. This is exactly the kind of technical diagnosis a dedicated Shopify performance optimisation engagement is built to handle, auditing your actual app stack against real INP data and fixing the specific bottlenecks rather than guessing.
FAQ
What replaced First Input Delay (FID) as a Core Web Vital?
Interaction to Next Paint (INP) officially replaced FID as a Core Web Vital in March 2024. INP measures responsiveness across an entire page visit rather than just the first interaction, making it a stricter and more representative metric.
What’s a good INP score for a Shopify store?
Google considers 200 milliseconds or less “Good,” 200-500 milliseconds “Needs Improvement,” and anything over 500 milliseconds “Poor.” These thresholds apply to any website, not just Shopify.
Can one app really be responsible for a poor INP score?
Sometimes, particularly with heavy chat widgets or personalisation tools, but it’s more common for INP problems to be the cumulative effect of several apps each adding a moderate amount of main-thread work.
Does removing apps always fix INP problems?
It’s the most common fix, but not the only one, deferring scripts, lazy-loading non-critical widgets, and consolidating overlapping app functionality can improve INP without removing features shoppers actually value.
Will improving INP directly improve my Shopify store’s rankings?
Core Web Vitals, including INP, are one of many ranking factors Google considers, and their direct weighting is generally modest compared to relevance and content quality. That said, better responsiveness reliably improves user experience and conversion rate, which matters regardless of any direct ranking impact.
Next Step
If you suspect apps are dragging down your store’s responsiveness but aren’t sure which ones or how to fix it without breaking functionality, a shopify audit will show you exactly what’s happening under the hood.