Most advice about Shopify page speed is still teaching you to optimize a score Shopify retired. Here is what replaced it, and what actually moves the number.

Search for how to speed up a Shopify store and most of what you find will tell you to raise your speed score.
There is no speed score. Shopify retired it in January 2024.
It got replaced with something better and considerably less comfortable, because the new version measures your actual visitors instead of a test machine. Here is what it reports now, what the pass bars are, and which fixes actually move them.
The score you were optimizing for is gone
Shopify's old online store speed score was a number out of 100, averaged from Lighthouse runs in a lab. Merchants chased it, agencies sold it, and app listings still advertise it.
Shopify's own explanation for killing it is blunter than anything we would write. Single Lighthouse scores, they said, fail to represent real-world user experiences, leading to confusion and frustration.
That is the platform telling you the number you optimized for was not measuring your store.
So when someone asks what a good Shopify speed score is, the honest 2026 answer is that the question no longer has an answer. There are three numbers now, and they have specific bars.

What replaced it
The web performance dashboard reports Core Web Vitals, measured on real visits to your store rather than a simulated one.
Largest Contentful Paint (LCP) is how long until the biggest thing on screen finishes drawing. Usually your hero image or product photo. Good is 2.5 seconds or less.
Interaction to Next Paint (INP) is how long the page takes to visibly respond when someone taps something. Good is 200 milliseconds or less. This one replaced First Input Delay and became a stable metric in 2024, so any guide older than that is measuring the wrong thing.
Cumulative Layout Shift (CLS) is how much the page jumps around while it loads. The classic version is reaching for a button and having an image push it out from under your thumb. Good is 0.1 or less.
All three are assessed at the 75th percentile of your visits, segmented by device (web.dev). That detail matters more than it sounds.
Seventy-fifth percentile means three quarters of your visits have to clear the bar. Not your average visit. Not the one you just tested on office wifi. If a quarter of your buyers are on a phone with two bars of signal, they're the ones deciding whether you pass.
These are bars, not opinions, which is the useful thing about them. You clear 2.5 seconds or you don't.

Why the lab number lied to everybody
A Lighthouse score is a simulation. It runs on a machine in a data center, on a throttled connection someone picked as representative, once.
Your customers are on a four-year-old Android in a parking lot.
The gap between those two is where every "my score is 78 but sales are flat" conversation comes from. Lab data tells you whether a page can be fast. Field data tells you whether it was fast, for the people who tried to buy something.
Both are worth having. Lighthouse and PageSpeed Insights are still the right tools for diagnosing why something is slow, because they show you the waterfall and name the blocking resource. They just should not be your scoreboard.
Use field data to decide whether you have a problem. Use lab data to find it.
What actually makes a Shopify store slow
In rough order of how much damage they do.
Apps. Not themes, not images. Apps are the single biggest cause of slow Shopify stores, and it isn't close. A typical store running fifteen apps pulls twenty to forty third-party scripts into every page load, and a good chunk of that JavaScript executes on pages where the app does nothing at all.
The nasty part is that app weight lands on INP more than LCP. Your image might paint fine while the main thread is busy executing somebody's countdown timer, so the page looks ready and doesn't respond when tapped. That reads as broken rather than slow, and it's worse.
The hero image. It's almost always your LCP element, which means it can't be lazy-loaded, it needs a modern format, and it needs explicit dimensions so nothing shifts after it paints. A lazy-loaded hero is the single most common self-inflicted LCP failure on Shopify.
Fonts. Custom fonts block text rendering while they download. Two weights of one family is fine. Four families is a choice you're making about your LCP.
Sliders and carousels above the fold. They load several images to show one, and they're a reliable CLS offender because the slide changes height after paint.
Third-party embeds. Review widgets, chat bubbles, tracking pixels, social feeds. Each one is a separate connection and most of them inject after your content, which is why your layout moves at second three.
The theme, last. Themes get blamed constantly and are rarely the main problem. A bloated theme on a clean stack usually beats a lean theme carrying fifteen apps.

The fixes, in the order that pays
Audit the app list before anything else. Go through what is installed and ask what would break if it were gone. Most merchants find two or three nobody would miss. Removing those is free, takes an afternoon, and does more than any optimization app will. You can't fix a bloated stack by adding to it.
Stop lazy-loading the hero. One attribute. Biggest single LCP win available on most Shopify stores.
Reserve space for anything that loads late. Explicit width and height on images, fixed heights on banner slots and review widgets. This is a CLS fix and it's nearly free.
Compress and resize the images you actually ship. Serving a 2,400px image into a 375px viewport is common and pointless. Modern format, sized for the device.
Cut font weights. Every weight is a separate download.
Defer what isn't needed for first paint. Chat widgets, review scripts, analytics beyond the essentials. None of it needs to run before the page is usable.
Then, and only then, consider a speed app or an agency. If you have done the six things above and still fail, the problem is structural and worth paying for. If you have not, you will be paying somebody to compress images while fifteen apps keep loading.
Do these in order and re-measure after each one, because the alternative is shipping six changes at once and not knowing which of them worked.
What a tenth of a second is worth
The best evidence on this is still the Google-commissioned study Deloitte ran in March 2020. Across retail, travel, luxury and lead generation brands in Europe and the US, a 0.1 second improvement in mobile load time lifted retail conversion rate by 8.4% and average order value by 9.2%.

One tenth of one second. That is the entire intervention.
The study is six years old and worth reading with that in mind, but the direction has never been seriously contested, and nothing since has replaced it as the cleanest measurement of the effect.
Which is the argument for treating speed as a conversion problem rather than a technical one. A store sitting at four seconds isn't failing a Google test. It's losing a measurable share of the people who were going to buy, before they have seen anything you sell.
That is also why speed belongs in the same conversation as the rest of your ecommerce CRO work rather than in a ticket queue.
How often to check
Speed regresses quietly. An app gets installed, a banner gets swapped, a theme updates, and nobody notices until the quarter looks wrong.
Check the dashboard monthly, and check it specifically after installing an app, after a theme update, and after any seasonal redesign. Those three events cause most of the regressions we see.
Field data also has a lag. It's built from real visits, so a fix you ship today shows up over the following weeks rather than this afternoon. That's worth knowing before you conclude a change did nothing.
The short version
The Shopify speed score was retired in January 2024. If an article is still telling you to raise it, it was written for a different platform than the one you're on.
Three numbers replaced it: LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1, measured at the 75th percentile of real visits.
Apps are the main cause of failure, and the fix is subtraction. Lazy-loaded heroes are the most common LCP mistake. Anything that loads late needs its space reserved or it costs you CLS.
Use field data to know whether you have a problem and lab tools to find it.
And a tenth of a second was worth 8.4% of retail conversions in the best study anyone has run on it, which makes this a revenue question rather than a technical one.



