PerformanceLab test

13 apps took 16.1s. Vitals took 3.1s.

Every extra app on a Shopify storefront is another server to reach and another file to wait for. We built the same store twice to see how much that costs.

3.1s
the same 13, in Vitals
13 apps, 13 providers
16.1s

What we measured.

One stock theme, one product page, one measuring tool. The only thing that changed between runs was what was installed.

FULLY LOADED TIME · GTMETRIX · SAME PRODUCT PAGE
LOWER IS BETTER
Clean theme, no apps
1.0s
13 apps, 13 providers
16.1s
The same 13, in Vitals
3.1s
40 Vitals apps switched on
6.5s
01
A clean store

A fresh development store on a stock theme, with imported sample products so the product pages were real pages. Fully loaded: one second.

02
Thirteen apps, thirteen providers

Reviews, shipping bar, currency converter, sales pop-ups, quantity breaks, frequently bought together and the rest. All well rated, all installed the normal way.

03
The same thirteen, in Vitals

We uninstalled everything, reinstalled the theme from scratch to clear the leftovers, then switched on the Vitals equivalents.

04
Then we went further

Forty Vitals apps on at once, on the same theme, to see what the ceiling actually looks like.

The thirteen features, switched on in Vitals.

Same jobs as the thirteen separate apps. One subscription, one script.

FREE SHIPPING BARINSTANT SEARCHCURRENCY CONVERTERPOP-UPSPRODUCT BUNDLESPRODUCT DESCRIPTION TABSTRUST BADGESVOLUME DISCOUNTSRELATED PRODUCTSPRODUCT REVIEWSSPIN THE WHEELLIVE CHATSTICKY ADD TO CART

The part nobody warns you about.

When we uninstalled the thirteen apps, the store did not go back to one second. It stayed at more than double that, because apps that edit theme files leave their code behind when they go.

Two of them emailed instructions for removing their scripts by hand. We reinstalled the theme from scratch instead, which is the only reliable way to get a clean baseline back.

AFTER UNINSTALLING ALL 13
over 2x

the clean baseline, with no apps installed at all. Leftover scripts do not uninstall themselves.

INSTALLED REMOVED STILL THERE

Why the Vitals build is faster.

Three things, and none of them are clever tricks. They are what happens when the apps are built to live together instead of alongside each other.

01 · THE CODE
Written once, shared across every app.

The apps run on one script with shared variables and minified output, serving more than 60 million unique visitors a month. More features did not mean more code.

ONE SCRIPT EVERY APP
02 · THE REQUESTS
One message out, one message back.

If three apps need something from our servers, that is still a single combined request. Badges and star ratings ship as inline SVG, so they are not five more image requests.

13 HANDSHAKES 1
03 · THE CACHING
Three layers, so most visits fetch nothing.

Your settings compile into a script stored on our servers, cached at the Cloudflare edge, then cached in the shopper’s browser for thirty minutes.

ORIGIN EDGE BROWSER

Six things worth doing today.

None of these need a developer, and all of them are worth more than another speed-testing tool.

Fix the broken linksRedirects and dead links make the browser do work for nothing.
Compress the imagesSmaller files, same quality. This is the cheapest win on the list.
Cut the leftover scriptsAnything from an app you no longer run is pure weight.
Lazy-load below the foldLong collection pages do not need every image at once.
Serve from a CDNDistance costs milliseconds on every single request.
Test on mobileMost of your traffic is there, and so is most of the delay.

Thirteen features. One script. Three point one seconds.

Forty-plus apps on one subscription, built to run together.

One script
One team
One bill