Audit rules
Core Web Vitals Field Data
Observed 75th percentile LCP, INP and CLS from Chrome UX Report field data. Fails when a metric of the page itself is rated poor (LCP over 4,000 ms, INP over 500 ms, CLS over 0.25); origin-level data only is shown for review. A failure has warning severity and counts against the score.
cwv.field_dataWarning01 — Definition
How This Rule Is Checked
The rule is a pure function of the fetched page: no extra requests, no account settings. The same input always gives the same result.
Rule Severity and Score
- Rule id
cwv.field_data- Group
- Core Web Vitals
- Severity of a failure
- Warning
- Counts in the score
- Yes, whenever it applies to the page
- Required for a score
- No
Condition and Exceptions
- Condition
- Probe crux (fed after the audit by CwvRuleFeed): observed p75 LCP, INP, CLS. URL-level data (level url): a metric rated "poor" (LCP > 4,000 ms, INP > 500 ms, CLS > 0.25) → fail (warning), otherwise pass (needs improvement passes). Origin-level data (CrUX origin fallback) or an unknown level → review (info, never failed), whatever the values. CwvService::applyRule() recomputes the stored score (ADR 0005)
- Exceptions
- No probe (no CrUX data or key), HTML mode → not_checked
Sources and Project Decision
- Sources
- Web Vitals (web.dev, Q69)
CrUX API (Chrome for Developers, S38)
Largest Contentful Paint (LCP) (web.dev, Q66)
Interaction to Next Paint (INP) (web.dev, Q65)
Cumulative Layout Shift (CLS) (web.dev, Q64)
Understanding Core Web Vitals and Google search results (Google Search Central, Q25)
Understanding Google Page Experience (Google Search Central, Q100)
About PageSpeed Insights (field data of the previous 28 days at the 75th percentile, origin fallback, LCP, INP and CLS thresholds) (Google for Developers, Q92)
Method: pagespeedapi.runpagespeed | PageSpeed Insights API v5 (Google for Developers, Q93)
How the Core Web Vitals metrics thresholds were defined (web.dev, Q94)
First Contentful Paint (FCP): good 1.8 seconds or less, poor above 3.0 seconds, at the 75th percentile (web.dev, Q95)
Time to First Byte (TTFB): good 0.8 seconds or less, poor above 1.8 seconds (web.dev, Q96)
Lighthouse viewer, psi-api.js (PSI_DEFAULT_CATEGORIES: the categories the viewer requests from the PageSpeed Insights API, agentic-browsing included) (GoogleChrome/lighthouse (GitHub), Q97)
Lighthouse default config: the agentic-browsing category (categoryScoreDisplayMode fraction, audit references) (GoogleChrome/lighthouse (GitHub), Q98)
Lighthouse report utilities: calculateCategoryFraction() and showAsPassed() (how a fraction category counts passed audits) (GoogleChrome/lighthouse (GitHub), Q99) - Project decision
- Warning (ADR 0005, 2026-10-16): Google says Core Web Vitals are used by its ranking systems and that core ranking systems evaluate pages on a page-specific basis (Q100), so only URL-level field data can fail. Google gives no severity: warning, a recommendation rather than a requirement (Q25: "We highly recommend"). Origin-level data is reviewed, never failed. Since score formula 3.0.0 (ADR 0006) a review counts against the score like any applicable check that did not pass.