CDN impact Shopify sites
Time to first byte by CDN provider, measured in real-user Chrome data.
1
At a glance the headline numbers for CDN impact
Time to first byte by CDN provider, measured in real-user Chrome data.
13
Providers ranked
After min-sites filter
32,979
Sites in sample
Combined across all items
496ms
Best TTFB (p75)
Netlify Edge
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
2
The ranking sorted by TTFB at p75, fastest first
| # | Provider | TTFB p75 | Passing | Sites | |
|---|---|---|---|---|---|
| 1 | Netlify Edge | 496ms | 98.2% | 89 | |
| 2 | Akamai | 517ms | 95.9% | 302 | |
| 3 | Cloudflare | 523ms | 95.7% | 8,248 | |
| 4 | Google Cloud CDN | 523ms | 95.9% | 8,213 | |
| 5 | unpkg | 527ms | 94.1% | 377 | |
| 6 | Fastly | 530ms | 95.7% | 5,990 | |
| 7 | Bunny CDN | 533ms | 95.8% | 1,569 | |
| 8 | cdnjs | 533ms | 95.8% | 1,458 | |
| 9 | CloudFront | 535ms | 95.5% | 4,753 | |
| 10 | Vercel Edge | 543ms | 95.2% | 129 | |
| 11 | jsDelivr | 554ms | 94.9% | 1,260 | |
| 12 | KeyCDN | 559ms | 93.7% | 466 | |
| 13 | Azure CDN | 560ms | 95.2% | 125 |
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
3
Passing TTFB per CDN which group passes the TTFB most often
CDNSitesPassing TTFBp75
Sucuri 0.1% 8 562ms
Imperva/Incapsula 0.1% 7 486ms
Netlify Edge 1.1% 89 496ms
Google Cloud CDN 99.6% 8,213 523ms
Akamai 3.7% 302 517ms
Bunny CDN 19% 1,569 533ms
cdnjs 17.7% 1,458 533ms
Cloudflare 100% 8,248 523ms
Fastly 72.6% 5,990 530ms
CloudFront 57.6% 4,753 535ms
Vercel Edge 1.6% 129 543ms
Azure CDN 1.5% 125 560ms
jsDelivr 15.3% 1,260 554ms
unpkg 4.6% 377 527ms
KeyCDN 5.6% 466 559ms
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good TTFB (800ms at p75) · one value per site
No CDN stands out: pass rates sit between 94% and 96%. computed
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
4
All five vitals at once the whole category without toggling - cell is the pass rate, small number the p75
LCP
INP
CLS
FCP
TTFB
Cloudflare 100%
951.7s
93139ms
940.01
951.2s
96523ms
Google Cloud CDN 99.6%
951.7s
93139ms
940.01
951.2s
96523ms
Fastly 72.6%
941.8s
92146ms
930.02
941.2s
96530ms
CloudFront 57.6%
941.8s
91150ms
930.02
941.3s
96535ms
Bunny CDN 19%
941.8s
90153ms
920.03
951.3s
96533ms
cdnjs 17.7%
931.9s
91149ms
900.03
941.3s
96533ms
jsDelivr 15.3%
921.9s
90162ms
920.03
921.3s
95554ms
KeyCDN 5.6%
951.9s
88163ms
930.03
951.3s
94559ms
unpkg 4.6%
911.9s
86164ms
920.03
931.3s
94527ms
Akamai 3.7%
911.8s
86165ms
910.03
911.3s
96517ms
Vercel Edge 1.6%
902.0s
83173ms
890.04
921.3s
95543ms
Azure CDN 1.5%
941.8s
85163ms
930.04
921.2s
95560ms
Netlify Edge 1.1%
951.8s
94137ms
930.01
951.1s
98496ms
Sucuri 0.1%
1001.6s
100122ms
1000.00
1001.1s
100562ms
Imperva/Incapsula 0.1%
1001.5s
10083ms
1000.00
1001.1s
100486ms
60%95%+ passing Cell: pass rate, small number = p75 · faded rows: under 100 sites
One row per CDN, one column per vital - the cell is the share of sites passing, the small number the p75. No toggling needed to see where the category actually differs.
Cloudflare leads on TTFB: 96% of its sites pass. unpkg trails at 94%. computed
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
Want the polished comparison? View as a share-anchored page →
Related signals Marketing pixels (10) → Bot detection (8) → Forms (4) → Personalization (6) → 203,892 crawled sites with Chrome field data, representing millions of real page loads · How we measured
203,892 crawled sites with Chrome field data, representing millions of real page loads. How we measured.