Core Web Vitals and CrUX
Field data versus lab data, the p75 thresholds, and why HubSEO never mixes the two.
Core Web Vitals describe real loading, interactivity, and layout stability. HubSEO measures them from the Chrome UX Report: field data from real Chrome users, at the 75th percentile.
The three metrics
| Metric | Measures | Good | Needs work | Poor |
|---|---|---|---|---|
| LCP | Largest Contentful Paint | ≤ 2.5s | ≤ 4.0s | > 4.0s |
| INP | Interaction to Next Paint | ≤ 200ms | ≤ 500ms | > 500ms |
| CLS | Cumulative Layout Shift | ≤ 0.1 | ≤ 0.25 | > 0.25 |
Grades come from the standard CrUX p75 thresholds. A metric with no public
field sample is reported undefined and omitted. It is never zero-graded.
Field versus lab, strictly separated
- Field (CrUX): real users, real devices, real networks. This is the only source HubSEO uses for INP. If your URL has too little traffic for a public field sample, INP is simply not reported.
- Lab (Lighthouse): controlled emulation, mobile and desktop, great for diagnosing causes. Lab timings never masquerade as field measurements, and no lab score is presented as real-user experience.
This separation is deliberate. Conflating the two is the most common way SEO reports mislead.
Why p75
The 75th percentile is the industry target: it means three quarters of real visits got the good experience. Reporting a mean would hide the tail; p75 is honest about it.
Acting on a poor grade
- Find the metric and its p75 value in the audit's CrUX section.
- Read the paired Lighthouse lab run for the likely cause: lab diagnostics exist exactly for this.
- Fix, deploy, re-scan. The AI fix workflow prepares the change for a coding agent when you want it.
Field data updates on CrUX's own cadence, so a fixed page can take weeks to reflect in the field sample. Lab numbers move immediately; that is what verification uses.
