Script initiator
What injected each script: the HTML parser, another script, or inline markup.
At a glance the headline numbers for Script initiator
What injected each script: the HTML parser, another script, or inline markup.
18.3% of scripts are injected by other scripts.
The script initiator mix who uses what, and how fast each group loads
Script initiator. On the fleet: 40.6% inline, 40.2% parser, 18.3% script. 94.1% of sites use at least one inline.
By count inline leads (40.6%); by bytes it is parser (49.5%). computed
Passing INP 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 INP.
Script swings the hardest: 95% of sites pass INP with few, 86% with many. computed
Few vs many - does quantity cost INP? 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 INP pass rate falls from 95% with few to 86% with many. computed
Why this matters for the Core Web Vitals, and where to start fixing it
How a script got onto the page predicts when it runs. Parser-discovered scripts are visible to the preload scanner from the first bytes of HTML. Script-injected scripts are invisible until their parent downloads, parses and runs. That is a chain, and every link adds a network round trip.
Tag managers build these chains by design: the manager loads, then injects tags, which inject more tags. Each hop lands late and competes with your page. Flattening one chain often helps more than minifying everything.
How does this affect the Core Web Vitals?
The choice barely moves the INP: 93% pass at best, 90% at worst. This signal does not separate passing sites from failing ones.
Chrome field data from 94,910 sites, representing millions of real page loads. How we measured.