1,900+
A/B tests shipped
1,900+
A/B tests shipped
We've just launched EmbedFAQ on the Shopify App Store
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
Whether you need a focused diagnostic, optimization of an existing storefront, or ongoing experimentation, the shape is scoped after we see the store and its data.
Fixed scope
Who it is for
Stores that know performance is soft but need reliable priorities before committing to a testing programme.
What is included
How it ends
Know what to fix, why it matters, and what should happen first.
Ongoing
Who it is for
Shopify brands with steady qualified traffic that want a continuous research, build, test, and rollout cycle.
What is included
How it ends
A CRO system that keeps learning instead of a backlog that keeps growing.
Team extension
Who it is for
In-house growth teams with strategy and data, but not enough senior Shopify capacity to ship experiments safely.
What is included
How it ends
Your roadmap reaches production without adding another management layer.
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%.


It depends on your baseline conversion rate, the size of the change, traffic quality, and how quickly you need a decision. We estimate test feasibility before recommending an experiment. If your store does not have enough signal, we use a research-led diagnostic and implementation sprint instead of pretending an underpowered test is conclusive.
The primary metric is chosen around the commercial question. That may be revenue per session, conversion rate, average order value, subscription take rate, checkout completion, or revenue from a specific journey. We also define guardrails such as margin, refund behavior, performance, and downstream conversion so a local win does not create a larger business loss.
The diagnostic sprint is fixed scope. The retainer is monthly and depends on how much build capacity you need alongside the testing. We scope after seeing the store, because a brand running one test a month and a brand running four need different teams. If the honest answer is that testing will not pay for itself yet, we say that on the first call.
Most do. We document what it ruled out and what it says about how customers actually decide, then it feeds the next hypothesis. You are paying for a decision process, not for a run of wins. Any agency promising you a hit rate is either lucky or not testing properly.
Fine either way. Embedded delivery exists for exactly this: you keep strategy and data in house, we take the experiment build. If you have an agency, we scope around what they are not covering rather than asking you to switch.
A senior team in North Macedonia, working with brands in the US, UK, and EU. You talk to me from the first call through delivery, and the same people who scope the work build it. No account layer.

Free CRO review
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