More sales from the traffic you already have
This piece settles what a merchant can actually check before swapping a Shopify theme, because the setting most people search for called theme A/B testing does not exist as a section in Dawn or Horizon, and the real decision has to lean on Core Web Vitals data and Theme Store minimums instead.
Most merchants who type “shopify theme a/b testing” are looking for a settings panel that lets them run two versions of a theme side by side and measure which one sells better. That panel does not exist inside Dawn or Horizon, the two reference themes checked here, and searching theme settings for a toggle called testing wastes time that could go toward the two things that actually predict how a theme performs once it is live: Core Web Vitals pass rate and Theme Store minimums.
A direct code check of Dawn at commit Shopify/dawn@258f00f from 2026-08-10 finds the word test in 8 of its 351 files, and every one of those hits is incidental: README.md, assets/cart.js, assets/global.js, and assets/product-form.js use it in comments, variable names, or utility functions, not as a merchant-facing setting. There is no section in Dawn’s settings schema dedicated to running two theme variants against each other.
Horizon, checked at Shopify/horizon@8b42ace from 2026-08-31, uses the word test far more often, in 102 of its 484 files, but the pattern is the same. README.md, assets/cart-drawer.js, assets/component-cart-items.js, and assets/facets.js all reference test in ways tied to internal logic or documentation, not to a switch a store owner can flip to launch an experiment. The higher file count in Horizon likely reflects a larger codebase overall, not a dedicated testing feature. Both themes, as measured, simply do not have this setting.
Searching for switch turns up 7 files in Dawn: assets/localization-form.js, assets/media-gallery.js, assets/predictive-search.js, and assets/price-per-item.js among them. Those files handle language and currency selection, image gallery navigation, live search suggestions, and per-unit pricing display. None of them relate to comparing theme versions.
Horizon has 14 files using switch, including assets/base.css, assets/collection-links.js, assets/facets.js, and assets/gift-card-recipient-form.js. Again this maps to filtering, styling states, and form logic, not to an experiment framework. A merchant who assumed switch was the keyword for theme testing inside either theme’s code would be looking in the wrong place, and the absence of a testing-specific section in both themes is itself the finding, not a soft maybe.
Since no built-in A/B testing panel exists, the practical alternative is to compare themes using field data that already exists. The CrUX dataset from July 2026 covers real visitors, not a lab simulation, and it shows real spread across the market.
| Metric | Mobile | Desktop |
|---|---|---|
| Median pass rate (all Core Web Vitals) | 85.5% | 86.2% |
| Best theme in market | 98.6% | 99.2% |
| Worst theme in market | 46.1% | 30.3% |
| Themes with sufficient data | 247 | 199 |
That gap, from 46.1% up to 98.6% on mobile, is larger than anything a settings toggle could produce, and it is measured from actual store traffic rather than a single test run. Anyone comparing two themes before switching should pull this pass rate for each candidate rather than trust a rating or a price tag alone.
The Shopify Theme Store sets its own bar, and it applies to every listed theme regardless of price or category, whether Art, Auto, Bags, Beauty, Clothing, Electronics, Food and drink, Home, Jewelry & Access., Kids, Pets, Sports, or Toys. A theme must average a Lighthouse performance score of at least 60 across its product, collection, and home pages on both desktop and mobile, and it must average a Lighthouse accessibility score of at least 90 across those same three page types on both devices. Theme and preset names are also capped at under 30 characters, a detail that matters more for store listing hygiene than for performance but is part of the same requirements document.
These are the store’s own entry conditions, not a testing framework, but they are the closest thing to a guaranteed floor a merchant gets before ever loading a page. A theme meeting the 60 and 90 minimums still spans the full CrUX range measured above, so clearing the Theme Store bar is necessary but not sufficient for strong field performance. In the broader ranking of 329 themes, vendors including UTD appear alongside everyone else, and UTD’s listing can be checked directly rather than assumed, since the facts here do not show UTD (UTD) themes leading any specific Core Web Vitals metric.
Pull the CrUX pass rate for mobile and desktop on any theme under consideration, because a gap between 46.1% and 98.6% on mobile alone is bigger than most design decisions will move the needle on. Confirm the theme meets the Theme Store’s 60 performance and 90 accessibility minimums as a baseline, then treat rating, review count, and price as secondary signals rather than the deciding factor.
No section by that name exists in either Dawn or Horizon based on the two most recent commits checked, Shopify/dawn@258f00f from 2026-08-10 and Shopify/horizon@8b42ace from 2026-08-31. The word test does appear in Dawn's code, but only in 8 of its 351 files, and those are README.md, assets/cart.js, assets/global.js, and assets/product-form.js, none of which offer a switch-based testing setting. Horizon has more mentions, 102 of its 484 files, but the same pattern holds: README.md, assets/cart-drawer.js, assets/component-cart-items.js, and assets/facets.js use the word in comments or function names, not as a merchant-facing option. So anyone searching for a testing toggle inside theme settings will not find one in either theme as measured.
In Dawn, switch appears in 7 of 351 files, concentrated in assets/localization-form.js, assets/media-gallery.js, assets/predictive-search.js, and assets/price-per-item.js, which points to language and currency switching, gallery navigation, and search behavior rather than anything related to comparing two theme versions. In Horizon, switch shows up in 14 of 484 files including assets/base.css, assets/collection-links.js, assets/facets.js, and assets/gift-card-recipient-form.js, again tied to filters and form fields, not theme testing. Neither theme uses switch as the name of an A/B or split-testing mechanism.
Check the Core Web Vitals pass rate for the theme in question, since the market median is 85.5% on mobile and 86.2% on desktop, with a spread from 46.1% up to 98.6% on mobile and from 30.3% up to 99.2% on desktop. Also confirm the theme clears the Shopify Theme Store minimums, a Lighthouse performance score of 60 and an accessibility score of 90 averaged across product, collection, and home pages on both desktop and mobile. These two checks come from real measurement, CrUX field data from July 2026 for the pass rates and the published store requirements for the score minimums, so they replace guesswork with numbers that already exist.
The median price across the market is $300 with a range of $100 to $500, based on 329 themes in the ranking checked on 2026-09-04. The facts here do not link price to Core Web Vitals pass rate or to Lighthouse score, so no claim about a $500 theme outperforming a $100 theme can be made from this data. A merchant comparing two themes should look at the CrUX pass rate and the review count separately from price rather than assuming one predicts the other.
The average rating across the market is 4.53 out of 5 on 308 themes, and the median number of reviews per theme is 23. That is a fairly tight cluster near the top of the scale, so a rating alone does not separate a theme with a 98.6% mobile pass rate from one at 46.1%, since both could plausibly sit near that same average. Review count matters too, because a theme with far fewer than 23 reviews is a smaller sample to trust than one with more.