Script initiators on React sites

99.6% of audited sites (9,536) load scripts directly from the HTML parser (99% good INP, 48ms median), while 95.1% inject scripts via other scripts (99% good INP, 49ms median) and 71.6% trigger scripts from other initiators (99% good INP).

Field data PhoneDesktopAll Scope All sites October 2026 edition · Desktop field outcomes · React sites only
React Scoped to 9,570 sites out of 210,902 analyzed (frameworks) Compare with all sites →

71.6% of React sites use other script initiators script initiator type, and 99% of those sites have a good INP, against 99% of all React sites.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
1

Core Web Vitals pass rate

Sites with other script initiators script initiator type have a good INP most often: 99%, against 99% of all React sites. Sites with parser-initiated scripts script initiators have it least often, at 99%.

SitesGood, needs improvement, poor INPMedian
All React sites1,97999%48ms
Other initiators (workers / preloads) 71.6%1,06099%45ms
Inline <script> execution 99.6%1,97499%48ms
Script-injected (tag managers / loaders) 95.1%1,85699%49ms
HTML parser (<script src>) 99.6%1,96399%48ms
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Script initiator type usage

Parser-initiated scripts is the most used: 99.6% of React sites. Other script initiators is 71.6% of React sites.

Sites using each option (sites can use more than one) 9,570 sites
HTML parser (<script src>) 99.6% Inline <script> execution 99.6% Script-injected (tag managers / loaders) 95.1% Other initiators (workers / preloads) 71.6%
HTML parser (<script src>) 99.6% Inline <script> execution 99.6% Script-injected (tag managers / loaders) 95.1% Other initiators (workers / preloads) 71.6%
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Script initiator type per platform

Wix sets the script initiator type to other script initiators on 100% of its sites, and 100% of Wix sites have a good INP, against 99% of all sites. WordPress sets the script initiator type to inline scripts on 100% of its sites, and 100% of WordPress sites have a good INP.

PlatformScript initiator type on its sitesGood INP
All React sites 9,570 sitesHTML parser (<script src>) 100%Inline <script> execution 100%Script-injected (tag managers / loaders) 95%Other initiators (workers / preloads) 72%99%
Wix 5,824 sitesHTML parser (<script src>) 100%Other initiators (workers / preloads) 100%Inline <script> execution 100%Script-injected (tag managers / loaders) 100%100%
WordPress 2,342 sitesInline <script> execution 100%HTML parser (<script src>) 99%Script-injected (tag managers / loaders) 88%Other initiators (workers / preloads) 13%100%
HTML parser (<script src>) Inline <script> execution Script-injected (tag managers / loaders) Other initiators (workers / preloads)
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Script initiator or the platform

Does the platform explain the script initiator type difference?

On Wix, 100% of sites with other script initiators script initiator type have a good INP, against 100% of Wix sites with parser-initiated scripts. Within Wix, sites with other script initiators and parser-initiated scripts have a good INP about equally often. On WordPress, 100% of sites with other script initiators script initiator type have a good INP, against 100% of WordPress sites with parser-initiated scripts. Within WordPress, sites with other script initiators and parser-initiated scripts have a good INP about equally often.

Parser-discovered scripts versus cascading script-injected chains

When scripts are declared in HTML (99.6% of sites, 9,536), the browser preload scanner discovers them immediately (99% good INP, 48ms median). On 95.1% of sites (9,098), scripts are dynamically injected by other scripts such as Google Tag Manager or loader snippets (99% good INP, 49ms median), while 71.6% (6,853) trigger scripts via other initiators (99% good INP, 45ms median).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
5

Understanding script initiators

Prefer declarative <script defer> tags in HTML over JavaScript loader chains that inject second- and third-level scripts at runtime, and throttle tag-manager injection so late scripts do not fire during user input. Across all audited sites, 99.6% use parser-initiated scripts (99% good INP) and 95.1% use script-injected loaders (99% good INP).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Uses @import → Iframe dimensions set → Responsive image markup → Third-party share → By Arjen Karel · 9,570 crawled React sites (1,979 with desktop Chrome field data, October 2026) · How we measured