Shopify script initiators and the Core Web Vitals

99.9% of audited sites (8,232) load scripts directly from the HTML parser (93% good INP, 111ms median), while 99.9% inject scripts via other scripts (93% good INP, 111ms median) and 19.1% trigger scripts from other initiators (90% good INP).

Field data PhoneDesktopAll Scope All sites October 2026 edition · Phone field outcomes · Shopify sites only
Shopify Scoped to 8,248 sites out of 203,892 analyzed (cms) Compare with all sites →

99.9% of Shopify sites use inline scripts script initiator type, and 93% of those sites have a good INP, against 93% of all Shopify sites.

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with script initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
1

Core Web Vitals pass rate

Sites with inline scripts script initiator type have a good INP most often: 93%, against 93% of all Shopify sites. Sites with other script initiators script initiators have it least often, at 90%.

SitesGood, needs improvement, poor INPMedian
All Shopify sites5,82593%111ms
Inline <script> execution 99.9%5,82293%111ms
Script-injected (tag managers / loaders) 99.9%5,82193%111ms
HTML parser (<script src>) 99.9%5,81693%111ms
Other initiators (workers / preloads) 19.1%1,15990%121ms
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with script initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Script initiator type usage

Inline scripts is the most used: 99.9% of Shopify sites.

Sites using each option (sites can use more than one) 8,243 sites
Inline <script> execution 99.9% Script-injected (tag managers / loaders) 99.9% HTML parser (<script src>) 99.9%
Inline <script> execution 99.9% Script-injected (tag managers / loaders) 99.9% HTML parser (<script src>) 99.9% Other initiators (workers / preloads) 19.1%
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with script initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Script initiator type per framework

Vue sets the script initiator type to inline scripts on 100% of its sites, and 91% of Vue sites have a good INP, against 93% of all sites.

FrameworkScript initiator type on its sitesGood INP
Shopify sites with script initiator type 8,243 sitesInline <script> execution 100%Script-injected (tag managers / loaders) 100%HTML parser (<script src>) 100%Other initiators (workers / preloads) 19%93%
jQuery 3,150 sitesInline <script> execution 100%HTML parser (<script src>) 100%Script-injected (tag managers / loaders) 100%Other initiators (workers / preloads) 25%92%
Vue 933 sitesHTML parser (<script src>) 100%Inline <script> execution 100%Script-injected (tag managers / loaders) 100%Other initiators (workers / preloads) 23%91%
Inline <script> execution Script-injected (tag managers / loaders) HTML parser (<script src>) Other initiators (workers / preloads)
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with script initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Script initiator or the framework

Does the framework explain the script initiator type difference?

On jQuery, 92% of sites with inline scripts script initiator type have a good INP, against 92% of jQuery sites with script-injected scripts. Within jQuery, sites with inline scripts and script-injected scripts have a good INP about equally often. On Vue, 91% of sites with inline scripts script initiator type have a good INP, against 91% of Vue sites with script-injected scripts. Within Vue, sites with inline scripts and script-injected scripts have a good INP about equally often.

Parser-discovered scripts versus cascading script-injected chains

When scripts are declared in HTML (99.9% of sites, 8,232), the browser preload scanner discovers them immediately (93% good INP, 111ms median). On 99.9% of sites (8,238), scripts are dynamically injected by other scripts such as Google Tag Manager or loader snippets (93% good INP, 111ms median), while 19.1% (1,571) trigger scripts via other initiators (90% good INP, 121ms median).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with script initiator typeBy 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.9% use parser-initiated scripts (93% good INP) and 99.9% use script-injected loaders (93% good INP).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with script initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Uses @import → Iframe dimensions set → Responsive image markup → Third-party share → By Arjen Karel · 8,246 crawled Shopify sites (5,825 with phone Chrome field data, 8,243 sites with script initiator type, October 2026) · How we measured