Core Web Vitals, Diagnosed Properly

Three metrics decide whether Google calls your pages a good experience. Most sites fail exactly one of them, and most speed projects are spent on the other two. Thresholds, a triage table, guides, and a free simulator, below.

Good Needs improvement Poor 75th percentile, 28-day window
53% of mobile visits are abandoned when a page takes longer than three seconds to load Widely cited Google mobile benchmark
7% drop in conversions for every additional second of load time on an ecommerce page Retail performance studies, directional not exact
20-30% conversion uplift reported by sites that move a failing metric into the green band Range across published case studies, ours included
Thresholds

Where the line sits

Same boundary for every site, measured at the 75th percentile of real visits rather than the average.

LCPLargest Contentful Paint

How long until the biggest element in the viewport, usually the hero image or headline, has finished rendering.

0s2.5s good4s6s+
Good, at or under 2.5s Needs improvement, 2.5s to 4s Poor, over 4s

INPInteraction to Next Paint

How long from a tap, click or keypress until the browser paints the visible response. Reported across the whole visit, not a single moment.

0ms200ms good500ms800ms+
Good, at or under 200ms Needs improvement, 200ms to 500ms Poor, over 500ms

CLSCumulative Layout Shift

How much visible content jumps position during loading, scored as a unitless value rather than a time.

00.1 good0.250.4+
Good, at or under 0.1 Needs improvement, 0.1 to 0.25 Poor, over 0.25
Read this first

The number in PageSpeed Insights and the number Google assesses you on are two different things. The 0 to 100 score is a lab simulation run on your request, on a throttled connection, right now. The pass or fail assessment comes from field data: real Chrome visits, aggregated over a rolling 28-day window, at the 75th percentile.

That gap explains the two most common questions we get. A page can score 95 in the lab and still fail, because the lab never clicks anything and your real users do. And a genuine fix shows nothing on day one, because the window still contains 27 days of the old experience. Both are covered properly in PageSpeed score versus Core Web Vitals and how long Core Web Vitals take to update.

Triage

Symptom to cause, before you touch anything

Performance work goes wrong when the symptom gets treated instead of the cause. Find the row that matches what you are seeing, and start where it points.

What you are seeing Metric Usually means Start here
Fine on desktop, failing on mobile LCP You are shipping the desktop hero image to phones, or the mobile layout promotes a different, heavier element to largest. Check which element is actually LCP on a mobile viewport before optimising anything.
Lighthouse says 90+, the assessment still fails INP Lab tests never interact with the page, so main-thread blocking during a real click is invisible to them. Lab versus field data, then INP attribution
Only article and blog pages shift CLS Ad slots or embeds are injected into the body with no reserved height, so every paragraph below them jumps. Fixing CLS caused by ads
We shipped the fix, nothing has changed All Field data moves on a 28-day rolling window, so a real improvement is diluted until the old visits age out. How long Core Web Vitals take to update
The report shows no field data at all All The page or origin has too few Chrome visits to form a reliable sample, so Google falls back to origin-level data or nothing. Work from origin-level data and lab tests, and treat lab as directional only.
Scores swing wildly between runs Lab Normal. Lab runs vary with network simulation and machine load, which is why a single run is never evidence. Compare medians across several runs, and treat field data as the source of truth.
Slow only after a site move LCP New hosting, a new theme, or redirect hops added to every request during the migration. Website migration hub and redirect chains
Guides

Core Web Vitals guides

One guide per problem, written to be implemented rather than skimmed.

Free tool

Find out what the fix is worth first

Performance work is easy to start and hard to justify halfway through. The simulator lets you model the change before anyone writes code, so the conversation is about expected gain rather than effort.

  • Adjust image weight, script blocking time and server response independently
  • See which lever actually moves the metric you are failing
  • Compare a before and after side by side, on the same thresholds
  • No signup, no crawl of your site, nothing stored
Open the simulator
How we work

A measurement loop, not a speed sprint

Four stages, run in order, and the last one takes a month whether you like it or not. Anyone promising a green assessment next week is describing the lab score, not the assessment.

01

Measure

Pull field data per template, not per page. One product page tells you almost nothing about the other four thousand.

02

Diagnose

Attribute the failure to a specific element or script using the triage above. This stage is where most of the value is, and it is the one usually skipped.

03

Fix

Change the one thing the diagnosis pointed at, then re-measure in the lab to confirm the mechanism worked before moving on.

04

Verify

Wait out the 28-day field window and confirm the assessment flipped. Lab confirmation is not verification, it is a hypothesis.

Speed is not always the constraint. On a sportswear brand a six-second mobile shop was capping everything; on an ed-tech platform it was holding back a strong content programme. We say which at diagnosis, not four months in.

FAQ

Frequently asked questions

Fix the one closest to its threshold, not the one furthest from it. Moving a metric from just-failing to just-passing flips the assessment for that metric at a fraction of the effort of dragging a badly broken one across the line. If two are equally close, prioritise INP, because interaction delays are the ones users consciously notice and complain about. A page that loads in three seconds feels acceptable. A button that takes half a second to respond feels broken.

They are a genuine ranking signal, but a light one, and they will not lift a page that does not deserve to rank. The realistic framing is a tiebreaker: where two pages are comparably relevant, the faster experience wins. The larger commercial effect is usually not the ranking at all, it is the conversion rate of the traffic you already have. Fixing a failing metric to chase positions is often disappointing. Fixing it to stop losing sessions is reliably worth it.

Almost never. The overwhelming majority of failures come from a handful of specific causes: an undiscovered hero image, a few third-party scripts blocking the main thread, and content injected without reserved space. All three are fixable inside an existing theme. A redesign becomes the right answer only when the template itself makes the fix impossible, for example when the layout depends on JavaScript to render anything at all. Diagnose before anyone scopes a rebuild.

Two to four weeks of work, then a month of waiting. Diagnosis takes days, the fixes themselves are usually a small number of targeted changes, and lab confirmation is immediate. The assessment then needs the 28-day field window to turn over before it reflects the new experience. Plan for six to eight weeks from kickoff to a confirmed pass, and be sceptical of any timeline shorter than the window itself.

No, and the mismatch is the single most common misunderstanding on this topic. The score is a lab simulation of a single load on a throttled connection, and it never interacts with the page. The assessment is field data from real Chrome users over 28 days. A page can score 95 and fail on INP because nothing in the lab ever clicked a button, and a page can score 60 and pass because real visitors are on faster connections than the simulation assumes.

Then Core Web Vitals are not currently affecting your rankings, because Google has no field sample to assess. You will typically see origin-level data instead of page-level, or nothing at all. That does not make performance irrelevant, since the conversion and bounce effects apply regardless of whether Google is measuring, but it does change the priority. On a low-traffic site, fix the obvious problems and put the remaining effort into the things that will bring the traffic in the first place.

Any of them, because the diagnosis is platform-independent: an undiscovered hero image behaves the same way on Shopify, WordPress, Webflow or a custom stack. What changes is the implementation route, whether that is a theme edit, a plugin configuration, an app removal or a deployment. Most of our performance work has been on Shopify and WordPress, and platform constraints get flagged during diagnosis rather than discovered halfway through the build.

Not sure which metric is costing you?

That is the useful question, and it takes a diagnosis rather than a tool. Bring us the templates that matter commercially and we will tell you what is failing, what it would take to fix, and whether performance is genuinely your constraint. Sometimes it is not, and we will say so.

Free simulator, no signup · Any CMS · UK-based, direct with the person doing the work