Harvv Research

The 28-point Shopify conversion audit checklist

Every other checklist is one person's opinion. This one is backed by a 296,000-session behavioral audit of real stores, and every item is tagged with its evidence: a published study, our own data, or an honest "heuristic." No email gate.

28
checks, grouped by where your funnel actually leaks
296K
real sessions behind the data-tagged items
1.4%
average Shopify conversion rate. The top 10% pass 4.7%

Run this in order. Most Shopify stores fix the wrong thing because they optimize a stage that was not leaking. So before the checklist, find your leak.

First, find the leak

Open Shopify analytics and read three conversion rates. The lowest one against its benchmark is where you start.

Traffic to cartTarget 4 to 8%. Low here means the product page and mobile experience. Work group 2.
Cart to checkoutTarget 40 to 55%. Low here means cart friction and cost transparency. Work group 3.
Checkout to purchaseTarget 50 to 65%. Low here means trust, payment options, and your tracking. Work group 3 and 4.

One note on mobile before you start: across the four stores we audited, mobile ran anywhere from 27% to 76% of sessions depending on the store. There is no universal "90% mobile" number, despite what most checklists claim. Check your own split, and weight the mobile items by it.

Or print this page to PDF. No email required, ever.

The checklist

Where it breaks: mobile and speed

Most Shopify traffic is on a phone, and the phone is where the funnel leaks. Start here.

1

Tap targets are at least 48 by 48 pixels with space between themHarvv measured

Targets smaller than this get mis-tapped. In our audit, primary buttons as small as 14 by 14 pixels sat next to other controls.

How to verify: Open your store on a real phone and try to tap every control with your thumb.

Expected signal: Fewer mis-taps and accidental navigations on mobile.

2

The Largest Contentful Paint is under 2.5 seconds on mobileDeloitte / Google

Past three seconds, conversion falls off a cliff and bounce climbs.

How to verify: Run your product and collection pages through PageSpeed Insights on mobile, and check the Web Performance Dashboard in Shopify admin (real-user data).

Expected signal: Lower bounce, higher add-to-cart rate on mobile.

3

Interaction response (INP) is under 200 millisecondsHarvv measured

A button that responds slowly feels broken, so shoppers tap it again or leave. A working control can feel dead.

How to verify: Check INP in the Web Performance Dashboard or PageSpeed Insights field data.

Expected signal: Fewer repeat taps on add-to-cart, fewer rage clicks.

4

Unused apps and orphaned scripts are removed from the themeHeuristic

Every app injects JavaScript into the render path, and uninstalled apps often leave ghost code that still runs.

How to verify: In the theme editor, remove unused app blocks, and inspect theme.liquid for leftover script tags from removed apps.

Expected signal: Faster page loads, better Core Web Vitals.

5

Images use native Shopify sizing with lazy-loading below the foldHeuristic

Shopify's CDN serves WebP and AVIF automatically through the Liquid image filters; hardcoded full-size images skip that.

How to verify: Confirm the theme uses image_tag / image_url with loading="lazy" rather than raw tags.

Expected signal: Smaller page weight, faster LCP.

6

Express checkout (Shop Pay, Apple Pay) sits at the top of the mobile cartShopify data

Shop Pay converts 1.91 times higher than regular checkout on mobile, because it skips manual form entry.

How to verify: Theme editor, cart drawer settings, enable dynamic checkout buttons and place them above the email field.

Expected signal: Higher cart-to-checkout completion on mobile.

Traffic to add-to-cart: the product page

If you have traffic but a low add-to-cart rate (benchmark is 4 to 8%), the leak is here, not at checkout.

7

No product image, badge, or swatch is clickable-looking but deadHarvv measured

Shoppers tap images expecting a zoom or link. Across 132,000 dead clicks we measured, the majority landed on non-interactive elements that looked clickable.

How to verify: Run a free audit, or watch session recordings for taps on images and badges that do nothing.

Expected signal: Fewer dead clicks clustered on the product gallery.

8

Price, variant selector, and add-to-cart are above the fold on mobileHarvv measured

Half of mobile visitors never scroll past the first screen. If the buy box is below it, they never see it.

How to verify: Load the product page on a phone and confirm the buy box is visible without scrolling.

Expected signal: Higher add-to-cart rate from mobile sessions.

9

Reviews and star rating appear directly under the product titleHeuristic

Social proof at the point of decision is one of the most consistent conversion levers.

How to verify: Check that the aggregate rating renders above the fold, not buried at the page bottom.

Expected signal: Higher product-page to add-to-cart conversion.

10

Out-of-stock variants are greyed out, not hiddenHeuristic

Hiding them confuses shoppers who came for that variant; greying out keeps inventory transparent.

How to verify: Select each variant and confirm unavailable ones show as disabled with a clear label.

Expected signal: Fewer dead clicks on unavailable options.

11

Shipping cost and return policy are stated near the add-to-cart buttonBaymard

Unexpected extra costs are the number one reason shoppers abandon (39%), and hiding them until checkout guarantees drop-off.

How to verify: Confirm a plain line like "Free shipping over $X" appears under the buy box.

Expected signal: Lower checkout abandonment.

12

Product images support pinch and tap-to-zoom on mobileBaymard

Baymard found 40% of mobile sites do not support zoom gestures, and a single small image is not enough in visual categories.

How to verify: On a phone, pinch and double-tap each product image.

Expected signal: Fewer dead clicks on images, longer product-page engagement.

Add-to-cart to purchase: cart and checkout

If shoppers add to cart but do not finish (benchmark completion is 40 to 55%), the leak is here.

13

Guest checkout is available and not buriedBaymard

Forcing account creation drives 19% of abandonments. Never require it to buy.

How to verify: Go through checkout without logging in and confirm it completes.

Expected signal: Lower checkout abandonment.

14

The full cost, including shipping, is visible before the final stepBaymard

14% abandon because they cannot see the total up front, and 39% over unexpected costs.

How to verify: Enter a ZIP code early in checkout and confirm shipping shows before the payment step.

Expected signal: Lower end-of-funnel drop-off.

15

The checkout form is short (aim for 7 to 8 input fields)Baymard

The average checkout shows over 23 form elements; the ideal is 12 to 14, or 7 to 8 text inputs. 18% abandon over a long checkout.

How to verify: Count the fields a new customer must fill, and enable address autocomplete.

Expected signal: Higher checkout completion.

16

A cart drawer is used instead of a separate cart pageHeuristic

A slide-over cart keeps shoppers in their browsing flow instead of bouncing them to a full page.

How to verify: Add an item and confirm the cart opens as a drawer over the current page.

Expected signal: Higher add-to-cart to checkout rate.

17

A free-shipping progress bar shows in the cartHeuristic

A visible "you are $X away from free shipping" indicator is a reliable nudge on average order value.

How to verify: Open the cart drawer and confirm the threshold indicator appears.

Expected signal: Higher average order value.

18

Multiple payment methods are offered (Shop Pay, PayPal, cards, BNPL)Baymard

Too few payment options drives 10% of abandonments.

How to verify: Review enabled payment methods in Shopify Settings, Payments.

Expected signal: Lower checkout abandonment.

19

Your tracking pixel fires on the real (Checkout Extensibility) checkoutHarvv measured

Shopify deprecated checkout.liquid (non-Plus stores auto-upgrade by August 2026), and legacy tracking silently breaks in the sandboxed checkout. Many stores lose conversion data without knowing.

How to verify: Confirm analytics rely on Shopify Customer Events / Web Pixels, then reconcile reported conversions against actual orders.

Expected signal: Reported conversions match real order counts.

20

Trust signals (payment badges, policies, contact) are visible at checkoutBaymard

19% abandon because they do not trust the site with their card. A real contact method and policies matter most for new stores.

How to verify: Confirm SSL, payment icons, and a real contact route are present near the payment form.

Expected signal: Lower payment-step abandonment.

Trust, popups, and tracking

The leaks that hit every stage at once.

21

Popups are delayed or exit-intent, never immediateHeuristic

A popup that fires on landing drives bounce. Triggering on scroll depth or exit intent captures intent without interrupting it.

How to verify: Time your popups, or set them to exit-intent.

Expected signal: Lower bounce, more captured emails without lost sessions.

22

Popups close cleanly on the first tap on mobileHarvv measured

A close button that misses or a modal that traps the shopper produces rage clicks and exits.

How to verify: On a phone, open each popup and try to dismiss it once.

Expected signal: Fewer rage clicks clustered on popup close buttons.

23

Reviews, UGC, and real social proof appear within the first scrollHeuristic

Over 99% of shoppers check reviews; new stores live or die on trust signals.

How to verify: Confirm genuine reviews or trust content are visible early, not just at the footer.

Expected signal: Higher overall conversion, especially for new stores.

24

Analytics and a behavioral tool are installed and verifiedHarvv measured

You cannot fix a leak you cannot see. 93.9% of sites in an adjacent audit had no behavioral analytics at all.

How to verify: Confirm GA4 plus a behavioral pixel are firing on every page, including checkout.

Expected signal: You can actually locate the funnel leak instead of guessing.

The checks only behavioral data can run

No other checklist has these, because they require measuring real sessions, not eyeballing a screenshot. Each maps to a signal Harvv captures automatically.

25

Find elements visitors hover or dwell on but never clickHarvv measured

High hover with zero clicks means a label looks clickable but is not, or the nomenclature is confusing.

How to verify: Compare hover maps to click maps, or let the pixel surface hover-abandon elements.

Expected signal: Clearer navigation, fewer dead interactions.

26

Compare mobile engagement before and after each theme deployHarvv measured

A theme update or new app can silently break mobile. Without a timeline you find out in a quarterly traffic dip.

How to verify: Track engagement and add-to-cart rate keyed to deploy timestamps.

Expected signal: Catch regressions in hours, not months.

27

Map the scroll depth where shoppers abandon each templateHarvv measured

If critical elements sit below where most people stop scrolling, they are effectively invisible.

How to verify: Use scroll-depth data per page type to place price, CTA, and proof above the drop-off line.

Expected signal: Higher engagement with the buy box.

28

Measure real-user interaction latency on add-to-cart and variant changeHarvv measured

Lab speed scores miss what real shoppers feel. Slow responses cause repeat taps and duplicate cart additions.

How to verify: Watch real-user INP per interaction, not just a synthetic Lighthouse run.

Expected signal: Fewer duplicate adds and rage clicks.

Speed stats your CRO checklist is probably misquoting. The famous "a 1-second delay cuts conversions 7%" has no single primary source; it loosely traces to a 2008 Aberdeen study that is far too old to cite. Use the real ones instead: Deloitte and Google (2020) found a 0.1-second mobile speed gain raised retail conversions 8.4%, and Google (2017) found 53% of mobile visits are abandoned after three seconds. For abandonment, Baymard's current figure is 70.22% (averaged across 50 studies), with extra costs (39%) the top fixable reason.

Frequently asked questions

How do I audit my Shopify store for conversions?

Start by finding which funnel stage leaks, then fix that stage. Check three rates in Shopify analytics: traffic to add-to-cart (target 4 to 8%), add-to-cart to checkout (target 40 to 55%), and checkout to purchase (target 50 to 65%). A low add-to-cart rate points to product-page and mobile problems; a low checkout-completion rate points to trust, cost transparency, and form friction. Then work the checklist on this page for the stage that is leaking. Fixing the wrong stage is the most common audit mistake.

What is a good conversion rate for a Shopify store?

The average Shopify store converts around 1.4% (Littledata, across thousands of stores). An actively optimized store runs 2.5 to 3.5%, and the top 10% push past 4.7%. Mobile converts at roughly half the desktop rate even though it drives most traffic, so a low mobile rate is usually where the opportunity is. Treat any single benchmark as a rough floor, not a target.

Why am I getting traffic but no sales?

Almost always one of three things, and the funnel tells you which. If people are not adding to cart, it is a product-page or trust problem: unclear value, weak images, no reviews, or a price or shipping surprise. If they add to cart but do not check out, it is friction or trust at checkout: forced account creation, hidden costs, a long form, or too few payment methods. If your add-to-cart looks fine but nothing completes, test the checkout and your tracking; pixels silently break after Shopify checkout changes. A behavioral tool shows you exactly where they stop.

Is the "1-second delay equals 7% fewer conversions" stat real?

No, not as commonly quoted. That figure is a folk conflation with no single primary study behind it, and it traces loosely to a 2008 Aberdeen Group report that is far too old to trust. The credible, current speed evidence is Deloitte and Google's 2020 "Milliseconds Make Millions" study (a 0.1-second mobile speed improvement raised retail conversions 8.4%) and Google's 2017 finding that 53% of mobile visits are abandoned after three seconds. Speed matters; just cite the real sources.

Do I need to edit my Shopify checkout to optimize it?

Mostly no, and increasingly you cannot. Shopify deprecated the old editable checkout.liquid, and most checkout customization now happens through Checkout Extensibility (UI extensions, Shopify Functions, and the Branding API), with deep editing limited to Shopify Plus. The higher-impact checkout wins for most stores are settings, not code: enable Shop Pay and express checkout, allow guest checkout, show costs early, and shorten the form. And verify your tracking still fires on the new checkout, because legacy scripts break there silently.

Sources: cart abandonment and checkout figures from Baymard Institute (2025); Shop Pay conversion lift from Shopify (2020 internal study); speed figures from Deloitte / Google "Milliseconds Make Millions" (2020) and Google "The Need for Mobile Speed" (2017); conversion benchmarks from Littledata. Behavioral findings ("Harvv measured" tags) from Harvv's 296,000-session Shopify audit across four stores. Items tagged "heuristic" are widely-held best practice without isolated published evidence, marked honestly as such.

Stop guessing which item is your leak.

Harvv runs the behavioral half of this checklist automatically on your real traffic: dead clicks, rage clicks, mobile breakage, slow interactions, and scroll abandonment, named by page. Free for one store.

Free forever for 1 site. No credit card.