Core Web Vitals for Shopify are Google's three real-user measures of page experience: Largest Contentful Paint (LCP) for loading, Interaction to Next Paint (INP) for responsiveness and Cumulative Layout Shift (CLS) for visual stability. A Shopify page passes when, at the 75th percentile of visits, LCP is 2.5 seconds or less, INP is 200 milliseconds or less and CLS is 0.1 or less. In the HTTP Archive Core Web Vitals Technology Report for September 2026, 76.2% of Shopify origins passed all three on mobile, so most stores pass, and the ones that fail usually do it on app scripts and oversized hero images.
This guide is for Shopify founders, marketers and developers who want to know what their scores mean and what to fix first. You'll get the thresholds, how Shopify compares with other platforms on current data, what Google actually says about rankings, where to find your real numbers, a fix list for each metric and a step-by-step process you can run this week.
What are Core Web Vitals on Shopify?
Core Web Vitals are three metrics Google uses to describe how a page feels to real visitors. They are measured in the field, from Chrome users on your actual store, not in a lab test. Each one has a "good" threshold and a "poor" threshold, and Google evaluates them at the 75th percentile, separately for mobile and desktop. That means three out of four visits need to be good for the page to pass.
| Metric | What it measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP | Time until the largest image or text block in view has rendered | 2.5 s or less | Over 2.5 s up to 4 s | Over 4 s |
| INP | Delay between a tap, click or key press and the next screen update, across the whole visit | 200 ms or less | Over 200 ms up to 500 ms | Over 500 ms |
| CLS | How much visible content jumps around unexpectedly | 0.1 or less | Over 0.1 up to 0.25 | Over 0.25 |
INP replaced First Input Delay (FID) as a Core Web Vital on March 12, 2024. FID only timed the delay before the first interaction. INP looks at every interaction during the visit and reports one of the slowest, which is far harder to pass on a store loaded with app scripts. If an app, report or agency audit still talks about FID, it is out of date.
Lab scores are not Core Web Vitals
The Lighthouse "performance score" you see in PageSpeed Insights is a lab test on one simulated device. It is useful for debugging, and Shopify's own Theme Store requires themes to average at least 60 on that score across the home, product and collection pages. But Google's page experience signals use field data from real visitors. A store can score 45 in Lighthouse and still pass Core Web Vitals, or score 90 and fail INP because real shoppers trigger heavy scripts the lab test never touches.
How Shopify stores score on Core Web Vitals
The best public benchmark is the HTTP Archive Core Web Vitals Technology Report, which joins Chrome UX Report (CrUX) field data with platform detection for every origin that has enough Chrome traffic. In the September 2026 data, 445,297 Shopify origins had a mobile assessment, and 76.2% of them had good Core Web Vitals on all three metrics. On desktop the pass rate was 79.5% across 312,684 origins.
View the data
| Value | |
|---|---|
| Wix | 80.9% |
| Shopify | 76.2% |
| Squarespace | 71% |
| BigCommerce | 62.5% |
| PrestaShop | 61.4% |
| WordPress | 48.3% |
| Magento | 44.6% |
| WooCommerce | 39.3% |
Source: HTTP Archive, Core Web Vitals Technology Report, September 2026
Shopify sits near the top of e-commerce platforms. Its mobile pass rate is well ahead of WooCommerce (39.3%) and Magento (44.6%), and behind only Wix (80.9%) among the platforms in the chart. The reason is structural: Shopify handles hosting, the CDN, image resizing and server response for you. Only 12.1% of WooCommerce origins had a good Time to First Byte on mobile in the same month, compared with 83.8% for Shopify. Shopify merchants don't tune servers at all, which removes the most common cause of poor LCP on self-hosted stores.
The trend: better every year, with one dip
View the data
| Mobile | Desktop | |
|---|---|---|
| Jan 2023 | 49% | 50.7% |
| Jan 2024 | 67.1% | 67.2% |
| Jan 2025 | 75.4% | 76.1% |
| Jan 2026 | 78.2% | 78.4% |
| Sep 2026 | 76.2% | 79.5% |
Source: HTTP Archive, Core Web Vitals Technology Report, January 2023 to September 2026
Shopify's mobile pass rate climbed from 49.0% in January 2023 to 78.2% in January 2026. Look closely at the monthly data and you'll see a dip in March 2024, from 68.1% in February to 65.4%, the month INP replaced FID. Stores that had passed under FID suddenly failed on responsiveness. The mobile rate also slipped from 79.3% in May 2026 to 76.2% by September 2026, so passing is not permanent. New apps, new theme features and seasonal promotions all push scores around.
INP is Shopify's weakest metric
View the data
| Value | |
|---|---|
| CLS | 92.4% |
| LCP | 87.7% |
| INP | 86.7% |
| All three | 76.2% |
Source: HTTP Archive, Core Web Vitals Technology Report, September 2026
Broken out by metric, Shopify's weak spot on mobile is INP, not LCP. In September 2026, 87.7% of Shopify origins had good mobile LCP, 92.4% had good CLS and 86.7% had good INP. That INP figure is lower than WooCommerce (91.4%), Wix (92.6%), BigCommerce (96.7%) and Squarespace (97.3%) in the same report. The likely explanation is the app ecosystem: every review widget, upsell popup, chat bubble and tracking pixel adds JavaScript that competes for the browser's main thread when a shopper taps "Add to cart."
Do Core Web Vitals affect Shopify rankings?
Yes, but modestly. Google's Search Central documentation says it highly recommends that site owners achieve good Core Web Vitals for success with Search, and that this, with other page experience aspects, aligns with what its core ranking systems seek to reward. It does not say good scores will lift a page on their own, and relevance and content quality still decide most rankings. A fast collection page with thin content will not outrank a slower one that answers the search better.
The practical way to treat them:
- As a tiebreaker you shouldn't lose. When two stores sell the same product with similar content and links, page experience is one of the few things left to separate them.
- As a conversion problem. Shoppers notice a hero image that loads late, a button that ignores the first tap or a page that jumps as they reach for "Add to cart." Those problems cost orders whether or not they cost rankings.
- As a crawl and render issue for heavy stores. Pages that are slow to respond or bloated with scripts are harder for any crawler to process. Our guide to crawl budget covers when that matters.
What you should not do is chase a perfect Lighthouse score at the expense of features that sell. Passing is the goal. Getting LCP from 2.1 to 1.6 seconds is rarely worth removing your reviews.
Get a technical SEO plan that benchmarks your store against your top three competitors on Google and AI answers, with the fixes ranked by revenue impact.
Where to find your Shopify Core Web Vitals
You have three good sources, and each one answers a different question.
| Tool | Data | Best for | Limits |
|---|---|---|---|
| Shopify web performance dashboard | Shopify's own real-user data, 75th percentile, last 30 days | Seeing the effect of app installs and theme changes, which it marks on the timeline | Up to 36 hours of lag; no data while the store is in private mode |
| Google Search Console, Core Web Vitals report | CrUX field data, last 28 days, grouped by similar URLs | Finding which templates fail on mobile or desktop, in Google's own view | Only URLs with enough Chrome traffic; groups take time to update |
| PageSpeed Insights | CrUX field data for the URL or origin, plus a Lighthouse lab test | Diagnosing a single page: which element is the LCP, which scripts block | Lab results vary run to run and are not what Google uses |
In the Shopify admin, the summary sits on the Online Store, Themes page, and the full LCP, INP and CLS reports live under Analytics, Reports. Shopify keeps web performance report data for the last 90 days, and its help center says the overall rating matters more than an occasional poor day or page.
In Search Console, a group's status is set by its worst metric. If product pages are good on LCP and CLS but poor on INP, the whole group shows as poor. After you fix something and click "Validate fix," Search Console watches the next 28 days of data before it marks the issue resolved, so plan on a month before the report catches up.
How to improve LCP on Shopify
On most Shopify pages the LCP element is the hero image on the homepage and collections, or the main product image on product pages. Find yours in PageSpeed Insights under the LCP diagnostic, then work through this list.
- Never lazy-load the LCP image. Shopify's theme performance guidance says to always eagerly load images in the initial viewport, especially the LCP candidate. Many themes lazy-load every image; make sure the first hero or product image is excluded.
- Add fetchpriority="high" to it. This tells the browser to fetch that image ahead of other resources. Shopify recommends it for the LCP image.
- Use Shopify's image filters. The
image_urlandimage_tagLiquid filters generate asrcset, add width and height and serve images from Shopify's CDN. Pair them with asizesattribute so phones download a phone-sized file. - Drop the hero slideshow and background video. Carousels and autoplay video often delay LCP, and a single static image usually performs better.
- Don't hide the hero behind an animation. Fade-in and slide-in effects on the LCP image delay the moment it counts as painted. Shopify's guidance warns against this directly.
- Preload sparingly. Shopify suggests preloading only one or two critical resources the browser discovers late. Preloading more competes with the browser's own priorities.
How to improve INP on Shopify
Because INP is where Shopify stores fail most often, it deserves the most attention. INP problems on Shopify almost always come from JavaScript running on the main thread when a shopper interacts: variant pickers, add to cart, filter drawers, menus and search.
- Audit your apps first. List every installed app, note which ones inject storefront scripts and remove anything that doesn't clearly earn its place. Check that apps you uninstalled didn't leave code in
theme.liquidor snippets. - Prefer theme app extensions. Apps built as app blocks and embeds load through the theme editor and can be switched off without editing code, which makes problems easier to isolate.
- Defer what isn't critical. Shopify's guidance is to put
deferon non-critical scripts and reserveasyncfor independent third-party scripts. - Load features on interaction. Chat widgets, size guides and review galleries can load only when a shopper opens them. Shopify recommends dynamic
import()inside event listeners for exactly this. - Consolidate tracking. Use Shopify's customer events and pixel settings instead of stacking separate tags in the theme, and remove duplicate analytics.
- Test on a mid-range phone. INP is measured on real devices. A fast laptop hides problems that a three-year-old Android phone shows immediately.
How to improve CLS on Shopify
CLS is Shopify's strongest metric, but when a store fails it, the causes are predictable.
| Symptom | Likely cause | Fix |
|---|---|---|
| Page jumps as images load | Images without width and height | Render images with image_tag, which adds dimensions, or set an aspect ratio in CSS |
| Content drops after a second | Announcement bar, cookie notice or promo banner injected after load | Reserve space for it in the theme, or render it server side in Liquid |
| Product info shifts below the title | Review stars, badges or pay-later messages rendered late by apps | Give each app block a fixed minimum height |
| Text reflows when the font arrives | Custom web font swapping in with different sizing | Choose a fallback font with similar metrics and preload only the main font file |
| Layout shifts when filters open | Filter drawer pushes the grid instead of overlaying it | Open drawers as overlays, or animate with transform rather than height |
Our free $100M AI Visibility Roadmap, built from 7,960 live pages and 197 A/B tests, shows how to get your store cited by ChatGPT, Google AI Overviews and Perplexity.
A step-by-step Shopify Core Web Vitals plan
Here is the order that works for most stores, from first look to a fix you can verify.
- Get the field baseline. Record mobile LCP, INP and CLS from the Shopify dashboard and the Search Console Core Web Vitals report. Note which URL groups fail.
- Pick three templates. Test your homepage, your top collection and your top product page in PageSpeed Insights. Templates matter more than individual URLs, because one fix applies to every page that uses the template.
- Identify the LCP element on each. Confirm it loads eagerly, has
fetchpriority="high", is sized withsrcsetand isn't inside a slider or animation. - Inventory apps and scripts. Make a sheet of every app, whether it loads on the storefront, which templates it touches and what it earns. Remove or defer the low earners.
- Test interactions. In a duplicate theme, record add to cart, variant changes and filter use in DevTools. Fix long tasks by deferring scripts or loading features on demand.
- Reserve space for late content. Set dimensions for images, embeds and app blocks, and stop banners from pushing the page down.
- Publish and annotate. Publish the duplicate theme and note the date. Shopify's dashboard marks theme and app changes on its timeline, which makes before and after easy to read.
- Validate and wait. Click "Validate fix" in Search Console and give it 28 days. Re-check your three templates every quarter and after every app install.
If you're running a broader review at the same time, our Shopify SEO audit guide covers the rest of the technical checks, and the free SEO checker gives you a quick page-level read.
Choosing a theme and apps with speed in mind
Your theme sets the baseline. A lean, well-built theme with few apps will often pass Core Web Vitals with little tuning, while a heavy theme stacked with sections and apps may need ongoing work. Shopify's Theme Store requires an average Lighthouse score of at least 60, which is a floor, not a guarantee of good field data.
Before you buy or switch:
- Run the theme's demo store through PageSpeed Insights on mobile, and test the product page, not just the homepage.
- Count how many features you would need apps for. A theme with built-in reviews, filters or bundles may be lighter than a minimal theme plus four apps.
- Ask app vendors whether their storefront code loads on every page or only where it's used.
For theme picks, see our guide to the best Shopify themes for SEO. For the problems that usually travel with slow stores, see common Shopify SEO problems.
Keep your scores from slipping
The Shopify data shows pass rates can fall after a good stretch, so treat performance as a habit rather than a project.
- Check the web performance dashboard after every app install, theme update and major campaign launch.
- Review the Search Console Core Web Vitals report monthly, mobile first.
- Require a quick performance check before any new script goes on the storefront.
- Re-test your homepage, top collection and top product templates each quarter.
Core Web Vitals are one part of a healthy store. If your templates are failing and you're not sure which fix moves the needle, our technical SEO team can help you prioritize. Get in touch.
Book a free 30-minute call. We'll show you which templates are holding you back, the pages ready to move and the revenue math behind each fix.