Stylesheet initiator
What injected each stylesheet: parser, script, or inline.
At a glance the headline numbers for Stylesheet initiator
What injected each stylesheet: parser, script, or inline.
3.7% of stylesheets are injected by JavaScript.
The stylesheet initiator mix who uses what, and how stable each group is
Stylesheet initiator. On the fleet: 49.4% inline, 46.4% parser, 3.7% script. 87.1% of sites use at least one inline.
By count inline leads (49.4%); by bytes it is parser (58.9%). computed
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.
Script swings the hardest: 86% of sites pass CLS with few, 68% 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 Script costs the most: the CLS pass rate falls from 86% with few to 68% with many. computed
Why this matters for the Core Web Vitals, and where to start fixing it
Script-injected CSS is late CSS. The preload scanner cannot see it, it downloads only after the injecting script ran, and when it finally applies it can restyle content that was already painted. Parser-discovered link tags are known from the first bytes of HTML and download immediately.
Late stylesheets are also a CLS source: content rendered with the early styles jumps when the late sheet lands. If a script must inject styles for a widget, scope them to the widget so the rest of the page cannot move.
How does this affect the Core Web Vitals?
Stylesheet initiator correlates with the LCP. With Other, 87% of sites pass the LCP. With Script, 78% do.
Chrome field data from 94,910 sites, representing millions of real page loads. How we measured.