{
  "slug": "cumulative-layout-shift",
  "name": "Cumulative Layout Shift",
  "aliases": [
    "CLS"
  ],
  "definition": "How much the page content moves around unexpectedly while it loads.",
  "category": "Page experience",
  "type": "score",
  "unit": "unitless layout-shift score",
  "direction": "lower-better",
  "verification": "verified",
  "calculation": "Read from the product's weighted summary measure as a raw layout-shift value. Display rounds to three decimal places; grading buckets the raw value at 0.1 and 0.25. No vital is rescaled on the way out, the timing vitals are read and shown in seconds, and this one is read and shown as its native unitless score.",
  "aggregation": "The headline is the weighted summary measure read without a page dimension; page-level values feed distributions and worst-page evidence.",
  "grain": "One number per date range, optionally split by device, or one row per page.",
  "dimensions": [
    "page",
    "device"
  ],
  "requiredFilters": [
    "date_range"
  ],
  "sources": [
    "lighthouse"
  ],
  "reports": [
    "core-web-vitals-report"
  ],
  "skills": [
    "cwv-regression-watch",
    "technical-health-audit"
  ],
  "verbs": [
    "site_health_cwv_check"
  ],
  "rungs": [
    "R1"
  ],
  "levers": [
    "L1"
  ],
  "questions": [
    "What is our CLS?",
    "Which pages shift while loading?"
  ],
  "interpretation": "Visual stability. Its numbers are orders of magnitude smaller than the timing vitals', which makes it the one most easily mistaken for the best of the three when they are compared naively, the weakest-vital logic exists precisely because a raw minimum across them would always pick this one.",
  "caveats": [
    "Its numeric scale is orders of magnitude below the timing vitals, so raw numeric comparison across vitals is meaningless, comparison is done on grades instead.",
    "Unitless. It carries no unit at all, where the timing vitals carry seconds, so a value quoted without its vital name is unreadable.",
    "These are lab measurements, not field data from real visitors.",
    "Collection cadence varies by site and by page."
  ],
  "freshness": "varies by site, priority URLs can run nightly; most pages far less often. The collection date rides on the card rather than being assumed.",
  "failureModes": [
    "Comparing a layout-shift value numerically against a timing vital to find the worst one."
  ],
  "notSameAs": [
    {
      "slug": "cwv-vital-grade",
      "why": "The number is a weighted average; the grade is the band. Score and verdict stay separate on every vital."
    }
  ],
  "related": [
    "largest-contentful-paint",
    "interaction-to-next-paint",
    "cwv-weakest-vital"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}