What Is CLS (Cumulative Layout Shift)?
Quick Definition
CLS measures the total amount of unexpected layout shifts that occur during the entire lifespan of a page, quantifying how much visible content moves around unexpectedly.
Cumulative Layout Shift (CLS) is a Core Web Vital that measures visual stability. It quantifies how much the content on a page moves around unexpectedly as it loads. A layout shift occurs when a visible element changes its position from one rendered frame to the next without user interaction.
A good CLS score is under 0.1. Between 0.1 and 0.25 needs improvement, and above 0.25 is poor. The score is calculated by multiplying the impact fraction (how much of the viewport was affected) by the distance fraction (how far elements moved).
Common causes of layout shift include images and videos without dimensions (the browser doesn't know how much space to reserve until they load), ads or embeds that load dynamically and push content down, web fonts that cause text to resize when they load (Flash of Unstyled Text), and content that's dynamically injected above existing content.
Fixing CLS typically involves always including width and height attributes on images and videos, reserving space for ads and dynamic content, using font-display: swap or optional for web fonts with preloading, and avoiding inserting content above existing content. CSS properties like aspect-ratio and min-height can also help reserve space.
Why It Matters
Layout shifts are one of the most frustrating user experiences on the web. You're about to click a link, and suddenly the content jumps because an ad loaded. You're reading an article, and the text shifts because an image rendered. These unexpected movements cause misclicks, lost reading position, and user frustration.
As a Core Web Vital, CLS affects your Google rankings. But beyond SEO, fixing CLS directly reduces user frustration and can prevent costly misclicks, especially on mobile where ad-related layout shifts might cause accidental ad clicks.
Real-World Examples
A news website reduced their CLS from 0.42 to 0.05 by reserving space for ad slots and adding dimensions to all images, resulting in 30% longer average reading sessions
An e-commerce product page had a CLS of 0.35 because customer review stars loaded late and pushed the "Add to Cart" button down, causing misclicks; fixing this improved the add-to-cart rate by 8%
A blog fixed their CLS issue caused by web fonts loading late by preloading the font file and using font-display: optional, eliminating text layout shifts entirely
A landing page reserved fixed dimensions for a video embed that was causing content below it to jump, bringing CLS from 0.28 to 0.02
Related Terms
Core Web Vitals
Core Web Vitals are a set of three specific metrics defined by Google that measure real-world user experience on websites: loading performance (LCP), interactivity (INP), and visual stability (CLS).
LCP (Largest Contentful Paint)
LCP measures the time it takes for the largest visible content element on a page, such as a hero image or heading, to fully render, indicating how fast a page feels to users.
Lazy Loading
Lazy loading is a technique that delays the loading of non-critical resources, like images below the fold, until they are actually needed, improving initial page load speed.
Responsive Design
Responsive design is a web development approach that makes websites adapt and display properly across all screen sizes, from desktop monitors to tablets and smartphones.
Need help with cls (cumulative layout shift)?
Our team can help you put this into practice. Get a free consultation to discuss your project.