← Blog

More Than Half of Shopify Stores Are Failing Mobile Core Web Vitals, Here's What That Costs

A new analysis puts a number on something many Shopify merchants have suspected but never quantified: most stores are failing mobile Core Web Vitals, and the gap between desktop and mobile performance is quietly eroding both rankings and revenue. Here's what the data shows and what to actually do about it.

More Than Half of Shopify Stores Are Failing Mobile Core Web Vitals, Here's What That Costs

Most Shopify stores are failing the test that Google actually uses

A piece published in April 2026 on Medium put a sharp number on a problem that's been sitting in plain sight: only 48% of Shopify stores pass all Core Web Vitals on mobile, even as over 60% of traffic arrives via mobile devices. That is a majority of Shopify stores failing the exact benchmark Google uses to rank pages, on the exact device type that most of their customers are using.

This is not a theoretical problem. Google has tied Core Web Vitals to search rankings since 2021. Every store in the failing 52% is competing at a disadvantage in organic search, regardless of how good their copy, backlinks, or product photography are. And the conversion-rate penalties compound on top of that.

The article cites a case study for Carpe, a direct-to-consumer brand, that achieved a 5% conversion increase, 10% more traffic, and a 15% revenue boost purely from Core Web Vitals optimisation. No new ad spend. No product changes. Just getting the numbers green.

What the benchmarks actually look like

The three thresholds that matter are LCP under 2.5 seconds, INP under 200ms, and CLS under 0.1. Shopify's own documentation is clear that at least 75% of page loads need to hit "good" scores across all three for Google to treat a store as performant. Hitting two out of three does not count.

Real-world data from an audit of 1,000 live Shopify stores paints a specific picture. The median mobile LCP was 2.26 seconds, which sounds fine until you remember that the threshold is 2.5 seconds, leaving almost no margin for a slow CDN response or a single render-blocking script. Median INP sat at 153ms and median CLS at 0.01, both comfortably within good ranges. Loading speed is the bottleneck, not interactivity or layout stability.

So the typical struggling Shopify store is not broken in some fundamental way. It is 300 milliseconds away from passing LCP, and one bad app install away from failing permanently.

The mobile gap is where revenue leaks

The Medium analysis flags a specific tension: the headline figure, 75.22% of Shopify sites now achieve good CWV scores overall, ranking second among all CMS platforms, sounds encouraging. But that overall figure includes desktop, where performance is consistently better. Strip it back to mobile-only and the pass rate drops to 48%.

That gap exists because most performance optimisation work happens on desktop. Developers test on desktop. Lighthouse audits default to desktop. Themes are often designed at full viewport width. Meanwhile, mobile users are loading the same 25-app stack on a 4G connection.

The revenue consequence is direct. The article quotes research showing each 1-second LCP improvement drives 2-4% higher conversion rates. On a store doing £50,000 a month with a 2.0s LCP, shaving that to 1.0s could mean £1,000-£2,000 in additional monthly revenue without touching a single product listing. A real-world agency case study found that improving Core Web Vitals for a fashion retailer produced a 23% increase in conversion rate and a 17% reduction in bounce rate within two months.

Why third-party scripts are the real culprit

The average Shopify store runs between 15 and 25 third-party scripts. Review widgets, loyalty apps, live chat, affiliate trackers, personalisation tools, each one adds to blocking time and transfer size. Most merchants have no visibility into which script is causing the most damage.

This is where the performance problem becomes a management problem. A developer can optimise images and implement lazy loading, but if a single chat widget is injecting a 400kb synchronous script into the document head, the LCP will keep failing. And because most app developers prioritise feature delivery over load performance, the burden falls entirely on the merchant to audit what they have installed.

Shopify's own infrastructure has improved 35% in platform-level performance over the past year, which is genuinely significant. But that improvement is at the platform layer. The front-end, themes, apps, custom JavaScript, is entirely the merchant's responsibility, and that is where most stores are losing the fight.

How to diagnose what's actually hurting your scores

Before spending time on fixes, you need to know what is failing and why. A structured audit looks like this:

  1. Run a mobile-specific CrUX report. Google Search Console shows Core Web Vitals data split by device. Look at the mobile tab specifically. If LCP is the issue, it almost always is, identify whether the delay is in Time to First Byte (TTFB), render-blocking resources, or the LCP element itself loading slowly.
  2. Audit every script on your storefront. List every JavaScript file loading on your product and collection pages. Note whether each one is render-blocking, its transfer size, and which app installed it. This tells you which apps are costing you the most performance per unit of value they deliver.
  3. Check TTFB separately. A slow TTFB (over 800ms) means the server response itself is slow, which no amount of front-end work will fix. Shopify's CDN is generally fast, but custom storefronts or third-party integrations can introduce server-side delays.
  4. Test on real mobile hardware. Chrome DevTools' mobile simulation is useful but not accurate. Test on an actual mid-range Android device on a 4G connection. This is closer to what the bottom half of your mobile traffic experiences.
  5. Prioritise by impact, not severity. A 0.3-second LCP improvement on your product page is worth more than fixing a CLS issue on your blog. Fix what is breaking your highest-traffic, highest-conversion pages first.

What actually moves LCP on Shopify

Given that LCP is the bottleneck for most stores, it is worth being specific about what actually helps.

The LCP element on a typical Shopify product page is the hero image. If that image is not preloaded, is served in a non-modern format, or is being fetched from a slow third-party CDN, the score will suffer regardless of everything else. Adding fetchpriority="high" to the LCP image element alone has been shown to improve LCP by 200-400ms in controlled tests.

Render-blocking scripts are the second most common cause of poor LCP. Any <script> tag without async or defer will pause HTML parsing until the script has downloaded and executed. On a store with 20 third-party apps, several of those will be loading synchronous scripts. Identifying and deferring them requires knowing which scripts are blocking, which is not visible in Shopify's native analytics.

Font loading also causes more LCP drag than most merchants realise. A custom font loaded without font-display: swap will block text rendering, which can push the LCP element below the initial viewport.

Monitoring matters as much as fixing

The issue that the Medium article does not fully address is regression. A store can pass all three Core Web Vitals in January and fail them in March because a new app install added a blocking script, or because a theme update changed the loading order of critical resources. Without continuous monitoring, you will not know until Google's rankings drop or a customer complains.

This is where tools built specifically for Shopify stores add real value. Bloodhound tracks Core Web Vitals in real time at the p75 threshold, the same level Google uses, and monitors every JavaScript file on the storefront ranked by blocking time and transfer size. When a new script pushes LCP above 2.5 seconds, you know the same day, not three months later when organic traffic has already declined.

The checkout funnel is also worth monitoring separately. Core Web Vitals cover the browsing experience, but INP failures during add-to-cart or payment interactions are a different class of problem. A slow or broken interaction at checkout does not just hurt rankings, it directly kills transactions.

The number to fix before anything else

If you take one thing from the current state of Shopify performance benchmarks, make it this: just 48% of Shopify stores pass all Core Web Vitals on mobile. That means passing is already a competitive advantage, not a baseline expectation.

Mobile LCP is where most stores are losing. The median is sitting at 2.26 seconds, close enough to the 2.5-second threshold that a single poorly-loaded app can push any given store into failing. Audit your scripts, prioritise your LCP image, and monitor for regressions. The stores that do this consistently are not just faster, they rank better, convert better, and lose less revenue to problems they never see coming.

Sources

  • Shero Commerce — "just 48% met the Core Web Vitals thresholds on mobile"
  • Shero Commerce — "The median mobile LCP across the dataset was 2.26 seconds, the median INP was 153 milliseconds, and the median CLS was 0.01 seconds."
  • Performance @ Shopify (performance.shopify.com) — "In the past year we have expanded our infrastructure, resulting in 35% faster performance."
  • 2HatsLogic — "A 23% increase in conversion rate and a 17% reduction in bounce rate within two months."
  • Shopify Help Center (help.shopify.com) — "For your web performance to be considered 'good' by search engines such as Google, at least 75% of your page loads need to achieve Good scores across all Core Web Vitals."

Bloodhound monitors your Shopify store for JavaScript errors, Core Web Vitals, and script performance, in real time. Launching soon.

Get notified at launch →