The Reach Bureau

Core Web Vitals for Ecommerce: Which Fixes Change Revenue

Close-up of an adjustable wrench on black background representing hidden SEO fixes
Photo from Unsplash

# Core Web Vitals for Ecommerce: Which Fixes Change Revenue

Core Web Vitals are three numbers, and on an ecommerce site each one usually has a single dominant cause. That is the useful part. Most stores do not need a performance programme; they need to find which of about six things is producing the number, fix that, and stop.

What follows is what the three metrics measure in store terms, what typically causes each on a WooCommerce catalogue, and which fixes are worth doing before the ones that only move a lab score.

What the three metrics actually measure

LCP — Largest Contentful Paint. How long until the biggest thing in the viewport is painted. On a product page that is almost always the main product image. On a category page it is the first row of product thumbnails. On the homepage it is the hero.

INP — Interaction to Next Paint. How long the page takes to respond after a shopper taps something. Adding to cart, opening a filter, changing a variant. This replaced the old input-delay metric and is stricter, because it measures the whole interaction, not just the wait before processing starts.

CLS — Cumulative Layout Shift. How much the layout jumps while loading. On stores this is the metric that quietly costs money, because the thing that moves is often the add-to-cart button.

None of the three measures “how fast the site feels” in general. They measure three specific failures, which is why a generic speed project so often changes the score and not the outcome.

LCP, INP and CLS with the store-level causes that usually produce each one, and the pass thresholds

Field data decides, lab data explains

There are two kinds of measurement and mixing them up is the most common reason performance work goes nowhere.

Field data is what real visitors experienced, aggregated over the last month, on their devices and their networks. It is what the metrics are assessed on. Lab data is a synthetic run in a controlled environment, and it is a debugging tool.

Prioritise from field data. Then use lab tools to find the cause. Doing it the other way round produces an afternoon of work that improves a Lighthouse number no shopper ever generated.

One trap specific to WordPress stores: page caching is usually bypassed for logged-in sessions. An administrator testing the site is served an uncached page, sees several seconds of load time, and escalates a problem that visitors do not have — or the reverse, a visitor-facing problem stays invisible because the person checking has a warmed cache. Check in a private window first. We went through how to measure this without fooling yourself in how site speed influences ecommerce SEO and conversions.

Field data versus lab data for Core Web Vitals, and the WordPress trap of measuring an uncached page as a logged-in admin

What actually makes LCP slow on a store

In order of how often it is the real cause:

Product images served at full size. A 2,400px JPEG scaled down in CSS to 600px still downloads in full. Serving correctly sized WebP for the rendered dimensions is usually the single largest LCP improvement available on a catalogue, and it costs nothing but a bulk regeneration.

The LCP image lazy-loaded. Lazy loading everything is a default in many themes and plugins. Lazy loading the one image that defines LCP delays it by design. The hero and the main product image must load eagerly; everything below the fold should not.

Server response time. If time to first byte is already several hundred milliseconds, no front-end work will fix LCP. On shared hosting the usual causes are a missing object cache, PHP OPcache disabled, and a plugin running database queries on every request. OPcache being off is worth checking explicitly — it means every PHP file is recompiled per request, and it is invisible from the front end.

Render-blocking CSS. Theme and plugin stylesheets loaded in the head, all of them, on every template, including the checkout styles on a blog post.

Web fonts. A font loaded from a third-party host, with no fallback, blocking text paint.

What breaks INP

Interactivity problems on stores are almost always third-party JavaScript competing with the theme’s own scripts on the main thread. The recurring offenders are tag managers loading a dozen tags, chat widgets, review widgets, sliders, and analytics duplicated across two plugins.

The diagnostic is straightforward. Load a product page with third-party scripts blocked, tap add-to-cart, and compare. If interaction becomes instant, the problem is not your theme.

The fix is rarely code. It is deciding which of those scripts earns its place, loading the survivors after interaction where possible, and refusing to add the next one without checking. A store with four analytics tools has a measurement problem and a performance problem, and removing three fixes both.

What causes CLS, and why it costs conversions

Layout shift on a store comes from four things: images without width and height attributes, ads or banners injected after paint, fonts swapping to a different metric, and content loaded by JavaScript above existing content — a cookie bar, a promo bar, a stock notice.

The reason to care goes beyond the metric. When a shopper reaches for add-to-cart and a shipping banner pushes the button down, they tap the wrong thing. That is not a ranking issue; it is a checkout issue that shows up as a conversion problem nobody can explain. If your pages rank and do not convert, layout stability belongs on the list of causes — see why ecommerce pages rank but don’t convert.

Set explicit dimensions on every image, reserve space for anything injected, and preload the fonts you actually use.

What Core Web Vitals will and will not do for rankings

Being honest about this saves arguments. Core Web Vitals are a real but small ranking input. They do not outrank relevance. A fast page that does not answer the query will not beat a slower page that does.

What they reliably affect is what happens after the click: bounce, add-to-cart rate, and completed checkouts. That is the case worth making internally. Treat performance as a conversion project with a modest SEO benefit, and it gets funded and finished. Treat it as an SEO project, and it stalls the moment rankings do not move in a fortnight.

There is also a threshold effect worth knowing: the assessment is pass or fail against a target, not a linear score. Moving LCP from 4.5s to 3.9s changes the assessment. Moving it from 2.0s to 1.8s changes nothing but the number.

The order to fix things in

  1. Confirm what field data says, per template — homepage, category, product, checkout. Templates fail differently.
  2. Check server response time. If TTFB is the problem, stop optimising images.
  3. Fix image dimensions and formats, and stop lazy-loading the LCP element.
  4. Audit third-party scripts and remove what nobody reads.
  5. Reserve space for everything that appears after paint.
  6. Re-measure in the field after four weeks, not the next morning. The data is a rolling window.

Six steps, and on most stores the first three account for nearly all of the improvement.

Sources

Frequently Asked Questions

LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1, met by most visits rather than on average. The distribution matters, because averages hide slow mobile sessions.
PageSpeed’s lab run is one synthetic test on your connection. Search Console reports aggregated field data from real visitors over a rolling window. When they disagree, the field data is the one being assessed.
No. They are a tiebreaker between comparable pages, not a substitute for answering the query.
It usually fixes part of LCP by cutting server time, and does nothing for INP or CLS. It also typically excludes logged-in sessions, which is why administrators keep seeing a slow site.
Field metrics use a rolling window of recent visits, so expect several weeks before an improvement is fully reflected, even though real shoppers feel it immediately.

Want this run against your store? Book a call with The Reach Bureau.

Share with AI

One-minute takeaway Summarize Explain like I'm a kid

Share this article

LinkedIn X Facebook Pinterest Email

Related articles

View all articles

Ready to scale your e-commerce?

Let's discuss your project and how we can help you achieve your growth goals.

Book a discovery call
Book a call with me, here is my schedule →