At a glance
Cumulative Layout Shift p75 over time, daily time-series of mobile CLS from CrUX. Pairs with crux_cls_p75 snapshot. The most regression-prone CWV in terms of inadvertent change: theme updates, third-party widget version bumps, and hero image swaps frequently introduce new layout shifts. The trend view surfaces these regressions; the snapshot view alone misses them. CLS definition changed in May 2021 to use session windows; year-over-year comparisons need to acknowledge that boundary.
Calculation
Calculated automatically from your Website Performance (PageSpeed + CrUX) data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK-based BigCommerce fashion store, mobile CLS trend over 6 months ending Wednesday 15 May 26.
What the trend is telling us:
- CLS nearly tripled over 6 months. Started in good band (0.06); now in needs-improvement (0.17). Each individual increment was small enough not to trigger immediate alarm; cumulative effect is meaningful.
-
Three step inflection points are clearly identifiable:
- Feb 26 cookie banner deployment: new GDPR/CCPA banner appearing post-paint and pushing content (+0.03)
- Mar 26 hero carousel aspect-ratio change: marketing-driven creative refresh that taller-cropped hero images without updating the CSS
aspect-ratioreservation (+0.02) - Apr 26 Klaviyo popup repositioning: vendor-side update changed popup mounting behaviour (+0.01)
-
CLS regressions cleanly trace to events, unlike LCP drift which can be more diffuse. Each contribution has a specific fix:
- Cookie banner: switch to
position: fixed; bottom: 0overlay (covered incrux_cls_p75playbook) - Hero carousel: update
aspect-ratioCSS to match new image dimensions, or add explicitwidthandheightHTML attributes - Klaviyo popup: configure popup container with reserved fixed-position space
- Cookie banner: switch to
- Recovery path is clean because each contribution maps to a one-line CSS or config fix. Total recovery time: 1-2 days of focused work; field reflection over 28 days.
-
Future protection: alert on
7-day rolling delta > +0.03catches the next CLS regression within days of it shipping. CLS is the easiest CWV to alert on because regressions are typically step-shaped and sharp; small thresholds catch them reliably.
- Identify each inflection point in the trend.
- Cross-reference with deploy log + content management activity + vendor update changelogs.
- Apply the right fix per cause: aspect-ratio CSS, position-fixed banner, reserved-space widget container.
- Re-audit; field metric absorbs over 28 days.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look:- GSC → Core Web Vitals trend, surfaces 90-day CLS trend.
- CrUX BigQuery dataset, historical CLS data with the May 2021 methodology change visible.
- Web Vitals Chrome extension, live CLS measurement during page-load + interaction.
Cross-connector reconciliation: primarily internal (with
crux_cls_p75, psi_worst_cls_urls).
Quick rule for support tickets: if a merchant says “CLS jumped overnight”, it’s almost certainly a single shipped change. Cross-reference deploy log + CMS edits + vendor changelogs for the exact date.
Known limitations / merchant FAQs
My CLS jumped 0.05 overnight. What likely caused it? A single shipped change. CLS regressions are typically step-shaped, not gradual. Common culprits: cookie banner update, hero image replacement without aspect-ratio update, widget vendor version bump, theme update. Cross-reference deploys and content changes for the exact date. Why is CLS easier to track in trend than LCP? CLS regressions are sharp (a layout shift either exists or doesn’t); LCP regressions are gradual (image got 200KB heavier). The trend curve clearly shows step changes for CLS; LCP drift looks more diffuse. Should I anchor my CLS comparison pre or post May 2021? Post-May 2021. The methodology changed; pre-2021 data is not directly comparable. Most modern analyses anchor on the new session-window methodology. My CLS is steady at 0.08 for months. Is that good enough? Yes; 0.08 is comfortably in the good band (under 0.1). No active CLS work needed; just protect from regression via alerts. What’s the smallest CLS regression worth alerting on? +0.03 over 7 days. Smaller deltas are usually noise; larger deltas almost always trace to a specific event. Setting the alert at +0.03 catches real regressions without false positives. Can Vortex IQ tell me which specific element shifted? Not from CrUX alone, CrUX only provides the score. Lab analysis viapsi_worst_cls_urls and DevTools Performance tab identifies the specific shifting elements. Use the trend to detect; use lab to diagnose.