Costs · Margins · The business of ecommerce
The usual answer to what Shopify costs per month stops at the plan price, but the theme a merchant buys once carries its own recurring cost in load speed and lost visits that the market's own Core Web Vitals data makes visible.
Ask a merchant what Shopify costs per month and they will name the plan tier and stop there, because that is the number on the invoice. What the invoice does not show is the theme sitting underneath the storefront, priced once but acting every month afterward through the speed it delivers to real visitors. Across the combined market tracked by themescout.co, 329 themes carry a median price of $300 with prices ranging from $100 to $500. That range is a real monthly cost in disguise, because a theme bought cheap and slow keeps a store’s Core Web Vitals pass rate lower than it needs to be for as long as the theme stays installed, and a low pass rate is a monthly drag on the visitors who actually show up.
A $300 median theme price looks like a single entry on a receipt. But the merchant is not paying for a static file, they are paying for how that file performs against real traffic every day it runs. The Core Web Vitals data used here comes from the Chrome UX Report for July 2026, which means it reflects actual visitors loading actual store pages on their own devices and networks, not a lab benchmark run once in a clean environment. On mobile, the median share of a theme’s visitors who pass all Core Web Vitals is 85.5%, drawn from 247 themes with sufficient data to measure. The best theme in the market reaches 98.6% and the worst reaches only 46.1%. Desktop tells a similar story with a slightly higher median: 86.2% across 199 themes, a best of 99.2%, and a worst of 30.3%. A theme sitting near the bottom of that spread is quietly costing a store visitors every month, whether or not the merchant ever opens a new invoice for it.
The theme price buys a fixed set of settings, and those settings have hard edges that a merchant should know before assuming a feature exists. Dawn’s featured product section, sections/featured-product.liquid, carries 12 settings and 13 block types as of commit 258f00f from August 10, 2026. Among them, media_size is a select with 3 variants and media_fit is a select with 2 variants, constrain_to_viewport is a plain checkbox, and secondary_background is likewise a checkbox with no gradient or custom color option attached to it. Dawn’s main product section, sections/main-product.liquid, goes further with 13 settings and 18 block types in the same commit, including enable_sticky_info as a checkbox, gallery_layout as a select with 4 variants, and the same media_size and media_fit patterns repeated from the featured product section.
Horizon’s collection and search templates work the same way but with different numbers. sections/main-collection.liquid, at commit 8b42ace from August 31, 2026, has 14 settings including layout_type as a select with 2 variants, product_card_size as a select with 4 variants, mobile_product_card_size as a select with 2 variants, and products_per_page as a range from 8 to 36 in steps of 4, sitting next to a plain enable_infinite_scroll checkbox. sections/search-results.liquid mirrors nearly all of it at 15 settings in the same commit, opening with a paragraph-type setting before repeating layout_type, product_card_size, mobile_product_card_size, enable_infinite_scroll, and the same 8-to-36-by-4 products_per_page range.
Horizon’s smaller building blocks carry the same kind of fixed menu. blocks/_inline-collection-title.liquid has 6 settings at commit 8b42ace, opening with a paragraph-type note before font as a select with 4 variants, weight as a select with 8 variants, line_height as a select with 3 variants, letter_spacing as a select with 3 variants, and case as a select with 2 variants. blocks/_inline-text.liquid has the identical shape and count, 6 settings, with the same font, weight, line_height, letter_spacing, and case selects sitting alongside its own text input field. Neither block offers a numeric field for line height or letter spacing measured in a unit the merchant types themselves; both are locked to the option counts stated above. It is worth stating plainly what is absent rather than softening it: in this commit of Horizon, none of these files carry any setting that lets a merchant type a custom font stack outside the listed variants.
The market-wide rating average of 4.53 out of 5 is calculated across 308 themes, 21 short of the full 329 in the combined ranking, and the median number of reviews behind those ratings is 23. That is a thin base for some of the star ratings merchants use to decide between themes, and it means the rating tells a merchant less than the price range or the Core Web Vitals spread does about how a theme will actually behave once installed. UTD’s themes sit inside this same combined ranking alongside every other vendor’s, and a merchant comparing options can look at UTD’s listing on the Shopify Theme Store directly rather than take a summary figure as the whole picture.
| File | Commit | Settings | Block types | Example bounded select |
|---|---|---|---|---|
| Dawn sections/featured-product.liquid | 258f00f | 12 | 13 | media_size: 3 options |
| Dawn sections/main-product.liquid | 258f00f | 13 | 18 | gallery_layout: 4 options |
| Horizon sections/main-collection.liquid | 8b42ace | 14 | — | products_per_page: 8-36 step 4 |
| Horizon sections/search-results.liquid | 8b42ace | 15 | — | products_per_page: 8-36 step 4 |
| Horizon blocks/_inline-collection-title.liquid | 8b42ace | 6 | — | weight: 8 options |
| Horizon blocks/_inline-text.liquid | 8b42ace | 6 | — | weight: 8 options |
A merchant reading this table should treat every option count as a hard ceiling rather than a suggestion, because the code at these commits does not offer anything beyond the listed variants.
Check a candidate theme’s mobile and desktop Core Web Vitals pass rate against the market median of 85.5% and 86.2% before comparing star ratings, since the rating sits on a thinner base of a median 23 reviews per theme. Then open the actual section files for the settings that matter to the storefront being built, because a select with 2 or 3 options will not grow a fourth option no matter how the price of the theme compares to the market’s $300 median.
The recurring platform fee is only part of the bill. A theme purchase sits on top of it, and across the combined market of 329 themes the median price is $300 with a spread from $100 to $500. That is a one-time charge in most storefronts, but its effect on speed and conversion behaves like a recurring cost because a slow theme keeps losing visitors every month it stays installed.
The facts here do not establish that link. What they show is a wide performance spread that exists independent of price: mobile Core Web Vitals pass rates across 247 themes with enough data range from 46.1% at the worst to 98.6% at the best, with a median of 85.5%. Desktop spans 30.3% to 99.2% with a median of 86.2% across 199 themes. Price and pass rate are two separate line items in this data, not one.
In Dawn's sections/featured-product.liquid, at commit 258f00f from August 10, 2026, there are 12 settings and 13 block types. The media_size setting is a select with 3 options and media_fit is a select with 2 options, and constrain_to_viewport is a plain checkbox. That is the entire surface for controlling how the featured product's media behaves. Anything outside those option counts, like a custom aspect ratio typed by hand, is not offered here.
Yes, within a stated range. In sections/main-collection.liquid at commit 8b42ace from August 31, 2026, the products_per_page setting is a range control running from 8 to 36 in steps of 4, and enable_infinite_scroll is a separate checkbox next to it. The same range and step appear in sections/search-results.liquid at the same commit. A merchant choosing a number outside that 8-to-36 span with a 4-item step is not choosing a number the theme actually supports.
Not evenly. The market-wide rating average is 4.53 out of 5, but that figure is drawn from 308 themes, not the full 329 in the combined ranking. The median review count sitting behind those ratings is 23, which means half the themes carrying a public star rating are doing so on a fairly thin sample.