Performance

CLS (Cumulative Layout Shift)

CLS measures unexpected layout movement. Good CLS is 0.1 or less at the 75th percentile of real users.

Growth and marketing work

Why it shows up in your week

The user aims for "Request a call." A cookie banner or lazy image shoves the button down. They tap the wrong thing. That jump is CLS, and they blame your site, not the banner vendor.

In plain language

Always set width and height (or aspect-ratio) on images and embeds so space is reserved before they load.

Avoid injecting banners above existing content without a reserved region.

Font swaps can shift text. Use font-display strategies and similar fallback metrics to reduce late text jumps.

Late-loading chat widgets and sticky bars are frequent CLS offenders on marketing sites.

Measure on mobile field data. Desktop screenshots hide thumb-level shifts.

Facts worth keeping

Good threshold
≤0.1 at the 75th percentile
Needs improvement
0.1–0.25
Poor
>0.25
Common causes
Images without dimensions, ads/embeds, late fonts, injected banners
Family
Core Web Vital with LCP and INP

Not the same as

  • Smooth animations you intendedCLS scores unexpected shifts. Intentional transitions are a different concern.
  • LCPLCP is about when main content paints. CLS is about whether content moves after it appears.
  • Scroll position changes from user inputUser-driven scrolling is not the same as layout shift from loading content.

Where it bites

CLS hurts on mobile when a cookie banner, chat widget, or lazy image shoves the primary CTA after the thumb is already moving.

Rage taps and mis-clicks follow, and form analytics look mysteriously worse on phones.

What to check

  • Which elements contribute the most shift on mobile field data?
  • Do images and embeds reserve space before they load?
  • Do late-loading banners or sticky bars push content without a reserved region?
  • Are webfonts causing late text jumps on key templates?
  • Does the cookie banner layout reserve space from the first paint?

Common questions

What is CLS?

Cumulative Layout Shift measures how much visible content unexpectedly moves during load and interaction.

What is a good CLS score?

Google treats 0.1 or less at the 75th percentile as good. Between 0.1 and 0.25 needs improvement. Above 0.25 is poor.

What should you fix first for CLS?

Reserve space for images, embeds, and dynamic banners, then address late fonts and UI injected above existing content.

Do cookie banners affect CLS?

Yes, if they push content without reserved space or load late. Design the banner into the first layout.

Is CLS only an SEO metric?

No. It is a UX metric that also feeds SEO page experience. Users feel it as jumps and mis-taps.

Start here

Ready to talk.Book a short diagnostic.

Tell us what needs fixing

A process, a tool, a decision that's stuck. One sentence is fine.

By submitting you agree to our privacy policy.

We read every brief and reply within one business day.

Prefer to talk first?or request a tech stack audit or email us directly

Not sure where to start? Send the stuck decision, workflow, or page. We will say whether you need a diagnostic call, a tech stack audit, or a different first step.