PingView tracks Core Web Vitals two ways: a repeatable lab audit that tells you what your code does, and field data at p75 that tells you what search sees. When the two disagree, the gap is the bug.
Google's own thresholds, evaluated at the 75th percentile of your visits. These are the numbers PingView grades against.
| Metric | Good | Poor |
|---|---|---|
| LCPLargest Contentful PaintHow long until the main content is actually painted. Usually a hero image, a heading, or a video poster. | ≤ 2.5 s | > 4.0 s |
| INPInteraction to Next PaintHow long the page takes to visibly respond after a tap or click. Replaced FID because it measures every interaction, not just the first. | ≤ 200 ms | > 500 ms |
| CLSCumulative Layout ShiftHow much the layout jumps while loading. Late-loading banners, images without dimensions, and injected fonts are the usual causes. | ≤ 0.1 | > 0.25 |
Between good and poor sits "needs improvement". PingView shows all three bands, because a metric drifting through the middle is the warning you can still act on.
A mean LCP of 2.1s looks fine while a quarter of your visitors wait five seconds. Google does not grade the mean; it grades the 75th percentile.
You report a passing number while search records a failing one.
A lab audit runs on a clean machine with a fast connection. Real visits happen on mid-range phones over patchy mobile networks with your consent banner and tag manager loaded.
You optimise for the score you can see and miss the score that ranks you.
A marketing tag, a chat widget or a new font is added without a deploy. CLS climbs, INP drifts, and no release note mentions it.
The metric degrades for weeks before anyone connects it to a cause.
Lab tells you what changed. Field tells you who it hurt. You need the pair.
Real visits are collected from the browser and reduced to the 75th percentile, the same statistic Google evaluates, with p95 and p99 kept alongside so you can see the tail.
Lighthouse runs desktop and mobile on a fixed cadence, giving you a controlled measurement that isolates your own code from network noise.
Split the same metric by mobile and desktop, by browser and by location, so a number that fails only on mid-range Android is visible instead of averaged away.
Every value is rated good, needs improvement or poor using Google's published thresholds, so a metric drifting toward the line is flagged before it crosses.
Field and lab numbers sit on the same monitor as uptime, SSL and security posture, so a performance drop can be lined up against an incident
Percentiles are kept, not just the headline value, so you can tell a slow tail from a slow site
Vitals appear in the weekly report your client already receives, next to availability
Core Web Vitals are measured two ways. Each has its own page.
Measure the lab and the field, and stop reporting a number search does not use.