Will adding Whatmore slow down my store? Short answer: No. Whatmore is engineered to stay completely off your store's critical render path. For a visitor who lands on your page and never scrolls to the widget, the total Whatmore footprint is just 18 KB of non-executing JavaScript — roughly the size of a small logo image.
Every claim in this article is backed by real Google CrUX field data from live Whatmore merchants. Full per-merchant breakdowns are at the bottom.
How Whatmore loads: a 3-stage architecture
Instead of loading everything upfront, Whatmore splits its code into three stages that fire only when needed. This is the single most important reason Whatmore doesn't impact performance.
Stage | Size (gzipped) | When it loads | What it does |
1. Bootstrap loader | ~18 KB | On page load | Sits idle. Does not execute, render, or block anything. |
2. Viewport chunk | ~100–120 KB | When widget scrolls into view | Renders the carousel UI and compressed thumbnails — only for videos currently visible. |
3. Interaction chunk | ~120–150 KB | When a visitor taps a video | Initialises video playback. |
The math for a typical visitor:
Visitor who bounces before scrolling → 18 KB total
Visitor who scrolls past the widget → ~120–140 KB total
Visitor who actively engages with a video → ~240–290 KB total, loaded progressively
For context, 240–290 KB is roughly the size of a single optimised hero image — except spread across three triggered stages rather than dumped onto first paint.
How each Core Web Vital is handled
Whatmore is designed to contribute zero to each Core Web Vital on initial page load. Here's the per-metric breakdown:
LCP — Largest Contentful Paint
The Whatmore widget is never the LCP element. Because it activates only on viewport entry, it never competes with your hero images or above-the-fold content. LCP is determined entirely by your theme.
INP — Interaction to Next Paint
Widget JavaScript is deferred until the widget enters the viewport, so it contributes zero to initial interaction cost. Event listeners are scoped strictly to the widget container — they don't touch global page responsiveness.
CLS — Cumulative Layout Shift
The widget container's dimensions are pre-reserved via CSS before any content loads. A shimmer skeleton placeholder appears immediately at the final dimensions, so when the carousel renders, nothing on the page moves.
FCP — First Contentful Paint
The 18 KB bootstrap script is non-rendering on load. It cannot affect when your page first paints content. FCP is driven entirely by your theme's assets.
TTFB — Time to First Byte
TTFB is a pure server-side metric (hosting, CDN, Shopify infrastructure). Whatmore has no bearing on it.
How Whatmore renders instantly — no loading spinners
Whatmore uses Shopify Metafields to pre-store widget configuration directly on your storefront. This means the moment the widget enters the viewport, a shimmer skeleton renders immediately — no waiting on an API round trip.
Visitors never see a blank rectangle. The shimmer fades into the carousel as video data streams in behind the scenes, giving the impression of a polished, native-feeling component.
Video quality adapts to every network
When a visitor actually plays a video, Whatmore uses Adaptive Bitrate (ABR) streaming over HLS. The player automatically picks the right quality in real time based on the visitor's network speed and device.
Fast connection → higher resolution stream
Slower or fluctuating connection → steps down to a lower bitrate, no buffering
Quality changes happen mid-playback, invisibly
The result: a smooth, buffer-free experience whether your customer is on home WiFi or 4G on the train.
Real performance data from live Whatmore stores
Below is Google CrUX field data (75th percentile, latest 28-day window) from live merchants running Whatmore. These are real user measurements — not lab simulations or staged tests.
Interior Delights, Stepr, and Underneat — all passing Core Web Vitals
Merchant | Device | LCP | INP | CLS | FCP | TTFB |
Desktop | 1.6 s ✅ | 65 ms ✅ | 0.05 ✅ | 1.3 s ✅ | 0.6 s ✅ | |
| Mobile | 1.9 s ✅ | 120 ms ✅ | 0.01 ✅ | 1.7 s ✅ | 1.0 s ⚠️* |
Desktop | 2.4 s ✅ | 87 ms ✅ | 0 ✅ | 1.4 s ✅ | 0.6 s ✅ | |
| Mobile | 1.9 s ✅ | 127 ms ✅ | 0 ✅ | 1.3 s ✅ | 0.6 s ✅ |
Desktop | 1.7 s ✅ | 67 ms ✅ | 0.01 ✅ | 1.5 s ✅ | 0.4 s ✅ | |
| Mobile | 1.8 s ✅ | 156 ms ✅ | 0 ✅ | 1.6 s ✅ | 0.4 s ✅ |
* Interior Delights' mobile TTFB reflects the merchant's hosting and CDN configuration — TTFB is a pure server-side metric that Whatmore has no bearing on.
Don't take our word for it — verify these numbers yourself. Open any of the stores above in a new tab and you'll see the Whatmore widget live. To check the raw CrUX data on each, run them through Google's PageSpeed Insights:
PageSpeed Insights pulls the same Google CrUX field data we've quoted here. Numbers may differ slightly from the table above because CrUX updates on a rolling 28-day window — but the verdict on each store stays the same.
See the numbers for your own store
The benchmarks above are from other Whatmore merchants. If you'd like Core Web Vitals data for your store instead, the team can pull it on demand.
During your 14-day trial (available on Scale plan and above), our team generates PageSpeed Insights reports for your domain at any point you ask — before installation, after installation, and at any point in between if you want to track the delta. The numbers come from the same Google CrUX field data cited throughout this article, but pulled against your traffic, your customers, your theme.
Reach out to your Whatmore contact to get started. Thank you.




