Core Web Vitals are not your PageSpeed score: its heaviest metric is one Google does not use for ranking. The three thresholds and what to do about them.

Most services sold as website optimisation come down to one goal: a green score above 90 in the popular audit tools. Business owners chase the perfect rating, believing it will translate into higher search rankings. Yet from Google's point of view, page loading speed is not a single number from 0 to 100. The score you see in most testers is a lab rating and nothing more. To understand what actually affects a site's visibility, you have to separate the simulation from the hard metrics the algorithm uses — the Core Web Vitals.
What this article covers. What the Lighthouse score is really made of, and why the metric with the largest weight does not count in ranking. The three Core Web Vitals thresholds and what "75th percentile" means. The difference between lab and field. Why your site may have no field data at all. How LCP time breaks down — where the money goes. And what a good score does not buy.
When you run a Core Web Vitals test or any speed test in the browser, the Lighthouse engine is doing the work underneath. It is worth looking at what its final rating consists of. In Lighthouse 13, which made no changes to the scoring model, the weights according to the official documentation are:
Lighthouse score vs Core Web Vitals
Lighthouse documentation, Chrome for Developers
The largest weight in the lab score — a full 30% — goes to TBT. The problem is that TBT is not a Core Web Vitals metric, and the ranking algorithm does not use it. Meanwhile Interaction to Next Paint, which is a full ranking metric, does not appear in the Lighthouse score at all.
The reason for that absence is mundane and worth remembering, because it explains the rest of this article: nobody clicks in a lab. Lighthouse loads the page and measures what happens on its own. INP measures the response to a user's action, and with no user there is nothing to measure. TBT is the lab approximation of the same problem — it checks how long the browser's main thread was busy and would not have been able to respond if someone had clicked.
The other two items on the list are worth knowing by name, because they appear in every report. First Contentful Paint is the moment anything appears on screen — the first text or the first image. Speed Index describes how quickly the visible area of the page fills up. Both are sensible measures of the "something is happening" impression, both are lab metrics, and neither is a Core Web Vital.
The practical consequence: whoever invests in reaching 90 points optimises for a metric excluded from ranking and does not measure the one that is in it. That does not make the Lighthouse score useless — it is a good diagnostic tool, and we will show shortly when it can be the only one you have. It only means it is not the assessment the search engine performs.
The search engine does not rate a site with a weighted lab average; it measures website speed through specific user experiences. According to web.dev, a page meets the Core Web Vitals standard when it stays within three thresholds:
The thresholds do not apply to a single test. To pass, a page has to hold these values at the 75th percentile of visits — at least 75 out of 100 real visits must fall below the threshold. And one clarification that is easy to trip over: the percentile is calculated separately for mobile devices and separately for desktops. A site can pass on desktop and fail on phones, and that is a typical situation, not an exception.
The gap between a high score after installing a speed plugin and the absence of any real effect comes from how the data is collected. Lighthouse is a lab environment. It simulates one load from one test server, applying predefined bandwidth limits — which makes results repeatable, but detached from reality.
For its assessment, Google uses the Chrome User Experience Report (CrUX) — a collection of anonymous data from real Chrome users. CrUX includes harsh conditions: five-year-old phones, momentary signal loss on public transport, crowded Wi-Fi networks, slow connections. In the field, what matters is not how the page loads for a developer on fibre, but how it behaves for your customers.
It is also worth knowing how this data is calculated, because it determines the timeline of any fix. According to the CrUX API documentation, CrUX provides a 28-day rolling average, updated daily at around 04:00 UTC, and the dataset runs about two days behind the current date, because it waits for complete data and for processing.
The practical effect is that a fix deployed on Monday will not show in the report on Tuesday, and when it does start to show, it will be diluted by three weeks of old measurements. The full picture after a change is visible only after roughly four weeks. Anyone judging a deployment after three days is mostly judging noise. Counting those two days of delay and assuming the same traffic every day: a week after the deployment, visits made after the fix are 18% of the data in the report, half after 16 days, and all of it only after 30.
How many new visits are in the CrUX report after a fix
Chrome for Developers, CrUX API, read 5 Oct 2026; own calculation
Hence a practical conclusion for conversations with your contractor: a screenshot of a green score is not proof that anything improved. It is proof that in one simulated load the page behaved well. Proof is field data collected for several weeks after the change — if you have any at all.
This is the part missing from most guides, and for a smaller business it is the most important one.
For an address to be included in CrUX, it has to meet two conditions: be publicly accessible and sufficiently popular. The Chrome documentation states the second condition plainly: a page is sufficiently popular if it has a minimum number of visitors, and "the exact number is not disclosed" — it was chosen so that the sample makes statistical sense. Addresses and domains that do not cross the threshold are not in the CrUX dataset.
There is no middle ground. You do not get worse data or qualified data — you get none. A company website with a few hundred visits a month usually does not exist in CrUX, and opening PageSpeed Insights for such an address will show only the lab section, with no real-user data section.
What follows in practice:
Suppose LCP comes out too long. The question is: what to pay for to shorten it. The web.dev documentation breaks that time into four phases and gives the share each should have.
Where LCP time really goes
web.dev, Optimize Largest Contentful Paint
Eighty percent of the budget is the server and one image. Those are two decisions, neither of them a programming decision: the first is a purchasing one (where you buy hosting and what it costs), the second an editorial one (which photo goes at the top of the page and at what size). A plugin labelled "optimisation" touches neither.
You do not have to guess which element is meant. Audit tools name it directly — the report contains an item identifying the element treated as the largest. On a company website it is usually the header photo, less often a text block with a large heading. And here comes the first surprise: the LCP element often turns out to be something nobody planned — the background of the hero section, or an image that fills half the screen on a phone even though it is a side decoration on desktop.
The two "delay" phases are meant to be the remainder. If one of them has grown, it is a diagnostic signal, not a reason to buy a more powerful server — something is blocking the download from starting or the rendering. That is when it makes sense to reach for Lighthouse, because this is exactly the type of problem a lab shows well.
What really affects TTFB when choosing a server is covered separately in our article on hosting and domains.
INP is the youngest of the three metrics and the most often misdescribed — usually as "the successor to FID", which suggests a minor rename. It is not a minor change.
FID measured the delay of the first interaction: how much time passed before the browser started handling the first click. It did not measure how long the handling itself took, or when the user saw the result. A page could therefore pass FID and at the same time respond terribly — all it took was a fast first click, with every one after it dragging a second behind.
INP measures the whole path, in three phases:
INP vs FID — what is measured
web.dev, Interaction to Next Paint; Digital Vantage, own diagram
Only the sum of these three segments describes what a user calls "the page froze". For a site owner the conclusion is concrete: INP gets worse because of what you add — tracking scripts, chat widgets, plugins that run their share of code on every click. It rarely gets worse because of the template itself.
That is why INP and the number of installed add-ons are in practice the same conversation as updates and everything that has been added to a site.
CLS is the only one of the three metrics that can usually be fixed without spending money on infrastructure, because its causes are countable and repeatable:
The threshold itself can be misleading, because 0.1 is not a unit of time or distance. It is the product of two fractions: how much of the screen the moving element covers in its old and new positions combined, and how far it moved, measured against the longer side of the screen. What counts is the worst burst of shifts — ones that follow each other less than a second apart, within a window of up to 5 seconds — not the total for the whole visit. Take the example from Google's documentation: an element filling half of a phone screen moves down by a quarter of the screen's height, so together with its old position it covers 75% of the screen, and that single shift scores 0.75 × 0.25 ≈ 0.19 — almost twice the entire threshold (web.dev, "Cumulative Layout Shift (CLS)"). Worth remembering: on a phone it is enough for half the screen to move down by a fifth of its height (0.7 × 0.2 = 0.14) to exceed 0.1 in a single move. A single consent banner sliding in above the content can do that on its own.
Each of these three has a standard fix on the contractor's side, and it is work measured in hours, not weeks. If the work is commissioned as part of an ongoing website maintenance service, it is worth recording it as a separate task with a before-and-after measurement rather than as part of "routine fixes". If your performance budget is limited, CLS is where the ratio of effect to cost is best — and it is also the metric users feel most sharply, because it shows up as a click on the wrong button.
Here we have to say something the optimisation industry won't. Google puts it surprisingly cautiously in its documentation for site owners.
First: "There is no single signal" — there is no single "page experience" indicator that the algorithm plugs into a formula. Ranking systems look at many signals, and Core Web Vitals are one of them.
Second, and more important: "Google Search always seeks to show the most relevant content, even if the page experience is sub-par". Relevance wins. A slow page that answers the question will beat a fast, empty one. Only when there are many valuable answers — and for most commercial queries there are — does good experience start to tip the balance.
Third, plainly: good Core Web Vitals results "doesn't guarantee that your pages will rank at the top".
What this means for the spending decision:
Putting the above together, here is the order worth acting on:
If you are wondering how much of this should be a fixed item in the budget and how much a one-off expense, that is a separate conversation about website maintenance costs and about what to watch on an ongoing basis.
Since the points score is not what the search engine assesses, a line such as "we will get the site to 90+ in PageSpeed" is a promise about a simulation, not about the state of the site for your customers. That does not make the proposal dishonest — it means it measures success in a unit that is not the unit of ranking.
Below are the four lines that appear most often in proposals, and what to ask about each.
Line in the proposal | What it really promises | What to ask |
|---|---|---|
"A score of 90+ in PageSpeed" | The state of one simulated load | Whether we will see a change in field data after deployment, and after how long |
"Image optimisation" | Usually compressing the whole library | Whether it covers the LCP element and its size on phones |
"Installing a cache plugin" | Caching server responses | How much it shortens TTFB, and whether the problem lies with the server at all |
"Improving Core Web Vitals" | Three metrics at once | Which of the three, and based on what baseline measurement |
A good performance proposal has three features. It starts with a baseline measurement, not with a list of tasks — without one, the effect cannot be demonstrated later. It names the metric it targets instead of talking about "speeding the site up". And it separates what will change immediately from what you will only see in field data after several weeks.
If your site has no field data, tell the contractor at the start. The honest response is a proposal to switch on your own measurement before work begins — not an assurance that "it will be faster anyway".
Talk to us: we will compare your Core Web Vitals field data with your PageSpeed score and tell you which of the three metrics really needs work — and whether the problem is the server, an image or the code.
Website maintenance is four jobs: keeping a site running, fast, accountable and able to survive change. Six ways in, and where to start.
A 502 Bad Gateway, 500, 503 or 504 error tells you which part failed: the application, the link between servers or an overload. And who to call.
A 404 Not Found on your own site is usually a page removed without a redirect. What 4xx status codes mean, what Google does and why our 404 returns 200.
Website maintenance services are sold as tasks but signed as a contract. Response time, SLA, domain access and code ownership — check these before you sign.
Website monitoring: a 200 code does not mean the page works — ours returns it for addresses that do not exist. What to check, how often, and who gets the alert.
Website migration is three operations: new hosting, new domain, new addresses. What to tell Google, how to transfer a domain and how to set up 301 redirects.
Table of Contents · 10 sections · 14 minutes read
Rate this article
Back to the guide: Websites — a guide to the whole section

We found no independent Polish benchmark for SEO cost. How to turn a fee and its hours into an hourly rate, and what to ask before signing.

What each part of the PageSpeed Insights report means: 28 days of user data, the Lighthouse score, phone vs desktop, and why the score keeps changing.

Google Search Console without guesswork: verification, agency access, CTR and average position by Google's own definitions, and page indexing statuses.

What a product page needs: photos, the EU 30-day lowest-price rule, mandatory GPSR information, delivery, returns, reviews and Google structured data.

An ecommerce SEO audit runs mostly on free Google reports: indexing, Core Web Vitals, rich results, duplicates and Merchant Center data.

Google Merchant Center: site verification, product data, shipping and landing page rules, disapprovals, and Shopify, WooCommerce and IdoSell integrations.

SLA meaning: how much downtime fits in 99.9%, how AWS, Microsoft and Google SLAs compare, SLO, RPO, RTO and 10 things to check before signing.

WordPress themes are not chosen on looks: three fields in the directory tell you what a theme will cost you in a year, and what disappears when you switch.

A 502 Bad Gateway, 500, 503 or 504 error tells you which part failed: the application, the link between servers or an overload. And who to call.