Core Web Vitals in ecommerce: what to measure and what to fix first
Quick answer
Core Web Vitals are three real-experience metrics: LCP (loading, good up to 2.5 s), INP (responsiveness, good up to 200 ms) and CLS (stability, good up to 0.1). In an ecommerce store they are measured per template, starting with the product page on mobile. Usually LCP depends on the main image and the server, INP on third-party scripts and CLS on elements with no reserved space.
A slow or unstable online store doesn’t just annoy the shopper: it also costs you orders. Google measures real loading experience with three metrics called Core Web Vitals, and uses them as one of its page experience signals. It helps to put them in their place: they are not a magic shortcut to climb rankings, because Google insists that content relevance weighs more, but a store with poor numbers loses visits and sales even if it ranks well. This guide helps you measure what matters and not lose weeks on what moves nothing.
The three metrics and their thresholds
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| LCP | How long it takes for the page’s main element to be visible | 2.5 s or less | More than 4 s |
| INP | How long the page takes to respond to clicks, taps and key presses | 200 ms or less | More than 500 ms |
| CLS | How much the content moves while loading | 0.1 or less | More than 0.25 |
Google assesses each metric at the 75th percentile of real visits, separately on mobile and desktop. In other words, for a page to be considered good, three out of four visits must meet the threshold. INP replaced the old FID as the interactivity metric in March 2024, and it is the one that fails most often in stores with many third-party scripts.
Where to measure them and with what data
- Search Console, Core Web Vitals report: uses field data, that is, from real users, and groups URLs by type of problem. It is the starting point because it tells you which groups of pages fail.
- PageSpeed Insights: shows the URL’s field data when there are enough visits and, separately, a lab simulation with Lighthouse for diagnosis. The two may not match, and field data is what counts for Google.
- Your own data: if you have a lot of traffic, you can collect the metrics in your analytics with Google’s web-vitals library to see which templates and which devices suffer most.
Always measure per template: home page, category, product page, cart and checkout. That is what makes it actionable. A fix on the product page template improves thousands of URLs at once.
LCP: what usually slows loading in a store
On a product page or a category, the main element is usually the product image or the header banner. What helps most:
- Don’t lazy-load the main image. It is a very common mistake: what is seen first must be requested first. You can indicate its priority with
fetchpriority='high'. - Serve the image at the actual size it is displayed and in a modern format such as WebP or AVIF.
- Reduce server response time: hosting, caching and fewer heavy queries on categories with filters.
- Remove CSS and JavaScript that block rendering before the first content.
- Load fonts with a strategy that doesn’t delay the main text.
INP: almost always a scripts problem
INP gets worse when the browser is busy running JavaScript just when the user wants to tap. In a store, the typical culprits are:
- Tag managers with many marketing tags and accumulated pixels.
- Chat, reviews, loyalty programme, pop-up and personalisation widgets.
- Filters and search boxes that repaint the whole list with every click.
- Add-to-cart events that run too many actions in a row.
The approach is always the same: remove what adds nothing, delay what isn’t needed on load and split long tasks. Many stores have scripts from tools they stopped using years ago that still load on every page.
CLS: the jumps that make clicks fail
- Images and videos with no declared width and height, which push the content as they load.
- Banners, free-shipping bars and cookie notices that are injected later and shift the page.
- Review stars or prices that appear late and change the height of the block.
- Fonts that change the size of the text when they swap.
The solution is to reserve the space for each element before it loads.
Where to start depending on your platform
Shopify
Hosting and CDN come sorted, so almost everything is decided in the theme and the apps. Review the installed apps and check that the ones you uninstalled haven’t left code in the theme.
WooCommerce
It depends heavily on hosting, caching and plugins. A heavy page builder and many plugins are paid for in LCP and INP.
PrestaShop
Review modules, caching and CSS and JavaScript optimisation, and check the performance of the faceted navigation filters.
Any platform
Start with the template that brings in the most traffic and sales, normally the product page on mobile.
A six-step sprint
- Open the Core Web Vitals report in Search Console and note which URL groups fail on mobile.
- Pick one template and analyse a representative URL in PageSpeed Insights.
- Identify the LCP element, the costliest scripts and the elements that shift.
- Fix first what affects many pages: main image, global scripts, reserved space.
- Publish the changes and wait. The field report uses data from the last few weeks, so you won’t see the improvement instantly.
- Repeat with the next template and measure again every time you install an app or plugin.
What not to do
- Chasing a 100 in the lab simulation. What counts is field data and real experience.
- Optimising only the home page and forgetting product pages and categories.
- Installing a speed-up app that adds more JavaScript than it removes.
- Measuring right after a change and drawing conclusions before there is enough data.
Quick checklist
- Metrics reviewed on mobile and per template.
- Main image not lazy-loaded and with high priority.
- Images with declared dimensions and in a modern format.
- Third-party scripts audited and reduced.
- Space reserved for banners, reviews and notices.
- Measured again after every new app or plugin.
Frequently asked questions
Do Core Web Vitals influence rankings?
They are part of the page experience signals Google uses, but they don’t replace content relevance. Improving them helps, especially in very similar searches, and it also improves the shopping experience.
Why does PageSpeed Insights give me one figure and Search Console another?
Because PageSpeed combines field data from real users with a lab simulation, and Search Console groups URLs with field data from the last few weeks. For Google, field data is what counts.
How long does an improvement take to show?
The field report is based on the last few weeks of visits, so the improvement usually takes a while to appear in Search Console. Measure with the simulation in the meantime and confirm with field data afterwards.
Which metric is hardest to fix in a store?
Normally INP, because it depends on all the scripts you have accumulated: marketing, chat, reviews and personalisation. Cleaning up and delaying scripts gives more result than any fine-tuning.
Sources consulted
- web.dev: Web Vitals
- web.dev: Interaction to Next Paint (INP)
- web.dev: optimise Largest Contentful Paint
- Google Search Central: Core Web Vitals and Google Search
Want to know how your store is doing?
Give us your website and within 48 hours you get your five biggest opportunities on Google, whether AIs cite you today and a comparison with your main competitor.
Get my free audit
Leave a Reply