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 fast each group loads
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 LCP 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 LCP.
Parser swings the hardest: 88% of sites pass LCP with few, 67% with many. computed
Few vs many - does quantity cost LCP? 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 Parser costs the most: the LCP pass rate falls from 88% with few to 67% 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, 91% of sites pass the LCP. With Script, 83% do.
Chrome field data from 94,910 sites, representing millions of real page loads. How we measured.