Real user monitoring measures performance in the browsers of the people who actually visit the site: their devices, their networks, their conditions. Not a lab test but a record of what really happened.
A 100 in Lighthouse and a failing Core Web Vitals grade do not contradict each other: they measure different things. Google assesses the field, not the lab.
A better Lighthouse score does not close this gap.
Field versus lab
A lab measurement runs under fixed conditions: a simulated device, a throttled connection, one load. It is repeatable — the same page twice gives almost the same number. That is exactly why it suits comparing two versions.
A field measurement collects what happened to real visitors: a seven-year-old phone on a train, a machine with thirty tabs open, a fast line at three in the morning. It is not repeatable and is still the only one describing reality.
Both are correct. They just answer different questions: is my change better? versus how do people experience the site?
What Google assesses
For Core Web Vitals, field data counts. Google draws it from the Chrome User Experience Report, CrUX for short — anonymised measurements from Chrome users who opted in.
Two properties of it explain almost every confusion. First the value is a 28-day window: an improvement made today only becomes visible over weeks. Second it is the 75th percentile — not the average but the value three out of four loads stay under. So a slow quarter drags the grade along, and a very fast median does not rescue it.
Why the numbers diverge
The everyday case: Lighthouse shows 98, Search Console reports "needs improvement". Not an error but four differences at once.
Device — the lab simulates a mid-range phone; visitors bring everything.
State — the lab loads cold; real visitors often have a warm cache.
Interaction — INP only exists once someone clicks. Nobody clicks in the lab.
Time — the lab measures now, the field the last 28 days.
Which is why the order matters when diagnosing: the field tells you whether there is a problem. The lab helps find why. Measuring only in the lab risks optimising something no visitor ever meets.
CrUX or your own RUM?
CrUX costs nothing and is the source Google draws its assessment from. It has limits: Chrome only, only pages with enough traffic, and values arrive as a window rather than an individual case.
Your own RUM collects in your own code — usually through the web-vitals library — and delivers what CrUX cannot: all browsers, immediately rather than after weeks, and the ability to join the value to your own attributes: page type, country, signed in or not.
The practical split: CrUX is the grade that counts. Your own RUM is the tool for understanding it and for checking quickly whether a change worked.
Three common measurement mistakes
Checking immediately after a deploy. The field window is 28 days; yesterday's improvement is barely visible in it. Judging the day after mostly measures the old state.
Looking at the average. The 75th percentile is what is graded. A good mean can sit alongside a bad grade when a quarter of loads fall far behind.
Taking one page for the site. CrUX reports per URL and, where data is too thin, per group of similar pages. The homepage does not stand for the catalogue, and one measured page does not stand for all.
Manuel Riveiro RodriguezCEO & Digital Strategist
A technical audit covers this and everything else in one pass.
I have 100 in Lighthouse but Core Web Vitals fail. How?
Because they measure different things. Lighthouse is a lab test under fixed conditions; Core Web Vitals are assessed from field data of real visitors, at the 75th percentile over 28 days. Both numbers can be right at once.
How long until an improvement shows?
Weeks, not days. The field value is a 28-day window, so today's fix only shows fully once that window has turned over. Your own RUM shows it immediately; the official grade does not.
Do I need a paid tool?
Not to start. Google's web-vitals library is open and sends values wherever you want, including your own endpoint or GA4. Paid tools add storage, alerting and analysis, not the measurement itself.
Why is there no field data for my page?
Because CrUX needs a minimum of traffic to publish values without making anyone identifiable. If a URL does not reach it, Google may assess it within a group of similar pages; if there is no group either, there is no value. That does not mean the page is slow.
Is RUM the same as web analytics?
No, though they sometimes share a tool. Analytics counts what people did: pages, sessions, conversions. RUM measures how the page behaved while they did it: load times, responsiveness, visual stability.