There is a particular kind of dashboard meeting where everyone looks at a Lighthouse score of 100, congratulates themselves, and the site gets no faster. Lab tools measure a synthetic device on a synthetic network in a clean tab. They are excellent at telling you whether a change made things worse. They are close to useless at telling you whether the site is fast.
Field data has distributions, not scores
Real users report their own experience, and the platform aggregates it at the 75th percentile over 28 days. That percentile is the point: it describes the reader who is having a worse time than three quarters of your traffic. Optimising the median is optimising for the reader with the newest, fastest phone on the best network — the reader you were always going to be fine with.
Any performance conversation that starts with a single lab score and ends there is a conversation about the wrong number.
Split your numbers by page type, then look again
The number that matters is not your site's INP. It is INP on the product page, for mobile visitors, on pages where the basket is interactive. Aggregated site averages hide the exact pages where you lose money.
Every report we send to a client breaks performance down by route template, device class and connection type. It is not more data. It is the same data, arranged so that it points at a decision.
Budgets belong in CI
Field data is diagnostic. It tells you about the past. To prevent the next regression you need something that fails a build, which means the lab number — used for the purpose it is good at.
- JavaScript transferred per route, gzipped, with a hard ceiling.
- Largest Contentful Paint in a throttled mobile profile, with a tolerance of 100ms.
- Cumulative Layout Shift of 0.00 on any template that loads images above the fold.
- Third-party script bytes, itemised, so an unexplained 180kB has to be explained.
Lab for regression, field for direction. Using either one alone is either building without a guardrail or driving without a map.
Tagged
- Core Web Vitals
- RUM
- CI
- Lab vs field