1,900+
A/B tests shipped
1,900+
A/B tests shipped
Shopify brands we've optimized
Full-funnel CRO
The EXTFOX CRO system
Research, prioritization, UX, Shopify development, testing, and rollout in one continuous loop. Not a backlog of random ideas or an audit deck handed to another team.
Diagnose
Analytics, customer behavior, support themes, device performance, and purchase-path QA reveal where revenue is leaking.
Prioritize
Each opportunity is scored against signal strength, reach, implementation cost, and the metric it is meant to move.
Build
The same senior team handles UX, copy, Shopify development, instrumentation, QA, and launch without handoff drift.
Validate
We monitor the primary outcome and guardrails, document the result, and refuse to call noise a win.
Compound
Winners roll out safely. Losers still teach us what customers value. Both sharpen the next hypothesis.

From Dusan · 17 Aug 2026
Heatmaps tell you where users click, scroll, and rage-click. They don't tell you that two discounts cancelled each other, or that the price on the product page is not the price at payment.
Shopify's most expensive CRO problems are often invisible on the page. Before you run another A/B test or redesign a PDP, audit these four.
What it is: Shopify only stacks order, product, and shipping discounts if you explicitly allow it. Most stores never touch the Combinations setting. The result is that a welcome code and a subscription discount cancel each other, or both apply and you ship at negative margin.
Why heatmaps miss it: The cart page looks normal. There is no broken element or rage click. Users just see a different total than expected and leave.
Check: Admin → Discounts → open an active discount → Combinations. Build a cart that qualifies for two active discounts at once and confirm the total matches your intent.
Fix: Set explicit combination rules. If you want stacking for VIP offers, allow it. Otherwise, make the priority and cancellation behaviour deliberate.
What it is: In non-primary markets, rounding rules and included-duties settings can make the product page show one price and the checkout show another. It looks like a UX or trust issue, but it is a Markets configuration issue.
Why heatmaps miss it: The PDP price renders fine. The mismatch only appears at the payment step, which is often outside heatmap coverage.
Check: Open a private window with a VPN in your second-biggest market. Compare the PDP price to the price at the payment step.
Fix: Align rounding and duty display so PDP and checkout match, or add clear messaging before the payment step.
What it is: Duplicating a theme doesn't reliably carry app embed state. If an embed is on in the control and off in the variant, your A/B test measures the app, not your hypothesis. Some cart or gift embeds can even duplicate line items on real orders.
Why heatmaps miss it: Both themes may look identical in a heatmap screenshot, but the underlying app logic differs.
Check: Open both themes side by side in Theme editor → App embeds and compare enabled embeds exactly.
Fix: Lock embeds before testing. Never launch a test until the embed list matches between control and variant.
What it is: Accelerated checkout skips the cart page. Every upsell, gift threshold, note field, or trust element you built there never renders for Shop Pay users. Those users are often a large share of returning buyers.
Why heatmaps miss it: The cart page itself may look great in heatmaps. The leak is that a segment of users never sees it.
Check: Add to cart, then use the accelerated Shop Pay button. See what renders and what doesn't.
Fix: Move AOV levers to the product page, Checkout UI extensions, or post-purchase offers. Treat the cart page as optional for a growing share of users.
These four leaks share one pattern. They happen in Shopify settings, theme embeds, or accelerated flows, not in visible page elements. Heatmaps can't flag them because they don't render as a broken button.
Run this audit first. Then your heatmap data will tell you about user behaviour, not about misconfigured Shopify.
Engagement
Monthly retainers. Three-month commitment. Matched to your store.
$1,500
per month · 3-month retainer
Who it is for
Stores that need clean tracking, a ranked plan, and fixes on the pages they already have.
What is included
How it ends
Measurement you can trust, a ranked plan, and the first fixes live on the store.
$5,000
per month · 3-month retainer
Who it is for
Shopify brands with enough traffic to finish a test, and a need for a steady research, build, and rollout rhythm.
What is included
How it ends
Measured decisions each month, with the winners rolled into the live store.
$10,000
per month · 3-month retainer
Who it is for
In-house growth teams that already set priorities and need senior Shopify capacity to ship faster.
What is included
How it ends
Your CRO roadmap reaches production without waiting on spare bandwidth.
Clients and partnerships
Building commerce, SaaS, and AI products since 2016. Our clients stay because we deliver, not because they're locked into contracts.
Measured across retainer and repeat project clients since 2019. No minimum term or lock-in.
Fixed-scope projects when you need a clear deliverable. Monthly retainers when you want a dedicated team on call.
We work with Intelligems, subscriptions, reviews, search, and personalization tools. We use native Shopify when another app would only add cost, latency, or complexity.
“We're the #1 face towel on Amazon, but our Shopify offers were too slow and confusing. They rebuilt for speed, fixed our subscription flow, and our online revenue is now growing 18%.


Three monthly retainers with a 3-month commitment: $1,500, $5,000, or $10,000. Foundation covers setup, a ranked plan, and fixes on existing pages, plus one A/B test only when traffic can support it. The programme covers up to 2 A/B tests. Embedded covers up to 3, or the same capacity on a larger build. The initial CRO review is free.
A lighter experiment on an existing page usually counts as one. A full new page, checkout change, or multi-variant test uses more of the month’s capacity and can stand in for the lighter experiments. We confirm the month’s plan before work starts.
Useful CRO needs setup, shipping, and enough time to read results. Three months gives room for tracking and tooling work, the first changes, and at least one measured learning cycle before you decide what comes next.
Plan for weeks, not days. Timing depends on store size, traffic, and how much tracking, tool connection, and automation work is needed before a fair test can run. We separate a shipped change from a measured result.
We check that before recommending experiments. If traffic or baseline conversion will not support a useful test, we focus on research and high-confidence improvements instead of running underpowered tests.
The primary metric follows the commercial question: revenue per session, conversion rate, average order value, subscription uptake, or checkout completion. We also watch guardrails such as margin, refunds, and site performance.
Most do. We document what it ruled out and what it says about how customers decide, then it feeds the next hypothesis. You are paying for a decision process, not a run of wins.
Yes. We can own the CRO programme, or plug into a team that already leads strategy and analytics. The embedded retainer is built for that. We agree responsibilities, access, and delivery rhythm before work starts.
Your store, accounts, and data stay yours. You keep the custom work, experiment documentation, and findings, whether you continue with us or not.

Shopify CRO
Dusan J., Founder at EXTFOX · Shopify Plus engineering and experimentation for global DTC brands
A focused review of your traffic, conversion, and Shopify setup. You'll leave knowing what to fix first.
Prefer to call? (862) 259-6969