CROAugust 14, 202611 min read

How to Improve Shopify Store Speed (It's a Conversion Problem)

Shopify's own data ties every 100ms of added load time to ~3.5% lower conversion. How to improve Shopify store speed where it actually counts: images, apps, and theme code - what a good page load time is, and when a speed optimization app is enough vs custom work.

Vlad Galaidenco, Co-Founder, Byteex

A slow Shopify store is a conversion problem before it is a technical one. Shopify's own 2026 analysis of actively selling stores found conversion roughly 3.5% lower for every 100 milliseconds of added load time. The fix is rarely a plan upgrade or a hosting change, because Shopify controls the infrastructure and it is already fast. What merchants control - and what actually moves the number - are three things: images, apps, and theme code. This guide covers what a good Shopify page load time looks like in Core Web Vitals terms, what Shopify already handles for you, and when a speed optimization app is enough versus when you need custom work. Treat it as CRO, because that is what it is.

~3.5%

lower conversion for every 100 milliseconds of added load time, across actively selling Shopify stores.

Shopify, 2026 analysis

Key Facts

  • Speed is a measured conversion lever: Shopify's 2026 analysis ties every 100ms of added load time to ~3.5% lower conversion, and 2.5s-LCP stores convert ~30% lower than 1.5s-LCP stores.
  • A good Shopify page load time means passing Core Web Vitals: LCP of 2.5s or less, INP of 200ms or less, and CLS of 0.1 or less, for at least 75% of visits.
  • The median Shopify store sits at 2.26s mobile LCP - passing Google's threshold, but barely. Beating the pack means roughly 2.0-2.2s.
  • Merchants control three levers: images, apps, and theme code. Hosting, CDN, compression, minification, and modern image formats are handled by Shopify automatically.
  • Many speed apps duplicate what Shopify already does natively, and some have been documented faking their results. Judge them by real-user data, never by the score they report.

Why Speed Is a Conversion Problem, Not an IT Problem

The evidence here is unusually consistent across independent studies. Deloitte and Google's Milliseconds Make Millions study, which monitored 30 million sessions across 37 brand sites, found that a 0.1-second improvement in mobile load time lifted retail conversions by 8.4%, average order value by 9.2%, and progression from product page to add-to-basket by 9.1% - which makes speed one of the few levers that moves add-to-cart rate without touching the page layout at all. Portent's study of 100+ million pageviews found ecommerce sites loading in 1 second converting at 2.5 times the rate of sites loading in 5 seconds.

+8.4%

retail conversion lift from a 0.1-second mobile speed improvement (AOV rose 9.2% in the same study).

Deloitte & Google, Milliseconds Make Millions

The mobile numbers make this sharper. Mobile is around 73% of ecommerce sessions but converts at roughly half the desktop rate - 1.8% versus 3.9% in recent industry benchmarks - and slower devices on slower networks are a large part of that gap. If your mobile conversion rate lags desktop by more than the usual ratio, speed should be one of the first suspects, because it compounds every other mobile friction you have.

What Is a Good Shopify Page Load Time?

Stop thinking in total load time; measure what Google measures. The Core Web Vitals thresholds for a good experience are a Largest Contentful Paint (LCP) of 2.5 seconds or less, Interaction to Next Paint (INP) of 200 milliseconds or less, and Cumulative Layout Shift (CLS) of 0.1 or less - each hit by at least 75% of your visits. Note that INP replaced FID as the responsiveness metric in March 2024, so any guide still telling you to optimize FID is out of date.

2.26s

median mobile LCP across 1,000 tested Shopify stores - right at the edge of Google's 'good' threshold. Only 48% passed all three Core Web Vitals on mobile.

Shero Commerce benchmark, 2025

Those benchmarks give you an honest target. The median Shopify store passes LCP with almost nothing to spare, and roughly half of stores fail at least one vital on mobile. So a good Shopify page load time is an LCP of 2.5 seconds or less at the 75th percentile; a competitive one is roughly 2.0 to 2.2 seconds, which puts you ahead of the median store in your niche.

Measure it in the right place. Shopify replaced its old single-number Speed Score in early 2024 with the Web Performance dashboard in admin, which reports LCP, INP, and CLS from your real visitors at the 75th percentile, segmented by page type. That is the number to trust. Lighthouse and PageSpeed lab tests are still useful for diagnosing what to fix, but they simulate one synthetic visit - your real customers on real phones are what the dashboard shows.

What Shopify Already Handles (Stop Paying Apps for It)

A surprising amount of speed advice sells merchants things Shopify already does. Per Shopify's own platform documentation, every store gets a Cloudflare-backed global CDN, automatic Brotli and gzip compression, automatic minification of theme CSS and JavaScript, and HTTP/3. Since 2022, Shopify's CDN also converts images automatically to AVIF or WebP per request, choosing the best format each visitor's browser supports. Modern OS 2.0 themes ship with responsive srcset images and native lazy loading built in, and Shopify now even injects speculation rules that prerender the next page a visitor is likely to tap.

If an app's main pitch is image compression or code minification, Shopify's CDN already does both automatically. The levers left for merchants are how images are used in the template, how many app scripts load on every page, and what the theme itself ships.

The Three Levers You Actually Control

1. Images: The LCP Lever

On most Shopify stores the LCP element is a hero or featured product image, which makes image handling the single most direct speed fix. The failures are almost never about compression - Shopify handles that - but about usage: images rendered at a fraction of the size that was requested, heroes weighing 300-400 KB when under roughly 180 KB is the working guideline, and above all, lazy-loading the LCP image. Lazy loading below-the-fold images is correct; lazy-loading the hero actively delays the one element Google times. Some speed apps apply lazy loading indiscriminately and make this worse. Request images at the rendered size with a responsive srcset (modern themes do this via image_tag), keep the hero light, and load it eagerly.

2. Apps: The JavaScript Tax

Third-party apps are the most common reason a Shopify store fails Core Web Vitals. A typical app adds 50-150 KB of JavaScript to every page, and the average store runs around six frontend apps; a 2026 study of 400+ stores found mobile PageSpeed scores dropping from 53 with one or two apps to 38 with sixteen or more. The heaviest offenders are the always-running categories: live chat, analytics and session tools, upsell widgets, and email popups. Shopify's own developer guidance flags a compounding problem - multiple apps loading duplicate copies of the same frameworks like jQuery on one store.

The audit is straightforward: list every app against what it measurably earns, uninstall what does not pay rent, and know the cleanup rule - modern apps built as app embeds are removed from the theme automatically on uninstall, but older apps that wrote code directly into theme files leave it there forever until someone deletes it. On stores that have cycled through many apps over the years, that legacy leftover code is often a meaningful share of the page weight. The expensive version of this mistake is keeping a heavyweight app for a feature a developer could build natively: one documented audit found a cart app adding 540 KB of JavaScript for functionality replicated natively in about 6 KB.

3. Theme: The Render Path

Shopify's theme performance guidance is blunter than most merchants expect: minified theme JavaScript should ideally be 16 KB or less, JavaScript should not be required for basic functionality, and heavy frameworks have no place in a theme. The practical wins are unglamorous. Cut web fonts to one or two subsetted WOFF2 files with font-display swap - or use system fonts, which cost nothing to load. Move page-specific CSS out of the global stylesheet so the homepage does not pay for the product page's styles. Remove carousel and utility libraries duplicated across sections. And if your theme predates Online Store 2.0, moving to a modern theme like Dawn or a well-built successor resets the baseline: they are server-rendered, ship JavaScript only where needed, and lazy-load correctly out of the box.

Speed Apps vs Custom Code: Which One Do You Need?

Speed optimization apps have a legitimate core: controlling when third-party scripts load, tuning lazy-loading behavior, and inlining critical CSS are real techniques, and on an otherwise-sound theme they can buy visible improvement. The problem is what surrounds that core. Much of the standard feature list - image compression, minification - duplicates what Shopify's CDN does natively, so you can pay a monthly fee for work that was already done. And the industry has a documented dark pattern: one speed-app vendor openly describes competitors 'cloaking' - detecting PageSpeed test tools and serving them a stripped-down page real users never see. The score jumps; the store does not get faster. Overly aggressive apps also break things: deferred scripts that delay add-to-cart from working, lazy loaders that catch the hero image, minification that breaks theme features.

The decision rule we use: an app is worth testing when your theme is fundamentally sound and the problem is third-party script scheduling. Custom work is the answer when the problem is structural - a render-blocking theme, an oversized LCP element, duplicated libraries, legacy app code, or a bloated app that should be replaced with native functionality. An app cannot restructure the render path it sits on top of. There is also a cost asymmetry worth naming: a speed app is a subscription forever, while a focused theme fix is usually a one-time engagement whose result you keep. Either way, the verification is the same - if the Web Performance dashboard's real-user numbers and your conversion rate did not move, the speed work did not happen, whatever the score screenshot says.

The Byteex Speed-to-Revenue Checklist

This is the sequence we run in CRO engagements when real-user data points at speed. It deliberately starts and ends with measurement, because speed work that is not verified against revenue has a way of being theater.

The Five Steps

  • Measure reality first

    Read 75th-percentile LCP, INP, and CLS by page type from the Web Performance dashboard in admin. Real visitor data, not a Lighthouse screenshot.

  • Fix the LCP element

    Right-sized hero image with a responsive srcset, under ~180 KB, loaded eagerly. Never lazy-load the LCP image.

  • Run the app audit

    Every app listed against what it earns. Uninstall the passengers, then sweep the theme for leftover code from legacy apps.

  • Trim the render path

    One or two subsetted fonts or system fonts, no duplicate libraries, page-specific CSS out of the global stylesheet, theme JS heading toward Shopify's 16 KB guideline.

  • Re-measure against revenue

    Watch real-user vitals plus conversion and add-to-cart rate for 2-4 weeks. Speed work should show up in money, not just scores.

One honest caveat on attribution: the studies above are correlations and controlled experiments on other people's traffic. On your store, the clean way to know what a speed fix earned is to compare funnel metrics before and after with enough sessions, or to A/B test where the change allows it. The direction of the effect is not in doubt; the size on your specific store is worth verifying rather than assuming.

Work with Byteex

Speed is one of the levers we check in every CRO audit, because it moves add-to-cart and conversion before a single layout change is made. If your Web Performance dashboard shows yellow and red, or you suspect an app stack that has grown for years is quietly taxing every page, a Byteex engineer can audit where the weight actually is and fix it at the theme level - once, properly, without renting a score from an app. Book a discovery call.

Want this applied to your store?

Work with the Byteex team

We help Shopify DTC brands turn more visitors into buyers. See how we can help you below, or browse real client results.

Frequently Asked Questions

What is a good page load time for a Shopify store?

Measure Largest Contentful Paint (LCP) rather than total load time. Google's threshold for good is 2.5 seconds or less for at least 75% of visits, and the median Shopify store sits around 2.26 seconds on mobile - passing, but barely. A competitive target is roughly 2.0 to 2.2 seconds, read from the Web Performance dashboard in Shopify admin, which uses real visitor data.

Why is my Shopify store so slow?

Almost never because of Shopify's hosting, which merchants can't change anyway. The usual causes, in order: too many third-party apps each injecting JavaScript into every page, oversized or lazy-loaded hero images that delay LCP, and theme-level weight - web fonts, duplicate libraries, and render-blocking code. Images, apps, and theme are the three levers you control.

Do Shopify speed optimization apps actually work?

Some genuinely help with script scheduling and lazy-loading control, but much of what they sell - image compression, code minification - Shopify's CDN already does automatically. Some apps have also been documented faking results by serving test tools a stripped-down page real users never see. Judge any speed app by your real-user Web Performance data, not the score it reports, and expect structural problems in the theme to need custom work an app cannot reach.

Does site speed really affect conversion rate?

Yes, and the effect is measured. Shopify's 2026 analysis of actively selling stores found conversion roughly 3.5% lower for every 100 milliseconds of added load time, and stores at 2.5-second LCP converting about 30% lower than stores at 1.5 seconds. Deloitte and Google's Milliseconds Make Millions study found a 0.1-second mobile improvement lifted retail conversions 8.4%.

Keep reading