Sample report. A real audit of Shopify's own Dawn demo store (stock theme, no apps). Your store's report has the same sections, usually with more to fix.← FirstFrame  ·  Check your store free
FirstFrameShopify speed audits · Singapore
2 Nov 2026, 08:45 SGT
Shopify's Dawn demo store

Speed audit: Shopify's Dawn demo store

Shopify store · theme Dawn 15.0.0 · 3 pages tested on a simulated phone

Real visitorsNo datanot enough Chrome visits yet
Lab score, test starts on time95home page, phone
Lab score, test starts late861 of 6 runs started late
Proven fixes found10 high impact

Real visitors: Google has no real-visitor data for this store yet (it needs enough Chrome visits over 28 days), so only the lab test is available.

Lab score (home page, phone): about 95 when the test starts on time, about 86 when it starts late (1 of Google's 6 runs started late). Late starts come and go on Google's machine, so the number on pagespeed.web.dev jumps between the two - here the higher one is the more common.

Biggest wins: (1) load the styles of hidden pop-ups in the background.

1. What real visitors experience

Google has no real-visitor data for this store yet. It needs enough visits from Chrome users over 28 days; small or new stores often have none. Until then the lab test below is the only measure.

2. The lab test (the PageSpeed score)

PageSpeed loads your page once at full speed, notes when the first frame was drawn, then simulates a slow phone. Anything that finished downloading before that first frame is counted as needed for it. On Google's test machine the first frame often comes a second or two late, for reasons that are not your store's fault (Shopify's own demo store does it too). Then everything downloaded meanwhile counts against you - which is why the same page can score 90 one minute and 65 the next. The fixes below are about what is downloading, and what blocks the screen, in those first two seconds.

* simulated slow-phone times, as on pagespeed.web.dev. "First frame" is the real, unsimulated moment the first frame was drawn; "late start" means it came more than 0.7 s after the page's HTML had arrived.

Home page · theme-dawn-demo.myshopify.com/

Biggest element on screen: a photo: A woman crouches while holding multiple blue handbags. HTML: 42 KB compressed (244 KB of code), built by the server in 29 ms. Requests: 274 (1758 KB). Finished by 2.3 s (what a late start would count): 1284 KB.

Google's own runs (PageSpeed Insights)

RunScoreFirst frameStartFirst content*Main content*Speed Index*Done before 1st frame
1950.38 son time0.9 s3.0 s1.8 s398 KB
2861.30 slate start1.8 s3.9 s3.7 s430 KB
3950.25 son time0.9 s3.0 s1.8 s271 KB
4950.27 son time0.9 s3.0 s1.7 s398 KB
5950.31 son time0.9 s3.0 s1.9 s273 KB
6950.23 son time1.1 s3.0 s1.8 s272 KB

Our lab runs (Lighthouse 13.6.0, simulated slow phone)

RunScoreFirst frameStartFirst content*Main content*Speed Index*Done before 1st frame
1900.31 son time1.2 s3.5 s2.6 s440 KB
2960.19 son time1.0 s2.7 s2.3 s278 KB
3960.19 son time1.0 s2.7 s2.3 s422 KB

What the first frame waits for

FileWhoseSizeDone at
…demo.myshopify.com/cdn/shop/t/53/assets/component-slideshow.cssYour theme2 KB200 ms
…wn-demo.myshopify.com/cdn/shop/t/53/assets/component-slider.cssYour theme3 KB200 ms
…mo.myshopify.com/cdn/shop/t/53/assets/component-list-social.cssYour theme1 KB199 ms
theme-dawn-demo.myshopify.com/cdn/shop/t/53/assets/base.cssYour theme12 KB189 ms
…hopify.com/cdn/shop/t/53/assets/component-localization-form.cssYour theme3 KB188 ms

Product page · …yshopify.com/products/small-convertible-flex-bag-cappuccino

Biggest element on screen: a photo: div.product-media-container > modal-opener.product__modal-opener > div.product__media > im. HTML: 54 KB compressed (346 KB of code), built by the server in 27 ms. Requests: 270 (1599 KB). Finished by 2.3 s (what a late start would count): 1151 KB.

Google's own runs (PageSpeed Insights)

RunScoreFirst frameStartFirst content*Main content*Speed Index*Done before 1st frame
1910.29 son time1.1 s3.4 s2.0 s351 KB
2980.26 son time1.1 s2.4 s2.0 s290 KB

Our lab runs (Lighthouse 13.6.0, simulated slow phone)

RunScoreFirst frameStartFirst content*Main content*Speed Index*Done before 1st frame
1960.18 son time1.1 s2.7 s2.0 s318 KB
2980.16 son time1.1 s2.3 s2.0 s269 KB
3980.17 son time1.1 s2.3 s1.6 s208 KB

What the first frame waits for

FileWhoseSizeDone at
…wn-demo.myshopify.com/cdn/shop/t/53/assets/component-slider.cssYour theme3 KB201 ms
…mo.myshopify.com/cdn/shop/t/53/assets/component-list-social.cssYour theme1 KB199 ms
…demo.myshopify.com/cdn/shop/t/53/assets/component-slideshow.cssYour theme2 KB196 ms
theme-dawn-demo.myshopify.com/cdn/shop/t/53/assets/base.cssYour theme12 KB195 ms
…rtable-wallets/latest/accelerated-checkout-backwards-compat.cssShopify platform3 KB195 ms
…hopify.com/cdn/shop/t/53/assets/component-localization-form.cssYour theme3 KB193 ms

Collection page · theme-dawn-demo.myshopify.com/collections/bags

Biggest element on screen: a photo: Small Naomi. HTML: 49 KB compressed (346 KB of code), built by the server in 26 ms. Requests: 258 (1589 KB). Finished by 2.3 s (what a late start would count): 1189 KB.

Google's own runs (PageSpeed Insights)

RunScoreFirst frameStartFirst content*Main content*Speed Index*Done before 1st frame
1980.24 son time1.1 s2.4 s2.0 s134 KB
2970.25 son time1.1 s2.6 s2.0 s137 KB

Our lab runs (Lighthouse 13.6.0, simulated slow phone)

RunScoreFirst frameStartFirst content*Main content*Speed Index*Done before 1st frame
1990.16 son time1.1 s2.2 s2.1 s95 KB
2980.15 son time1.1 s2.3 s2.1 s81 KB
3980.22 son time1.1 s2.4 s2.2 s80 KB

What the first frame waits for

FileWhoseSizeDone at
…demo.myshopify.com/cdn/shop/t/53/assets/component-slideshow.cssYour theme2 KB202 ms
…wn-demo.myshopify.com/cdn/shop/t/53/assets/component-slider.cssYour theme3 KB195 ms
…mo.myshopify.com/cdn/shop/t/53/assets/component-list-social.cssYour theme1 KB193 ms
…hopify.com/cdn/shop/t/53/assets/component-localization-form.cssYour theme3 KB190 ms
theme-dawn-demo.myshopify.com/cdn/shop/t/53/assets/base.cssYour theme12 KB189 ms

3. Third-party code (apps, pixels, chat)

ServiceDownloadPhone CPUCan it wait for the first touch?
Shopify platform
platform
66 KB28 msleave

"Your call": holding it is possible but affects ad tracking, sign-up pop-ups or when review stars appear, so we only change it with your OK.

4. Redirects

AddressHopsEnds atTime
theme-dawn-demo.myshopify.com/0theme-dawn-demo.myshopify.com/147 ms
theme-dawn-demo.myshopify.com/1theme-dawn-demo.myshopify.com/122 ms
www.theme-dawn-demo.myshopify.com/–-16 ms
www.theme-dawn-demo.myshopify.com/–-25 ms

One hop from an alternate address is normal. Test, link and advertise the final address: each hop costs about 1 s in Google's simulation.

5. Fixes, most valuable first

1 Load the styles of hidden pop-ups in the background Medium impact

Where
Home
Why
1 theme file (component-modal-video.css) styles things nobody sees until they tap (pop-ups, search), yet the first frame waits for them.
The fix
Load them in the background, with one tiny inline rule that keeps the hidden parts hidden until they arrive, so nothing flashes or moves.
Evidence
Part of the Inlinex home-page fix (87 to 99-100 on Google's machine).
Risk
Low. Checked by opening the cart on a phone before and after.
Effort
Small (1 hour)

Checked and fine

6. What we will not charge you for

Tested on a real store's live pages, on Google's own machine, and did not work:

7. How this was measured