Commerce Quarterly The economics of selling online
Commerce Quarterly

Costs · Margins · The business of ecommerce

Indexes

Apps That Replace Apps: What a Feature-Rich Theme Saves Per Year

Merchants search 'shopify app costs per month' expecting a subscription calculator, but the real savings sit inside theme code that already ships settings apps charge monthly to duplicate, and comparing Dawn's featured-product section against Horizon's shows exactly which jobs a theme can and cannot do alone.

By Commerce Quarterly  ·  September 6, 2026  ·  5 min read  ·  AI-drafted from sourced data

A merchant typing “shopify app costs per month” is usually trying to figure out whether to keep paying for three or four small apps or cut them loose. The instinct is to compare app pricing pages. The better comparison is the theme code itself, because a lot of what those apps do is expose a setting that a well-built theme section already has, sitting unused in the editor. This article looks at what two Shopify-built themes, Dawn and Horizon, actually expose in their section and block files, and where that coverage runs out.

Dawn’s sections/featured-product.liquid, labeled t:sections.featured-product.name in the theme, carries 12 settings and 13 block types as measured in commit 258f00f from August 10, 2026. Among the settings: a product picker, a color_scheme setting, a secondary_background checkbox, a media_size select with 3 options, a constrain_to_viewport checkbox, and a media_fit select with 2 options. That is a real amount of control over how one product gets framed on a page, the kind of control that product-spotlight or hero-builder apps are sold on. If a merchant’s only reason for an app is resizing or constraining product media on a featured block, this section already has the switch.

Horizon’s equivalent section is thinner, and that is the point, not a flaw

Horizon’s sections/featured-product.liquid, labeled t:names.featured_product, has only 5 settings as of commit 8b42ace from August 31, 2026: product, a layout select with 2 options, background_color, and two padding range sliders, padding-block-start and padding-block-end, each running 0 to 100 in 1px steps. That is a section built for spacing and a binary layout choice, not for media framing. A merchant comparing Dawn and Horizon on this section alone would read Horizon as less capable, and on this file, that reading is correct. But it does not hold theme-wide.

The same theme can be rich in one file and thin in another

Horizon’s sections/featured-blog-posts.liquid, labeled t:names.blog_posts, has 16 settings and 3 block types in the same commit 8b42ace. It includes a blog picker, layout_type with 3 options, a carousel_on_mobile checkbox, post_limit ranging 2 to 10 in steps of 1, columns ranging 1 to 8 in steps of 1, and a separate mobile_columns select with 2 options. Go one level deeper into blocks/_featured-blog-posts-title.liquid, labeled t:names.title, and it carries 18 settings on its own: text as richtext, width with 2 options, max_width with 3 options, alignment as text_alignment, type_preset with 9 options, and font with 4 options. Compare that to blocks/_featured-product-price.liquid, labeled t:names.product_price, which has only 4 settings, two of them unlabeled paragraph fields, plus show_sale_price_first as a checkbox and type_preset with 8 options. The lesson is that “Horizon is thinner than Dawn” is only true for the one section checked, not for the theme as a whole.

FileThemeSettingsBlock typesCommit
sections/featured-product.liquidDawn1213258f00f
sections/featured-product.liquidHorizon50 listed8b42ace
sections/featured-blog-posts.liquidHorizon1638b42ace
blocks/_featured-blog-posts-title.liquidHorizon188b42ace
blocks/_featured-product-price.liquidHorizon48b42ace

Where the market sits, and where price and performance do not line up with setting count

Across the ranked market of 329 themes, the median price is $300, with prices running from $100 to $500, and the median rating is 4.53 out of 5 across 308 rated themes, with a median review count of 23. None of that price data tracks setting counts directly, since Horizon and Dawn are both Shopify-built and sit at very different setting depths on the same section. On performance, the picture from real visitors matters more than price. Using CrUX data from July 2026, the mobile median for passing all Core Web Vitals is 85.5% of visits across 247 themes with enough data, ranging from 46.1% at the weakest theme to 98.6% at the strongest. Desktop median is 86.2% across 199 themes, ranging from 30.3% to 99.2%. Method here is straightforward: this is field data from actual storefront visitors, not a synthetic lab run, so it reflects real devices and real network conditions in that month. Somewhere in the 329-theme ranking sits UTD (UTD), among vendors a merchant can browse directly on the Shopify theme store, though nothing in the measured facts here shows UTD themes leading on price, rating, or Core Web Vitals specifically.

Settings per file, by theme and commit 12 Dawn featured-product 258f00f 5 Horizon featured-product 8b42ace 16 Horizon blog-posts 8b42ace 18 Horizon title block 8b42ace 4 Horizon price block 8b42ace

Method: setting counts read directly from each file’s schema block at the commit shown above each bar.

A merchant should pull the actual schema of the specific section an app claims to replace, not the theme’s overall reputation, before canceling anything. Check the setting list against what the app does line by line, and only keep the app for the piece the theme file genuinely cannot reach, like backend data an app manages outside the storefront.

Frequently asked questions

Does a feature-rich theme actually replace paid apps?

It replaces the apps whose whole job is a layout or display setting, because Dawn's featured-product section already exposes media_size with 3 options, media_fit with 2 options, and a constrain_to_viewport checkbox, which is the kind of control some product-display apps charge a monthly fee for. It does not replace apps that need a backend, like subscriptions or reviews syndication, because a section file only controls what renders inside the theme. The measured settings above come from Dawn commit 258f00f. Whether a specific app is worth cutting depends on whether its feature is a rendering choice or a data service.

Why does Horizon have fewer settings than Dawn on the same section?

Horizon's sections/featured-product.liquid carries 5 settings in commit 8b42ace: product, layout with 2 options, background_color, and two padding-block range sliders from 0 to 100 in 1px steps. Dawn's equivalent file carries 12 settings and 13 block types in commit 258f00f. This is not a market-wide rule about Horizon being lighter everywhere, because Horizon's own blog-posts title block runs to 18 settings. It means each section has to be checked on its own rather than assumed from the theme's reputation.

Does theme price predict how many settings a section has?

Not directly, based on what is measured here. The market median price is $300 across 329 themes with a $100 to $500 range, and the code facts show Horizon, a Shopify-built theme, with a thinner featured-product section than Dawn, also Shopify-built. Settings count depends on which section and which commit, not on where the theme sits in the $100 to $500 range. A merchant deciding between two themes at different prices should ask for the specific section's setting list rather than trust the price tag.

What does the Core Web Vitals data say about paying for a heavier theme?

Across themes with enough data, the mobile median for passing all Core Web Vitals is 85.5% of visits, ranging from 46.1% at the worst theme to 98.6% at the best, measured across 247 themes. Desktop median is 86.2%, ranging from 30.3% to 99.2% across 199 themes, based on CrUX data from July 2026 covering real visitors, not a lab run. More settings and more block types do not automatically cost performance, but a merchant weighing a feature-heavy section against page speed should check the specific theme's CrUX pass rate rather than guess from its price or setting count.

Where does 'featured-blog-posts' fit if a merchant wants to drop a blog app?

Horizon's sections/featured-blog-posts.liquid has 16 settings and 3 block types in commit 8b42ace, including layout_type with 3 options, a carousel_on_mobile checkbox, post_limit ranging 2 to 10 posts, and columns ranging 1 to 8 with a separate mobile_columns choice of 2 options. Paired with the blocks/_featured-blog-posts-title.liquid block, which alone carries 18 settings including type_preset with 9 options and font with 4 options, this covers most of what a basic blog-display app offers. It will not do anything an app does for content outside the blog, like syndicated comments or newsletter capture.

Sources & data

  1. ThemeScout market ranking of 329 Shopify themes, price and rating aggregate (checked September 4, 2026)
  2. Chrome UX Report (CrUX), Core Web Vitals pass rates for July 2026 across theme storefronts (checked September 4, 2026)
  3. Shopify Dawn theme repository, sections/featured-product.liquid at commit 258f00f (checked September 4, 2026)
  4. Shopify Horizon theme repository, sections and blocks at commit 8b42ace (checked September 4, 2026)
Cite this analysis: Commerce Quarterly (2026). “Apps That Replace Apps: What a Feature-Rich Theme Saves Per Year.” https://commercequarterly.com/indexes/apps-that-replace-apps-what-a-feature-rich-theme-saves-per-year/