Technical framework graphic for the file shopify-cro-audit-checklist-2026.webp illustrating a Shopify Plus CRO audit checklist tailored for enterprise $10M+ GMV e-commerce brands.

The Shopify CRO Audit Checklist: What a $10M+ Store Should Look At in 2026

Most Shopify CRO audits rearrange the product page and call it a day. The real money at $10M+ leaks somewhere else: custom checkout logic, B2B-vs-DTC friction, mobile regressions, and post-purchase. Here is the 9-point audit we actually run.

Rizwan Qaiser
Rizwan Qaiser·June 15, 2026·14 min read·LinkedIn

Why Most Shopify CRO Audits Miss the Actual Money

Search “shopify cro audit” and most of what comes back is a single playbook recycled by twenty agencies: rewrite the product page above the fold, add urgency to the PDP, tighten the headline, and run a Hotjar replay session. It is the same audit at $200K stores and at $50M stores, and at $50M scale it leaves most of the recoverable revenue on the table.

The conversion math at $10M+ has almost nothing to do with PDP copy. The PDP matters, but the money lives in places nobody screenshots for a Twitter thread. Custom checkout logic that silently drops conversion 1.2 percentage points on weekends. A Script that fires for 12% of carts and rounds prices wrong on tagged customers. A mobile checkout step that re-renders the address form when the user taps “edit” and loses 8% of the people who tap. A post-purchase upsell timed 400ms before the order confirmation paints, so it shows over a still-loading thank-you and gets dismissed reflexively.

The bias to flag up front: we make money fixing things. If your audit surfaces a clean store with no friction, we do not bill for the rebuild. That should make you skeptical of any audit framework, including this one. So this post is the actual checklist we run, the benchmarks we measure against, and the patterns we find broken often enough that we can name them on sight.

This is the audit chair view from $10M+ Shopify and Shopify Plus stores. The methodology below is the conversion half of the Shopify Teardown. It is what we open the laptop and run on day one, before we have any opinion about your PDP. The point is to find where the conversion stack is actually leaking, not to recommend a different shade of “Add to Cart” button.

If you are operating a $5M to $50M Shopify or Plus store and have hired a CRO agency before that felt generic, this guide is calibrated for you. The audit is technical, the findings are specific, the tradeoffs are honest.

The Conversion Stack: Where Stores Actually Leak Revenue

A useful frame: conversion is not one number, it is a stack of conditional probabilities. Land, browse, add to cart, open cart, open checkout, complete checkout, see the upsell, accept or reject, receive the confirmation. Each transition has its own rate, failure modes, and diagnostic instruments. The aggregate number on the GA4 dashboard hides where the actual drop happens.

Editorial illustration of a vertical conversion funnel on parchment with vermillion drip markers at five stages: PDP, cart, checkout step 1, checkout step 2, and post-purchase. Each drip is sized proportionally to the typical magnitude of revenue leak we find at that stage.
The conversion stack at $10M+ scale. The big leaks are rarely at the PDP. They are at the cart-to-checkout handoff, the mobile address step, the Script regression layer, and the post-purchase upsell window.

At $10M+ Shopify stores, the five layers we routinely find leaking, in rough order of average revenue impact:

  1. Site speed and Core Web Vitals. Not “your LCP is 2.7s, fix it” advice. The specific thing we find: themes that accumulated five years of campaign code, an LCP element decoded after a 380KB JavaScript bundle finishes parsing, mobile-3G visitors abandoning at 2.4x the rate of mobile-4G. The fix is not “compress the image.” The fix is a theme audit that surfaces 60% of the JavaScript is unused on the PDP.
  2. Custom logic in cart and checkout. Scripts, Functions, Checkout Extensibility extensions, third-party apps that mutate the cart. Every one is a place where a deploy can silently change conversion. We covered the Scripts side in the Scripts deprecation post; the broader pattern is that custom checkout logic is a P0 conversion surface and most teams have zero monitoring on it.
  3. Mobile checkout regressions. Mobile is 65 to 80% of sessions on most $10M+ stores. Mobile checkout conversion is usually 35 to 50% of desktop. The gap is real friction: form re-renders, payment-sheet conflicts with theme CSS, address-autocomplete failures, Apple Pay button states that toggle on scroll. These regress quietly with every theme deploy and nobody owns them.
  4. B2B vs DTC friction. If 10 to 40% of revenue is B2B, the path is different. They log in, hit a tagged price list, fill larger carts, use net-payment terms, and have invoice flows after the order. Standard Shopify analytics aggregates B2B into the DTC number, so the leak is invisible to the dashboard.
  5. Post-purchase flow. Order confirmation, upsell, transactional email, account-portal redirect. The one-click upsell is the highest-value real estate in the funnel and the place most often misconfigured: wrong timing, wrong product, wrong segment, or an upsell app that throws a console error on Safari and dismisses itself.

The pattern across all five: none of these are PDP problems. The PDP audit any agency can run will not find them. They require looking at the actual data, the actual checkout, on the actual devices, with the actual customer segments. That is the audit difference.

The 9-Point Shopify CRO Audit We Actually Run

This is the methodology, in the order we run it on day one. Each point is a check, an instrument, and a threshold for concern. The order matters: upstream findings change how we interpret the downstream ones.

1. Cart abandonment by segment, not in aggregate

Aggregate cart abandonment is a useless number at $10M+ scale. The interesting question is which segments abandon at which rates: new vs returning, by device, by region, by tagged customer group, by traffic source. We almost always find at least one segment abandoning 15 to 25 percentage points worse than the rest, and that segment is the audit lead.

2. Checkout step completion rates

Standard Shopify checkout has up to four steps: contact, shipping, payment, review. The transitions between them are where the drops happen. We pull the step-by-step rates from Shopify Analytics, segment by mobile vs desktop, and flag any transition below 78% on mobile or 88% on desktop as a specific friction point worth diagnosing.

3. Custom-Script regression analysis

For Plus stores, every active Script gets a conversion-impact analysis. Is the Script helping (a working discount at the right moment) or hurting (a rounding error driving service contacts, a hidden payment method dropping a regional segment)? We pull 90 days of order history, filter to orders where the Script fired, and compare conversion and refund rates to baseline. This is also our entry point for the broader migration audit covered in the Scripts deprecation post.

4. Mobile PDP scroll depth and add-to-cart placement

Mobile PDP layout is where the small wins compound. We measure how far the median mobile visitor scrolls (usually 60 to 80%), where “Add to Cart” sits relative to that depth, whether sticky add-to-cart is enabled, whether the variant selector requires scroll, and whether the image gallery hijacks vertical scroll. Variation across these patterns is the largest single lever at the PDP layer.

5. Search-result CTR to add-to-cart

On-site search is the highest-intent traffic in the funnel. A visitor who searches a SKU and clicks a result is 3 to 6x more likely to buy than a category-page browser. We look at search-result CTR and the add-to-cart rate of search-originated PDPs vs category-originated PDPs. A 2x gap is normal; a smaller or inverted gap means search is not ranking the right products.

6. Payment method availability vs preference

We pull the payment method distribution across 90 days of orders, then compare it to what is displayed at checkout for the equivalent segments. Two failure modes: a preferred method (Klarna, Apple Pay, Shop Pay, Afterpay) is unavailable to a segment that wants it, or the method order buries the high-conversion one below the fold on mobile.

7. Post-purchase upsell timing and selection

The highest-margin real estate on the site. The audit checks: does the upsell render before the order confirmation paints (dismissed reflexively), is the product correlated to the order or generic, is the price expressed as a delta or full price, does the customer have to re-enter payment, what is the accept rate vs baseline (1 to 5% typical, 8%+ strong).

8. B2B portal conversion, if applicable

If the store has Plus B2B catalog or a custom portal, it has its own funnel: login, browse, add to cart, request quote or order, approval workflow, invoice generation. We treat the B2B portal as a separate site with its own metrics. B2B carts are 5 to 20x larger than DTC, so a 5% improvement on the portal often outweighs anything we find on the DTC side.

9. Price-list rendering correctness, on Plus

A specific Plus failure mode. B2B customers on tagged price lists see the cached DTC price first, then the tagged price loads over it after the tag-aware API call resolves. The customer sees the “wrong” higher price, abandons, the cart never converts. We log in as a tagged test customer and time the resolution. If the gap is >300ms, real customers are bouncing on it.

The 9-point CRO audit, ranked by signal-to-effort ratio. Effort is the time to diagnose; signal is the typical revenue lift if a finding surfaces.
#CheckDiagnostic effortSignal if leaking
1Cart abandonment by segmentLowHigh
2Checkout step completionLowVery high
3Scripts regression analysisMediumVery high (Plus only)
4Mobile PDP scroll and CTAMediumMedium
5Search-result CTR to ATCLowMedium
6Payment method availabilityLowMedium-high
7Post-purchase upsell timingMediumHigh
8B2B portal conversionHighVery high (B2B-heavy stores)
9Price-list rendering, PlusMediumHigh (Plus B2B only)
The 9-point CRO audit, ranked by signal-to-effort ratio. Effort is the time to diagnose; signal is the typical revenue lift if a finding surfaces.

The Performance Angle: Shopify Performance Audit Findings

A Shopify performance audit overlaps with a CRO audit because page weight, JavaScript execution, and Core Web Vitals all show up as conversion losses. Below is what we routinely find at $10M+ scale.

Themes with 300+ snippets and 80+ sections.

Themes accumulate code from every launch and campaign. Most live themes we audit have 30 to 50% unreferenced sections (left over from a campaign that ran in 2022 and was never cleaned up). The page weight from snippets that get inlined but never rendered is a slow tax. We have audited themes where removing 47 unused sections reduced the homepage HTML payload by 180KB.

Unused JavaScript at 60%+ on PDP.

Chrome DevTools “Coverage” tab is the instrument. On most $10M+ Plus stores, the PDP loads 200 to 600KB of JavaScript and uses 40% of it on first paint. The other 60% is third-party apps loading on every page (loyalty widgets, chat, A/B test snippets, analytics) and theme JS that was written for a different page template.

Image rendition strategy out of date.

Shopify automatically generates image renditions, but most themes use the original or a too-large rendition for the actual display size. We have seen mobile PDPs serving 1800x1800 hero images when the rendered display is 375x375. Modern themes use srcset properly; older themes do not.

Cloudflare R2 and CDN configuration drift.

For stores that put image delivery behind R2 or a third-party CDN, we find R2 cache headers misconfigured (short TTLs, no immutable flag) or CDN purging too aggressively. Result: a higher origin hit rate than the store thinks, slower images for repeat visitors, Core Web Vitals worse than the theme deserves.

Honest read: the performance audit findings move conversion by 0.1 to 0.5 percentage points typically, not dramatic numbers. The reason they still matter is that they compound with every other finding. A faster checkout makes the checkout-step-completion fix more impactful. A faster PDP makes the mobile-PDP fix more impactful. Performance is a multiplier, not a single lever.

Representative numbers from a $14M Plus store audited in early 2026, before and after a performance pass:

  • Mobile LCP: 3.8s to 2.1s
  • Mobile JavaScript bundle: 480KB to 220KB
  • Mobile homepage HTML: 320KB to 140KB
  • Mobile checkout step 1 paint: 1.9s to 0.9s

Conversion rate moved 0.34 percentage points in the 30 days following the pass, approximately $52K/month of recovered revenue at their order volume. Performance work alone paid back the Teardown cost in 6 weeks.

What “Good” Looks Like: Benchmark Numbers From Our Audit Dataset

These are the medians from the $5M to $50M Shopify and Plus stores we have audited in the last 24 months. They are not “industry benchmarks.” They are the numbers we see in our specific dataset, which skews toward stores that are healthy enough to commission an audit and unhealthy enough to need one.

Median conversion benchmarks for $5M to $50M Shopify and Plus stores, drawn from our audit dataset. Treat as a sanity check, not a target.
MetricMedian (good)Median (audit-triggering)
Sitewide conversion rate, DTC2.3%<1.4%
Sitewide conversion rate, B2B portal8.5%<4%
Cart-to-checkout transition rate72%<58%
Checkout-step-1 to step-2 (mobile)81%<70%
Checkout-step-2 to step-3 (mobile)86%<74%
Mobile vs desktop conversion ratio0.55<0.40
Post-purchase upsell accept rate4.5%<1.5%
On-site search conversion rate6.2%<3%
Tagged-customer (B2B) cart AOV4x DTC AOV<2x DTC AOV
Median conversion benchmarks for $5M to $50M Shopify and Plus stores, drawn from our audit dataset. Treat as a sanity check, not a target.

The most useful number on that table is the mobile-vs-desktop conversion ratio. It captures whether mobile is roughly half as good as desktop (normal and unavoidable) or whether something is broken on mobile dragging it below the floor. A ratio below 0.40 is almost always fixable: a checkout form regression, a payment-sheet conflict, or a CTA-below-the-fold issue. We have moved that ratio from 0.31 to 0.52 in a 30-day engagement on three separate stores.

The single highest-leverage benchmark is the mobile-vs-desktop conversion ratio. If yours is below 0.40, something on mobile is broken and the fix is usually a specific, named thing, not a redesign.A pattern across the audit dataset

The B2B portal conversion rate deserves a footnote. B2B portals look high-converting in the dashboard because the people using them are already authenticated, already on a price list, and already intending to buy. The interesting metric is not the headline number, it is the dropoff between login and order. Stores with B2B portal login-to-order rates below 60% usually have a specific friction point (the approval workflow, the invoice flow, or the saved-cart restore behavior) that is fixable inside the audit window.

Common Findings That Turn Into Quick Wins

The five things we routinely find that move conversion 0.2 to 0.8 percentage points within 30 days. These are not theoretical. They are recurring patterns in the audit dataset.

  1. Apple Pay or Shop Pay button is below the fold on mobile checkout. This is a CSS regression that creeps in with theme updates. Repositioning the express-checkout buttons above the fold typically moves mobile checkout completion 1.5 to 4 percentage points within a week.
  2. The cart-to-checkout transition runs a JavaScript redirect with a 600ms delay. Caused by a third-party app intercepting the cart click for analytics. Removing or deferring the interceptor saves the 600ms and reduces cart-page abandonment 3 to 5%.
  3. Post-purchase upsell renders before the order confirmation paints. Visible as a “flash of upsell” that gets dismissed reflexively. Delaying the upsell by 800ms, until the confirmation has settled, doubles or triples accept rate. Net new revenue with zero acquisition cost.
  4. Tagged-customer price list takes >500ms to render on PDP. Plus B2B failure mode. The DTC price flashes first, the tagged price loads after. Customers bounce on the higher price. Fix is to defer the DTC price render until the tag-aware price resolves, or to cache the tagged price client-side after first load.
  5. Address-step re-renders when the user taps “edit” on mobile checkout. Re-render loses the keyboard, scrolls the page, and loses in-progress data. Common in older themes that did not migrate to modern checkout. Loss is roughly 8 to 12% of users who tap “edit” at that step.

What good looks like: an audit that surfaces 2 to 4 of these inside the first week, ships them in week 2 and 3, and shows conversion movement in the dashboard before the audit invoice clears. None of these require A/B testing in the traditional sense. They are bugs, not preferences.

What to Do This Week

Three concrete steps, in this order. None of them require a vendor commitment or a contract.

What to do this week

Three concrete steps, in this order. None of them require a vendor commitment or a contract.

  1. Pull the checkout-step completion rates from Shopify Analytics > Reports > Online Store Conversion. Segment by mobile vs desktop. If any step transition is below 78% on mobile or 88% on desktop, you have a specific friction point worth diagnosing. This is the cheapest, fastest diagnostic in the whole audit.
  2. Compare your mobile-vs-desktop conversion ratio to the 0.55 median. If you are below 0.40, something specific is broken on mobile. Walk the full mobile checkout on three real devices (iOS Safari, Android Chrome, an older Android), with a real test card, and note every place a form re-renders, a button moves, or a payment sheet blocks the page.
  3. List every active Shopify Script (Plus only). Note title, type, last-modified date. Tie each Script to a revenue line. This is the input for both the Scripts deprecation migration (covered in the Scripts post) and the CRO regression analysis. Both audits share this same starting inventory.

The honest read: if you do those three things and the gaps are small, your conversion stack is genuinely healthy and a CRO audit is not the right next investment. If the gaps are large, the audit pays for itself inside 30 days of recovered revenue.

If you would rather have the audit done for you, the Shopify Teardown is a 30-day fixed-price engagement, $7,500, find $75,000/year in recoverable revenue or full refund. It runs the 9-point CRO audit above, plus the broader performance and Plus checks covered in the Plus review post, and delivers a prioritized fix list with revenue-per-item estimates.

Frequently Asked Questions

  1. How is a Shopify CRO audit different from a generic CRO audit?
    Generic audits apply the same playbook everywhere: PDP rewrites, headline tests, urgency badges. A Shopify-specific audit reads your Scripts, Functions, checkout extension code, theme architecture, and B2B catalog. About 60% of what we find lives in Shopify surfaces a generic auditor cannot inspect.
  2. Do you need admin access to run the audit?
    Yes. The audit reads Scripts, Functions, theme code, apps, and 90 days of order history. We use a Collaborator account scoped to read access. We do not modify anything during the audit; the engagement is read-only until the rebuild phase.
  3. Can we run the 9 checks ourselves?
    You can run 5 of the 9 with data already in your Shopify Analytics admin: cart abandonment by segment, checkout step completion, payment distribution, on-site search CTR, post-purchase upsell rate. The other 4 (Scripts regression, mobile PDP, B2B portal, price-list rendering) require code-level inspection.
  4. Do you recommend specific A/B testing tools?
    We have used Convert, VWO, Shopify’s native A/B testing, and custom Functions-based splits. Honest tradeoffs: Convert has the cleanest Shopify integration but runs $1,500+/month at this volume. VWO is cheaper with a clumsier integration. Shopify’s native is free, improving, but limited in surface. No single right recommendation.
  5. How do you measure “revenue recovered” in the guarantee?
    Each finding gets an instrument that quantifies the loss (e.g., “upsell accept rate 1.2%, benchmark 4.5%, delta at your volume is $42K/year”) and a fix implementable in <30 days. The $75K/year number is the annualized projection of the fix list at current traffic.
  6. What if our store is on standard Shopify, not Plus?
    The 9-point audit applies to both. Points 3 and 9 (Scripts and Plus price-list rendering) are Plus-only and get skipped. The remaining 6 to 7 points cover the bulk of the conversion stack at any $5M+ store.
  7. Is there an automated tool that runs this audit?
    Not yet, and we are skeptical of the ones that claim to. The instruments are commodity. The synthesis is the audit. A tool tells you LCP is 3.2s; it cannot tell you the cause is a subscription widget that also explains the cart abandonment in point 1.

Filed under

conversion-optimizationcro-auditshopify-auditshopify-croshopify-performance

From the intelligence suite

Where is your ecommerce stack leaking revenue?

SiteScore surfaces the technical and conversion gaps holding your store back. Free analysis, no sales pitch.

Run a free check
Continue reading
Stylized magnifying glass examining a Shopify Plus admin dashboard, with one section highlighted in vermillion indicating a critical finding.

Ecommerce & Shopify

Shopify Plus Review: What 40+ Audits Taught Us About When It's Worth It

An honest Shopify Plus review from the audit chair, not the sales deck. What Plus actually delivers, the six patterns we find broken on most Plus stores, where it dominates the alternatives, and the lived-experience tradeoffs that nobody on a demo call tells you.

Rizwan QaiserJun 8, 2026
13 min read
Pixel-block hourglass dissolving over a fragmented Shopify checkout interface.

Ecommerce & Shopify

Shopify Scripts Sunset: What Breaks on June 30 and How to Fix It

Shopify Scripts deprecates June 30, 2026. If your Plus store runs custom checkout discounts, B2B pricing logic, wholesale tiers, or any line-item or shipping rule via Scripts, this is the migration audit playbook.

Rizwan QaiserJun 2, 2026
13 min read