Shopify stylesheet initiators and the Core Web Vitals

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

Field data PhoneDesktopAll Scope All sites October 2026 edition · All devices 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 96% of all Shopify sites.

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices 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 96% of all Shopify sites. Sites with script-injected stylesheets CSS initiators have it least often, at 95%.

SitesGood, needs improvement, poor LCPMedian
All Shopify sites8,06296%1.3s
Other initiators (@import / headers) 52.7%4,23396%1.3s
Inline <style> blocks 99.9%8,05096%1.3s
HTML parser (<link rel="stylesheet">) 99.1%7,98596%1.3s
Script-injected CSS 59.0%4,77995%1.4s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices 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 · 8,062 with all devices 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: 566 ms median for other CSS initiators against 625 ms for script-injected stylesheets. Overall median field LCP is 1.3s for other CSS initiators (TTFB 391 ms, load delay 566 ms, load duration 202 ms, render delay 330 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 6,989389 ms589 ms208 ms298 ms589 mslab 589 ms1.3s
Other initiators (@import / headers) 3,718391 ms566 ms202 ms330 ms566 mslab 566 ms1.3s
HTML parser (<link rel="stylesheet">) 6,931389 ms589 ms208 ms298 ms589 mslab 589 ms1.3s
Inline <style> blocks 6,982389 ms589 ms208 ms298 ms589 mslab 589 ms1.3s
Script-injected CSS 4,208399 ms625 ms203 ms324 ms625 mslab 625 ms1.4s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices 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 95% of Vue sites have a good LCP, against 96% of all sites. jQuery sets the stylesheet initiator type to inline <style> blocks on 100% of its sites, and 94% 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%96%
Vue 933 sitesInline <style> blocks 100%HTML parser (<link rel="stylesheet">) 100%Script-injected CSS 83%Other initiators (@import / headers) 56%95%
jQuery 3,150 sitesInline <style> blocks 100%HTML parser (<link rel="stylesheet">) 99%Script-injected CSS 68%Other initiators (@import / headers) 41%94%
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 · 8,062 with all devices 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, 94% of sites with other CSS initiators stylesheet initiator type have a good LCP, against 94% 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 95% 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 (96% good LCP, 1.3s median), and inline <style> blocks (99.9%) require zero network round-trips (96% 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 95% (1.4s median).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices 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 (96% good LCP) while 59.0% inject CSS via JavaScript (95% good LCP).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices 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 (8,062 with all devices Chrome field data, 8,243 sites with stylesheet initiator type, October 2026) · How we measured