Skip to content
Core Web Vitals & SpeedCWV

Core Web Vitals

Definition

Core Web Vitals (CWV) are Google's standardized metrics quantifying real-world web user experience: Largest Contentful Paint (LCP) for loading speed, Interaction to Next Paint (INP) for responsiveness, and Cumulative Layout Shift (CLS) for visual stability across all device form factors.

Why It Matters

Google uses Core Web Vitals as an explicit ranking factor in Search page experience evaluations. Sites passing all three thresholds experience lower bounce rates, higher user engagement, and improved conversion rates, while failing sites risk reduced search visibility.

Google Core Web Vitals Official Thresholds (75th Percentile)

Criterion / StateRequirement / TargetStatus
LCP (Loading)≤ 2.5 seconds (Good)Optimal
INP (Responsiveness)≤ 200 milliseconds (Good)Optimal
CLS (Visual Stability)≤ 0.1 score (Good)Optimal

Practical Implementation Example

Using the official web-vitals library captures field measurements directly from end-user devices and beacons them to analytics endpoints without blocking main thread execution.

src/app/vitals-reporter.ts
import { onCLS, onINP, onLCP, Metric } from 'web-vitals';

function sendToAnalytics(metric: Metric) {
  const body = JSON.stringify({ name: metric.name, value: metric.value, id: metric.id });
  navigator.sendBeacon('/api/vitals', body);
}

export function reportWebVitals() {
  onCLS(sendToAnalytics);
  onINP(sendToAnalytics);
  onLCP(sendToAnalytics);
}
Automated Verification

How to Audit CWV in ScanWise

ScanWise audits full Core Web Vitals using Chrome DevTools Protocol and real-user data, measuring 75th percentile LCP, INP, and CLS across mobile and desktop.

Audit your Core Web Vitals in ScanWise

Common CWV Mistakes & How to Fix Them

Common CWV Mistakes & How to Fix Them
MistakeWhy It HurtsThe Fix
Testing only on high-spec developer laptops under perfect network conditions.Core Web Vitals evaluate real-user field data (CrUX) collected primarily on mid-tier mobile devices on cellular networks.Audit using 4x CPU throttling, simulated 4G network conditions, and review the CrUX dashboard.
Focusing solely on LCP while ignoring INP and layout instability.A site that loads rapidly but freezes on user interaction or jumps layout fails the Core Web Vitals assessment.Optimize long tasks with scheduler.yield() and reserve dimensional layout space for dynamic elements.