TL;DR
Lab data comes from a controlled test such as Lighthouse: one simulated device, one network, one page load. Field data comes from real Chrome users and is reported in the Chrome UX Report (CrUX) at the 75th percentile over a rolling 28 days, and it is what Google uses to assess Core Web Vitals. Use lab data to find and test fixes, and field data to confirm that real visitors benefit.
Key takeaways
- Lab data is a repeatable simulation; field data is what real visitors actually experienced.
- Core Web Vitals are assessed on field data at the 75th percentile over a rolling 28-day window.
- INP can only be measured in the field, so Lighthouse uses Total Blocking Time as a lab proxy.
- A page can pass in the lab and fail in the field when real devices, networks or interactions are tougher than the test.
- A page can fail in the lab and pass in the field when most real visitors have faster devices than the throttled test phone.
- Field data changes slowly, so a fix can take up to 28 days to show in full.
Lab data is what a test like Lighthouse measures on one simulated device during one page load. Field data is what real Chrome users experienced on their own devices, collected in the Chrome UX Report (CrUX) and reported at the 75th percentile over a rolling 28 days. Google assesses Core Web Vitals on field data, but you fix problems using lab data, so you need to understand both.
The short version
The two kinds of data answer different questions:
- Lab data answers “why?” It is repeatable, available for any URL, and comes with audits that point at specific files and scripts. You can test a fix in minutes.
- Field data answers “does it matter?” It reflects your actual audience, their phones, networks and behavior, and it is the basis for the Core Web Vitals assessment.
Neither is more “correct”. They measure different things, which is why they often disagree.
What lab data is
Lab data comes from a synthetic test run in a controlled environment. Lighthouse is the most common source. It loads one URL, emulates a mid-range phone (or a desktop), applies simulated throttling to model a slow 4G connection and a slower CPU, and records what happens from the first request until the page settles.
That gives you:
- Lab metrics: Largest Contentful Paint, Cumulative Layout Shift, Total Blocking Time, First Contentful Paint and Speed Index.
- A performance score from 0 to 100, calculated from those five metrics.
- Audits and insights that explain what to change, such as render-blocking requests or oversized images.
Lab data is available for any page you can load, including new pages with no traffic, staging sites and pages behind a login (if you test from DevTools or the CLI). Its weakness is that it is one visit, on one device profile, with no real user.
What field data is
Field data, also called real-user monitoring (RUM) data, is collected from actual visits. Google’s public source is the Chrome UX Report (CrUX), built from Chrome users who have opted in to sharing usage statistics. It is what PageSpeed Insights shows in its field data section and what Google Search Console’s Core Web Vitals report is based on.
Three details define how CrUX reports data.
The 75th percentile
CrUX reports the 75th percentile of each metric, not the average. That means 75% of visits were at or better than the reported value, and 25% were worse. If your 75th percentile LCP is 2.3 seconds, three out of four visits saw the main content within 2.3 seconds.
Google uses this point so that a page only passes when most visitors have a good experience, not just the ones on fast phones and fiber connections.
The rolling 28-day window
CrUX aggregates visits over the previous 28 days, and the window moves forward continuously. A fix you ship today starts to improve the numbers as new visits replace old ones, but the reported value only fully reflects the fix after about four weeks.
Enough traffic
CrUX only includes pages and origins with enough real Chrome traffic. Popular URLs get their own page-level data. Less visited URLs may fall back to origin-level data, which covers the whole site. Many pages, especially new or niche ones, have no field data at all. Mobile and desktop visits are reported separately.
Lab data vs field data at a glance
| Lab data (Lighthouse) | Field data (CrUX) | |
|---|---|---|
| Source | One simulated page load | Real Chrome users |
| Device and network | Fixed test profile | Whatever visitors actually use |
| Time period | The moment you run it | Rolling 28 days |
| How results are reported | Single values from one run | 75th percentile of all visits |
| LCP and CLS | Yes (CLS during page load only) | Yes (CLS across the whole visit) |
| INP | No | Yes |
| Total Blocking Time | Yes | No |
| Available for any URL | Yes | Only with enough traffic |
| Used for Core Web Vitals assessment | No | Yes |
| Best for | Diagnosing and testing fixes | Confirming real-user impact |
INP is field-only, and TBT stands in for it
Interaction to Next Paint (INP) measures how quickly a page responds to clicks, taps and key presses throughout a visit, and reports one of the slowest interactions. It replaced First Input Delay as a Core Web Vital in March 2024. A good INP is 200 ms or less, and anything over 500 ms is poor.
A standard Lighthouse run loads the page without interacting with it, so it cannot measure INP. Instead, Lighthouse reports Total Blocking Time (TBT): the total time long tasks blocked the main thread during load. A blocked main thread is the most common reason interactions feel slow, so a high TBT is a strong hint that INP may suffer in the field.
TBT is a proxy, not a match. A page with a low TBT can still have poor INP if a specific interaction, such as opening a filter menu or adding an item to a cart, runs heavy JavaScript after the page has loaded. Our guide to INP and slow interactions covers how to find those.
Why a page can pass in the lab and fail in the field
Passing Lighthouse does not guarantee passing Core Web Vitals. Common reasons:
- Slower real devices. If much of your audience uses low-end phones, their experience can be worse than the test profile.
- Real interactions. INP depends on what users click. A lab test never opens your mega menu or product configurator.
- Layout shifts after load. Lighthouse measures CLS during load. In the field, CLS covers the whole visit, including shifts from lazy-loaded ads, infinite scroll or late banners.
- Content the test did not see. Consent banners, logged-in views, personalization, A/B variants and geo-targeted content may be heavier for real users.
- Distance from your server. Visitors far from your hosting or CDN wait longer for every request.
For example, a news article might score 90 in the lab, but real readers scroll down, ads load into slots with no reserved space, and the field CLS fails.
Why a page can fail in the lab and pass in the field
The reverse is common too, and it confuses people who only watch the Lighthouse score.
- Faster real devices. The mobile test applies a 4 times CPU slowdown on a mid-range phone profile. If most visitors use recent phones, real loads are faster.
- Caching and repeat visits. Lighthouse tests a cold load. Real visitors often have your CSS, fonts and scripts cached already.
- Back/forward navigations. Pages restored instantly from the browser’s back/forward cache count as very fast real visits.
- Your audience’s networks. Many visitors are on Wi-Fi or fast mobile connections, not slow 4G.
A lab failure is still worth fixing in these cases. It shows where the page would struggle for the slowest visitors, and those visitors are the 25% above your 75th percentile.
How to use lab and field data together
A simple workflow keeps both in their place:
- Start with field data in PageSpeed Insights or the Search Console Core Web Vitals report. Find which metric fails, on which device, for which group of pages.
- Reproduce it in the lab. Run Lighthouse on representative URLs from the failing group and read the audits behind the failing metric.
- Fix and verify in the lab. Change one thing, re-run, and compare the metrics with the same settings.
- Confirm in the field. Watch the field data over the following weeks as the 28-day window rolls forward.
If a page has no field data, rely on lab results and treat them as an early warning. For more on how the two tools fit together, see Lighthouse vs PageSpeed Insights.
How to check this across your whole site
Field data problems are usually reported for groups of URLs, while lab tests run one URL at a time, which is the gap we describe in Lighthouse only tests one page. The manual way to close it is to export the URL groups from Search Console, run Lighthouse on a sample from each group, and query the CrUX API for each URL to see which ones have page-level data.
AiroPages does this in one scan: it runs Lighthouse on every page on mobile and desktop and shows Chrome UX Report field data next to the lab scores wherever Google has it. Issues are grouped by template, so you can match a failing field metric to the template fix that addresses it.
Two views of the same page
Lab data and field data are two views of the same page: one controlled and immediate, the other real and slow to change. Use Lighthouse to understand and fix problems, use CrUX to see whether real visitors and Google’s Core Web Vitals assessment agree, and expect them to differ for good reasons.
Frequently asked questions
What is the difference between lab data and field data?
Lab data is collected in a controlled test, such as a Lighthouse run, using one simulated device and network for a single page load. Field data is collected from real users on their own devices and networks over time. Lab data is best for diagnosing problems, and field data shows what visitors really experience.
Does Google use lab data or field data for Core Web Vitals?
Google assesses Core Web Vitals using field data from the Chrome UX Report. A page passes when LCP, INP and CLS are all in the good range at the 75th percentile of real visits over the previous 28 days. The Lighthouse lab score is a diagnostic tool and is not used for that assessment.
Why does my page pass Lighthouse but fail Core Web Vitals?
Real visitors may use slower phones or networks than the Lighthouse test profile, interact with the page in ways a lab test never does, or see content such as ads, consent banners and personalization that the test missed. INP and layout shifts after the initial load only show up in field data. Any of these can push the 75th percentile over the threshold.
What does the 75th percentile mean in Core Web Vitals?
It means 75% of page visits had a value at or better than the reported number, and 25% were worse. For example, a 75th percentile LCP of 2.3 seconds means three out of four visits saw the largest element in 2.3 seconds or less. Using the 75th percentile makes sure most visitors, not just the fastest ones, have a good experience.
How long does it take for field data to update after a fix?
The Chrome UX Report uses a rolling 28-day window, so new visits gradually replace old ones. You may see an improvement start within days, but it takes up to 28 days before the reported value reflects only visits after your fix. Search Console may take a little longer to update its status.
Why is there no INP in Lighthouse?
INP measures how quickly a page responds to real clicks, taps and key presses throughout a visit. A standard Lighthouse run only loads the page and does not interact with it, so there is nothing to measure. Lighthouse reports Total Blocking Time instead, which captures the main-thread work that tends to cause slow interactions.
Published