Cumulative Layout Shift (CLS)
How much the page visually jumps while it loads — a unitless score for unexpected movement of content the user can already see.
Vanity Risk
CLS is windowed to the worst burst of shifting in a session for a reason: a page that is stable on average but lurches once during load still misclicked the user once. The average hides exactly the event that did the damage.
What it measures
Visual stability. CLS quantifies content moving after it has rendered — a button that slides down as an ad loads, text that reflows when a late font arrives, an image with no reserved space pushing everything below it. It is the one Core Web Vital with no time unit: it is a score where lower is better and 0 means nothing shifted. The damage is concrete — users click the wrong thing because the right thing moved.
Benchmarks
- Good: ≤ 0.1 at P75
- Needs improvement: 0.1–0.25 at P75
- Poor: > 0.25 at P75
- Thresholds: Google web.dev Core Web Vitals (field data, 75th percentile; CLS is unitless)
Figures reviewed June 2026. Benchmarks vary by source and drift over time — treat as directional and verify against your own data.
What to watch
- Above 0.1 at P75: Something is rendering without reserved space. The repeat offenders: images and iframes without width/height attributes, ad and embed slots that size themselves on load, and web fonts that reflow text when they swap in. Each is individually fixable once identified.
- Concentrated on one route: A single template with a late-loading element usually dominates the score. Per-route CLS points straight at the page to fix rather than a site-wide hunt.
- Mobile far worse than desktop: Narrow viewports amplify shift distance and stack more content vertically. A CLS that looks fine on a desktop test can be poor in the field where most visits are mobile.
In practice
A publisher’s article pages had CLS at 0.31 at P75. A leaderboard ad slot with no reserved height pushed the entire article down by roughly 90px the instant it filled. Reserving the slot’s dimensions in CSS so the space was held before the ad arrived brought CLS to 0.04. Accidental ad clicks — and the refund requests that came with them — dropped sharply, because the content stopped moving out from under readers’ taps.
Illustrative scenario — a representative composite, not a specific company.
Related: Largest Contentful Paint — a late-loading large element often causes both a slow LCP and a layout shift when it finally arrives.; Interaction to Next Paint — distinct failure modes (movement vs. latency); a page can be stable but unresponsive, or fast but jumpy.; Bounce Rate — a page that physically moves under a visitor’s tap is a frustration signal that correlates with early exits.