Skip to main content

A Core Web Vitals & site speed breakdown

A technical breakdown of how Whatmore affects your store's Core Web Vitals, JavaScript payload, and page load — backed by real Google CrUX field data from live Shopify merchants.


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.

Did this answer your question?