Skip to content
Free Tool Arena

Glossary · Definition

CLS

CLS (Cumulative Layout Shift) measures how much visible content jumps around unexpectedly as a page loads. Google's target is 0.1 or less. It's the metric that scores how 'janky' a page feels.

Updated April 2026 · 4 min read
100% in-browserNo downloadsNo sign-upMalware-freeHow we keep this safe →

Definition

CLS (Cumulative Layout Shift) measures how much visible content jumps around unexpectedly as a page loads. Google's target is 0.1 or less. It's the metric that scores how 'janky' a page feels.

What it means

Every web user has had the experience: you're about to tap a button, an ad loads above it, the button shifts down, and you tap the ad by accident. CLS measures exactly this. Each 'shift' is scored by how much of the viewport moved and how far. Sum all shifts during the session (up to a 5-second window) and you get the CLS score. Values: ≤0.1 = Good, 0.1-0.25 = Needs Improvement, >0.25 = Poor. The most common causes are images without width/height attributes, ads and embeds injected after initial render, and custom fonts that reflow text when they load.

Advertisement

Why it matters

A bad CLS makes users distrust your page — they stop reading because content keeps moving, or they leave entirely after a mistap. Beyond UX, it's a Core Web Vital and affects rankings. Fortunately, most CLS issues have mechanical fixes: always set width/height on images and videos, reserve space for ads with a min-height, use font-display: optional or swap with fallbacks of matching metrics.

Frequently asked questions

Do user-initiated shifts count?

No — shifts within 500ms of a user interaction are excluded. Only unexpected shifts count.

How do I fix CLS from ads?

Always reserve space for ad units with a fixed or min-height container. An ad that loads into pre-reserved space doesn't shift anything.

Does CLS include shifts below the fold?

Yes — any shift in the viewport during the session counts. Scrolling changes what's 'in the viewport'.

Related terms