/CRO and speed

Shopify app bloat: what we found auditing 8 real DTC stores

July 6, 2026 · WOCX

We pulled the public homepage of 8 real, verified Shopify-powered DTC brands and checked each one for common third-party app scripts. The heaviest homepage ran 1.5MB of HTML with 96 script tags. The lightest visible footprint ran under 50KB. Same platform, wildly different app load, and it shows in what a browser has to do before a visitor sees anything.

We built our Shopify store speed guide around the idea that apps are usually the real drag on a store, not Shopify itself. We wanted real numbers behind that claim instead of just asserting it, so we went and checked.

Methodology, plainly

We fetched the public homepage HTML of 8 brands we confirmed are genuinely running Shopify (via the cdn.shopify.com or shopify-features markers in their page source), once, on July 6, 2026. For each one we measured total HTML size, counted <script> tags, and checked for the presence of well-known third-party app domains: Klaviyo, Yotpo, Judge.me, Okendo, Recharge, Gorgias, Nosto, Rebuy, and standard ad/analytics tags.

This has a real limit worth stating up front: it only sees what’s in the initial HTML response. Scripts injected later by JavaScript, and stores built on a custom or headless frontend rather than a standard Shopify theme, won’t show the same signal. One store in our sample runs on Vercel rather than standard Shopify hosting, which is exactly that case, and we’ve flagged it.

What we found

Store Homepage HTML Script tags Third-party apps detected
Colourpop 1,128 KB 166 Klaviyo, Yotpo, Okendo, Gorgias, Nosto, GTM, GA
Brooklinen 1,534 KB 96 Yotpo, Facebook Pixel, GTM, GA
Feals 910 KB 79 Klaviyo, Judge.me, Gorgias, Rebuy, Facebook Pixel, GTM
Kylie Cosmetics 507 KB 86 Klaviyo, Yotpo, Recharge, Nosto, GTM
Allbirds 844 KB 60 GTM only detected
Gymshark 44 KB 32 None detected in raw HTML
Chubbies 795 KB 3 None detected in raw HTML
Bombas 1,480 KB 2 None detected (Vercel-hosted, likely headless)

Two of the “none detected” results are almost certainly a methodology limit, not proof those stores run clean. Chubbies has 795KB of HTML with only 3 script tags, which usually means the apps are injected asynchronously, invisible to a static fetch. Bombas came back from Vercel entirely, so it isn’t rendering a standard Shopify theme for its storefront at all. Gymshark’s 44KB is the one result that plausibly reflects genuine restraint at the HTML level, though it too may load more after the initial paint.

HOMEPAGE HTML WEIGHT Brooklinen Bombas Colourpop Feals Gymshark Same platform, 30x+ spread in weight.
Homepage HTML size, largest to smallest among the heavier results. Gymshark's result likely undercounts what loads after first paint.

Why this matters if you’re not any of these brands

None of these brands are hurting for revenue, and that’s exactly the point worth sitting with. Being a big, successful DTC name does not make a store immune to app bloat, it just means the brand has enough margin and traffic to absorb the cost of it. A smaller store carrying the same review app, loyalty app, upsell app and two analytics tags feels that weight far more, because it has less room to spend on ads to compensate for a slower page.

The apps we found aren’t villains either. Klaviyo, Yotpo, Recharge and Gorgias are genuinely useful, and we’d recommend most of them in the right context. The problem was never having an app. It’s having five or six, each installed for a good reason at the time, never audited together as a stack.

What this means for your store

If a brand with real engineering resources still ships 1.5MB of homepage HTML and 96 script tags, “we’ll get to it eventually” is not a plan, it’s how every store ends up here. The fix is the same one we lay out in why Shopify stores get slow: audit what’s actually installed, keep what earns its weight, and rebuild anything replaceable in clean code instead of an app. If you’re deciding whether a feature is worth a new app or a custom build, what custom Shopify sections cost covers that trade-off directly.

FAQ

Does a slow homepage mean too many apps?

Usually, yes, on a standard Shopify theme. Unoptimised images and a heavy theme contribute too, but a large <script> count is almost always third-party apps, not Shopify’s own code.

Why did some stores show zero apps detected?

Most likely because their scripts load after the initial HTML, or the storefront runs on a custom frontend rather than a standard theme render. It’s a real limit of checking public HTML alone, not proof those stores are clean.

Does a bigger brand mean a faster store?

No. Two of the heaviest homepages in this small sample belong to well-known, successful brands. Revenue buys the ability to absorb a slow page, not immunity from having one.

Should I remove every app my store has?

No, remove the ones not earning their weight. Klaviyo, Yotpo and similar tools showed up because they do real jobs. The fix is auditing the stack, not treating every app as guilty by default.

How do I audit my own store this way?

View source on your homepage and search for known app domains, or run it through PageSpeed Insights for a fuller picture including scripts that load after the initial HTML.

Want your own store audited properly, not just guessed at? Send us the URL and we’ll tell you honestly what’s dragging on it. Usually a reply within the hour.