Shopify stylesheet initiators and the Core Web Vitals

99.1% of audited sites (8,168) load stylesheets directly via the HTML parser (95% good LCP, 1.4s median), whereas the 59.0% (4,863) injecting stylesheets via JavaScript drop to 94% good LCP (1.4s median).

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 →

52.7% of Shopify sites use other CSS initiators stylesheet initiator type, and 96% of those sites have a good LCP, against 95% 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 stylesheet initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with other CSS initiators stylesheet initiator type have a good LCP most often: 96%, against 95% of all Shopify sites. Sites with script-injected stylesheets CSS initiators have it least often, at 94%.

SitesGood, needs improvement, poor LCPMedian
All Shopify sites5,82595%1.4s
Other initiators (@import / headers) 52.7%3,13796%1.4s
Inline <style> blocks 99.9%5,81795%1.4s
HTML parser (<link rel="stylesheet">) 99.1%5,77395%1.4s
Script-injected CSS 59.0%3,59594%1.4s
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 stylesheet initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Stylesheet initiator type usage

Inline <style> blocks is the most used: 99.9% of Shopify sites. Other CSS initiators is 52.7% of Shopify sites.

Sites using each option (sites can use more than one) 8,243 sites
Inline <style> blocks 99.9% HTML parser (<link rel="stylesheet">) 99.1% Script-injected CSS 59.0% Other initiators (@import / headers) 52.7%
Inline <style> blocks 99.9% HTML parser (<link rel="stylesheet">) 99.1% Script-injected CSS 59.0% Other initiators (@import / headers) 52.7%
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with stylesheet initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
3

LCP phase breakdown by stylesheet initiator

Across the four LCP sub-parts in Chrome's field data, the largest gap between other CSS initiators and script-injected stylesheets sits in resource load delay: 567 ms median for other CSS initiators against 631 ms for script-injected stylesheets. Overall median field LCP is 1.4s for other CSS initiators (TTFB 400 ms, load delay 567 ms, load duration 201 ms, render delay 344 ms) versus 1.4s for script-injected stylesheets.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
Shopify sites with stylesheet initiator type 5,046402 ms590 ms206 ms312 ms590 mslab 596 ms1.4s
Other initiators (@import / headers) 2,757400 ms567 ms201 ms344 ms567 mslab 571 ms1.4s
HTML parser (<link rel="stylesheet">) 5,005402 ms590 ms206 ms312 ms590 mslab 596 ms1.4s
Inline <style> blocks 5,042402 ms590 ms206 ms312 ms590 mslab 596 ms1.4s
Script-injected CSS 3,165411 ms631 ms203 ms343 ms631 mslab 635 ms1.4s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with stylesheet initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Stylesheet initiator type per framework

Vue sets the stylesheet initiator type to other CSS initiators on 56% of its sites, and 94% of Vue sites have a good LCP, against 95% of all sites. jQuery sets the stylesheet initiator type to inline <style> blocks on 100% of its sites, and 93% of jQuery sites have a good LCP.

FrameworkStylesheet initiator type on its sitesGood LCP
Shopify sites with stylesheet initiator type 8,243 sitesInline <style> blocks 100%HTML parser (<link rel="stylesheet">) 99%Script-injected CSS 59%Other initiators (@import / headers) 53%95%
Vue 933 sitesInline <style> blocks 100%HTML parser (<link rel="stylesheet">) 100%Script-injected CSS 83%Other initiators (@import / headers) 56%94%
jQuery 3,150 sitesInline <style> blocks 100%HTML parser (<link rel="stylesheet">) 99%Script-injected CSS 68%Other initiators (@import / headers) 41%93%
Inline <style> blocks HTML parser (<link rel="stylesheet">) Script-injected CSS Other initiators (@import / headers)
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with stylesheet initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
5

Stylesheet initiator or the framework

Does the framework explain the stylesheet initiator type difference?

On jQuery, 93% of sites with other CSS initiators stylesheet initiator type have a good LCP, against 93% of jQuery sites with inline <style> blocks. Within jQuery, sites with other CSS initiators and inline <style> blocks have a good LCP about equally often. On Vue, 96% of sites with other CSS initiators stylesheet initiator type have a good LCP, against 94% of Vue sites with inline <style> blocks. Within Vue, sites with other CSS initiators and inline <style> blocks have a good LCP about equally often.

Why JavaScript-injected stylesheets delay rendering and trigger layout recalculation

Stylesheets declared in HTML (99.1% of sites, 8,168) are discovered immediately by the preload scanner (95% good LCP, 1.4s median), and inline <style> blocks (99.9%) require zero network round-trips (95% good LCP). When stylesheets are injected at runtime by JavaScript (59.0% of sites, 4,863), CSS discovery waits for script download and execution, dropping good LCP to 94% (1.4s median).

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

Understanding stylesheet initiators

Extract component CSS at build time into static <link rel="stylesheet"> tags or inline critical <style> blocks instead of injecting stylesheets dynamically from JavaScript at runtime. Across all audited sites, 99.1% use parser-initiated CSS (95% good LCP) while 59.0% inject CSS via JavaScript (94% good LCP).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 5,825 with phone field data · 8,243 sites with stylesheet initiator typeBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Image dimensions set → Script initiator → Stylesheets per page → Scripts per page → By Arjen Karel · 8,246 crawled Shopify sites (5,825 with phone Chrome field data, 8,243 sites with stylesheet initiator type, October 2026) · How we measured