At a glance the headline numbers for Iframe loading
Iframe loading attributes: lazy vs default.
6.1% of iframes are lazy-loaded.
The iframe loading mix who uses what, and how stable each group is
Iframe loading. On the fleet: 93.9% default, 6.1% lazy. 40.5% of sites use at least one default.
Lowest-share bucket: CLS 0.00. Highest-share bucket: CLS 0.01. r = +0.35.
Passing CLS per bucket every category and count level at once - color is the pass rate
Each row is a category, each column its own count bucket (few on the left, many on the right); the cell is the share of those sites passing CLS.
Default swings the hardest: 90% of sites pass CLS with few, 74% with many. computed
Few vs many - does quantity cost CLS? the pass rate with few vs many of each category
Per category: the pass rate among pages with FEW of it (hollow ring) against pages with MANY (solid dot), worst trend first. Thin buckets are excluded from the endpoints.
More Default costs the most: the CLS pass rate falls from 90% with few to 74% with many. computed
Why this matters for the Core Web Vitals, and where to start fixing it
An iframe is a whole page inside your page: its own HTML, scripts and resources. An embed below the fold that loads eagerly spends bandwidth and CPU on something the visitor may never scroll to, and its work competes with your page at the busiest moment of the load.
loading=lazy on iframes defers all of that until the visitor approaches. For YouTube embeds and maps the better pattern is a facade: a static preview that becomes the real embed on click. The page pays for the embed only when someone wants it.
How does this affect the Core Web Vitals?
Of the 2 categories, Lazy separates passing sites from failing sites the most. Where Lazy is rare: 83% pass the LCP. Where it is common: 71%.
Chrome field data from 94,910 sites, representing millions of real page loads. How we measured.