Core Web Vitals Are Now a Shopify Store’s Search Ranking Currency
In 2021, Google added Core Web Vitals to its search ranking algorithm. This was not a minor tweak — it was a fundamental shift in how Google evaluates pages for search placement. For Shopify stores that rely on organic search for any meaningful portion of their traffic, passing Core Web Vitals is now a business necessity, not a technical nicety.
The three Core Web Vitals metrics — Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP) — each measure a distinct aspect of the user experience. Passing all three requires understanding each metric individually, diagnosing what is causing failures on your specific store, and applying the appropriate fixes.
This guide explains each metric in plain terms, describes the most common causes of failure on Shopify stores specifically, and gives you the specific technical fixes for each one.
Metric 1: Largest Contentful Paint (LCP)
LCP measures how long it takes for the largest piece of visible content on the page to render. This is typically a hero image on the homepage, the first product image on a product page, or a large heading. Google wants LCP to happen within 2.5 seconds of the page starting to load.
Why LCP matters: it correlates closely with the user’s perception of how fast your page loaded. A page where the most prominent visual element takes five seconds to appear feels slow, even if technical metrics like Time to First Byte are good. LCP is the metric that most directly represents the user’s first impression of your store’s speed.
Common LCP failures on Shopify stores:
- Unoptimised hero images — a 2MB hero image on mobile is the single most common cause of LCP failure. Compress, resize, and serve in WebP format.
- Hero image loaded lazily — applying
loading="lazy"to the LCP image tells the browser to delay its download, which is the opposite of what you want. Never lazy-load the LCP element. - Hero image not preloaded — add
<link rel="preload" as="image">in the document head for your hero image so the browser discovers and downloads it as early as possible. - Render-blocking JavaScript delaying LCP — if JavaScript is blocking the main thread before the LCP image can render, defer that JavaScript.
- Slow Time to First Byte — if the server is slow to respond, LCP is delayed before any front-end optimisation even comes into play. TTFB should be under 600ms.
OneOnic Shopify Experts
Failing Core Web Vitals Is Hurting Your Google Rankings
Our Shopify performance team has increased store speed scores by 40+ points for 100+ clients. Get a free speed audit.
Get a Free Speed Audit →Metric 2: Cumulative Layout Shift (CLS)
CLS measures how much the page visually shifts while it is loading. When elements jump around — a headline moves down because an image loaded above it, a button shifts because a font swapped — this is CLS. Google’s target is a CLS score below 0.1. A score above 0.25 is considered poor.
CLS is particularly important for mobile users. On desktop, small layout shifts are mildly annoying. On mobile, where content fills the full viewport, a layout shift can cause a user to accidentally tap the wrong element — clicking an add-to-cart button that just shifted down to where the navigation used to be, for example. This is not just a UX annoyance; it directly affects conversion rates.
Common CLS causes on Shopify stores:
- Images without explicit dimensions — when an image has no width/height attributes, the browser does not know how much space to reserve for it. When the image loads, it pushes everything below it down. Fix: add explicit width and height to every image tag.
- Web fonts causing text reflow — when a web font loads and replaces the fallback font, the text reflows if the two fonts have different metrics. Fix: use
font-display: optional(no layout shift, but font may not display) orfont-display: swapwith a carefully matched fallback font size. - Dynamically injected banners — promotional banners, cookie consent bars, and app-injected elements that appear after initial render cause layout shifts. Fix: either reserve space for these elements in the initial layout, or slide them in from outside the viewport rather than inserting them inline.
- Late-loading app embeds — reviews apps, loyalty widgets, and chat buttons that inject into the page after initial render cause layout shifts. Fix: ensure these elements have reserved space in the DOM structure rather than being injected into a rendered layout.
Metric 3: Interaction to Next Paint (INP)
INP, which replaced First Input Delay (FID) in March 2024, measures the responsiveness of your page to user interactions throughout the entire page visit. Where FID only measured the first interaction, INP measures all interactions — taps, clicks, form inputs — and reports the worst-case response time. Google’s target is under 200ms.
INP measures the time from when a user interacts with your page (clicks a button, taps a menu item, types in a search box) to when the browser paints the next frame in response. A high INP means your page feels unresponsive and laggy, even after it has visually loaded.
Common INP failures on Shopify stores:
- Heavy JavaScript executing on user interaction — when a user clicks Add to Cart and the event handler runs 500ms of JavaScript before the cart updates, INP is high. Optimise event handlers to be lightweight, deferring heavy work to requestIdleCallback or setTimeout.
- Long tasks on the main thread — JavaScript that runs for more than 50ms without yielding to the browser is a “long task.” These block user interactions. Break long tasks into smaller chunks using yield points.
- Third-party scripts monopolising the main thread — chat widgets, analytics scripts, and A/B testing tools can run JavaScript on the main thread during user interactions. Load these with lower priority and ensure they yield to user input events.
- Heavy product page initialisation — complex product pages that initialise many features simultaneously on load create a backlog of JavaScript work that delays interaction responses. Defer non-critical initialisation.
How to Check Your Core Web Vitals Status
Google Search Console provides Core Web Vitals data for your store based on real user data from the Chrome User Experience Report (CrUX). Navigate to Experience > Core Web Vitals in Search Console to see which pages are passing, need improvement, or are failing, broken down by mobile and desktop.
This field data is more authoritative than lab data from PageSpeed Insights for ranking purposes, but it takes 28 days to update after you make changes. Use PageSpeed Insights lab data to verify improvements while waiting for Search Console field data to catch up.
The CrUX data requires enough traffic to generate statistically valid measurements — typically 1,500+ page views per month. If your store is too small to appear in CrUX, rely on lab data from PageSpeed Insights, which provides simulated Core Web Vitals values.
The Priority Order for Core Web Vitals Fixes
When addressing multiple Core Web Vitals failures simultaneously, fix LCP first. It has the largest impact on user experience, it is typically the most common failure, and fixing the root causes of LCP failure (image optimisation, render-blocking script elimination) often has positive knock-on effects on INP as well.
Address CLS second. CLS fixes are typically mechanical and predictable — adding image dimensions, fixing font loading, reserving space for dynamic elements. There is little ambiguity in the diagnosis or the fix.
Address INP last. INP issues often require the most sophisticated JavaScript debugging and optimisation, and the fixes require more developer time. INP is also the Core Web Vital that is most dependent on the user’s device capabilities — improvements may not reflect in aggregate CrUX data until a significant portion of your users are on reasonably modern devices.
The OneOnic performance team specialises in Core Web Vitals optimisation for Shopify stores. We diagnose each metric specifically, implement targeted fixes, and verify improvements with both lab and field data. Get a free Core Web Vitals audit and find out exactly what is causing your store’s failures.
Shopify Experts · OneOnic
Ready to Grow Your Shopify Store?
Our Shopify experts at OneOnic have helped hundreds of brands launch, optimise, and scale.
