Performance
Field data
Also called RUM.
Field data is what actual phones and laptops measured while real people used the site. It includes the slow networks, odd devices, and late third-party scripts that a lab never sees.
How it is measured
A small script or the browser itself records metrics like LCP, INP, and CLS for each visit and sends them back. Aggregates are read at the 75th percentile, split by device and sometimes by country or connection.
Sources include CrUX, a RUM tool, or your own `PerformanceObserver` code. Field data needs traffic to be meaningful and takes days to reflect a change, because old visits stay in the window.
Worked example
A shop's lab LCP is 1,900 ms. Field LCP at p75 is 3,300 ms. The split by country shows 1,700 ms in Germany and 4,900 ms in Brazil, where the image host has no nearby edge. The lab test ran from Frankfurt on a fast machine.
After adding an image CDN with a South American location, Brazil moves to 2,700 ms and the overall p75 reaches 2,450 ms.
How it differs
Field data is measured from visitors. Lab data is measured in a controlled run. Lab is repeatable and good for debugging, field is the truth about experience but noisy and slow to change. CrUX is one source of field data, limited to Chrome.
Common errors
Reading the average instead of p75. Comparing a lab run to a field figure without noting they measure different things. Not splitting mobile and desktop. Treating a low-traffic page's field data as stable. Forgetting that bots and prerenders can pollute RUM samples.
In practice
Pick the field metric that failed, find the segment where it is worst, and reproduce it in the lab with matching throttling. Fix, ship, and watch field p75 over the following weeks.