Storefront conversion audit

www.example-store.com

5high
11medium
7low
23findings

Public-evidence audit. No admin, order, or customer data was accessed. Every statement in this deck is tied to something captured from the live storefront on 2026-08-23.

Use / to move. Print this page for a PDF copy.
The short version

Start here

  1. Largest Contentful Paint exceeds the 2.5 s good threshold
    Preload the hero image, remove lazy loading from it, and cut render-blocking CSS and JavaScript ahead of it. On this page the largest third-party payloads come from Google Tag Manager, Klaviyo and Shopify Apps, so start there rather than with theme assets.
  2. Lighthouse mobile performance score below the passing band
    Work the Lighthouse opportunities in order of estimated savings, starting with render-blocking resources and unused JavaScript. On this page the largest third-party payloads come from Google Tag Manager, Klaviyo and Shopify Apps, so start there rather than with theme assets.
  3. A product is missing purchase-critical imagery
    Add a clear primary image and supporting detail, scale, and use-case images before sending traffic to the product.
Everything after this screen is ordered by severity, then by how far past its threshold each measurement sits.
Finding 1 of 8

Largest Contentful Paint exceeds the 2.5 s good threshold

high Theme developer medium effort
What was found
Largest Contentful Paint median 38.1 s across 3 Lighthouse mobile run(s) (Lighthouse 12.8.2). Observed range across 3 runs: 35.2 s to 45.5 s.
What it should be
Largest Contentful Paint at or below 2.5 s.
Why it costs you
LCP is what the customer experiences as 'the page is ready'. Past 2.5 s, mobile visitors abandon before the hero and price render.
The fix
Preload the hero image, remove lazy loading from it, and cut render-blocking CSS and JavaScript ahead of it. On this page the largest third-party payloads come from Google Tag Manager, Klaviyo and Shopify Apps, so start there rather than with theme assets.
Done when
Run Lighthouse mobile from Chrome DevTools 3 time(s) against this URL and confirm the median Largest Contentful Paint is at or below 2.5 s.
Finding 2 of 8

Lighthouse mobile performance score below the passing band

high Theme developer large effort
What was found
Performance score median 26/100 across 3 Lighthouse mobile run(s) (Lighthouse 12.8.2). Observed range across 3 runs: 25/100 to 28/100.
What it should be
Performance score at or above 50/100.
Why it costs you
A sub-50 mobile performance score means most visitors on real mobile connections wait through the slow path that Lighthouse reproduces.
The fix
Work the Lighthouse opportunities in order of estimated savings, starting with render-blocking resources and unused JavaScript. On this page the largest third-party payloads come from Google Tag Manager, Klaviyo and Shopify Apps, so start there rather than with theme assets.
Done when
Run Lighthouse mobile from Chrome DevTools 3 time(s) against this URL and confirm the median Performance score is at or above 50/100.
Finding 3 of 8

A product is missing purchase-critical imagery

high Store owner medium effort
What was found
One active product has no product image in the Shopify catalog. Affected: 1 of 15. Source: Sample Shopify Admin API fixture. Examples: Minimal Trail Pack.
What it should be
Add a clear primary image and supporting detail, scale, and use-case images before sending traffic to the product.
Why it costs you
One active product has no product image in the Shopify catalog.
The fix
Add a clear primary image and supporting detail, scale, and use-case images before sending traffic to the product.
Done when
Re-run this audit and confirm 0 of 15 products still show this, currently 1.
Finding 4 of 8

Published products have no sellable variant

high Store owner medium effort
What was found
All fully scanned variants are unavailable, have no sellable online quantity, and deny overselling. Affected: 2 of 15. Source: Shopify variant inventory policy. Examples: Gift Card, Expedition Board.
What it should be
Restock, unpublish the product, enable intentional backorders, or add back-in-stock capture.
Why it costs you
All fully scanned variants are unavailable, have no sellable online quantity, and deny overselling.
The fix
Restock, unpublish the product, enable intentional backorders, or add back-in-stock capture.
Done when
Re-run this audit and confirm 0 of 15 products still show this, currently 2.
Finding 5 of 8

The storefront uses a myshopify.com domain

high Store owner medium effort
What was found
The primary storefront domain is the platform-provided domain rather than a branded domain. Affected: 1 of 15. Source: Sample Shopify Admin API fixture.
What it should be
Connect a branded domain and set it as the primary storefront domain before launch.
Why it costs you
The primary storefront domain is the platform-provided domain rather than a branded domain.
The fix
Connect a branded domain and set it as the primary storefront domain before launch.
Done when
Re-run this audit and confirm 0 of 15 products still show this, currently 1.
Finding 6 of 8

Total Blocking Time exceeds the 200 ms good threshold

medium Theme developer medium effort
What was found
Total Blocking Time median 1240 ms across 3 Lighthouse mobile run(s) (Lighthouse 12.8.2).
What it should be
Total Blocking Time at or below 200 ms.
Why it costs you
Long main-thread blocks make taps on variant pickers and add-to-cart feel unresponsive, which is the lab proxy for poor INP.
The fix
Main-thread blocking is concentrated in Google Tag Manager (236 ms blocking), Klaviyo (128 ms blocking), Shopify Apps (41 ms blocking). Defer or remove those first; theme JavaScript is not the largest contributor here.
Done when
Run Lighthouse mobile from Chrome DevTools 3 time(s) against this URL and confirm the median Total Blocking Time is at or below 200 ms.
Finding 7 of 8

Request count far above a maintainable storefront budget

medium Theme developer large effort
What was found
Requests median 769 requests across 3 Lighthouse mobile run(s) (Lighthouse 12.8.2).
What it should be
Requests at or below 150 requests.
Why it costs you
Every extra request competes for the same mobile connection, so hero imagery and price data arrive later.
The fix
The heaviest third parties on this page are Google Tag Manager (1.03 MB), Klaviyo (402 KB), Shopify Apps (208 KB). Remove or defer the ones that are not required for the first render, then re-measure before touching theme assets.
Done when
Run Lighthouse mobile from Chrome DevTools 3 time(s) against this URL and confirm the median Requests is at or below 150 requests.
Finding 8 of 8

Large volume of unused JavaScript shipped to mobile

medium Theme developer large effort
What was found
Unused JavaScript bytes median 1.38 MB across 3 Lighthouse mobile run(s) (Lighthouse 12.8.2).
What it should be
Unused JavaScript bytes at or below 500 KB.
Why it costs you
Unused JavaScript is paid for twice: in download on a mobile connection and again in parse and execute time on the main thread.
The fix
Start with the scripts shipping the most unused code on this page: www.googletagmanager.com/gtm.js (80 KB unused); cdn.shopify.com/bundle.js (61 KB unused); static.klaviyo.com/klaviyo.js (40 KB unused). For each, confirm whether the app or tag is still in use; if it is, load it only on the templates that need it.
Done when
Run Lighthouse mobile from Chrome DevTools 3 time(s) against this URL and confirm the median Unused JavaScript bytes is at or below 500 KB.
This week

Fixes that need no developer

5 of 23 findings are small and owned by the store, not the theme developer.
Scope

What this audit does not claim

Raw artefacts behind every claim are in evidence bundle abc123def456 - 1 file(s), each listed with a SHA-256 digest so you can re-verify any statement here independently.