Commerce Quarterly The economics of selling online
Commerce Quarterly

Costs · Margins · The business of ecommerce

Indexes

Shopify POS Pricing: Terminals, Plans and Per-Swipe Fees

The reader typing 'shopify pos cost' wants one number, but the honest answer sits inside theme settings and market data this site can actually measure, not a hardware price sheet, so this article settles what is measurable and names what is not.

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

A reader typing “shopify pos cost” into a search bar expects a terminal price and a per-swipe fee, and they get instead a scattering of theme store data, performance charts, and code repositories that never mention point of sale hardware at all. That mismatch is the story. The category list this site tracks, built from a market of 329 themes, has slots for Art, Auto, Bags, Beauty, Clothing, Electronics, Food and drink, Home, Jewelry & Access., Kids, Pets, Sports, and Toys, and nothing under any name resembling POS pricing. So the honest move is not to invent a number that was never measured, but to lay out what this dataset actually settles, which is theme pricing, theme performance, and the exact settings a merchant can and cannot touch on a product or blog page.

The theme market has a real price band, and it is not POS pricing

Across the 329 themes in the ranked market, the median price is $300, and prices run from $100 at the low end to $500 at the high end. That is what a merchant pays once for a theme license, separate from any plan tier or hardware purchase. The average rating across themes with enough reviews to count, 308 of them, is 4.53 out of 5, and the median number of reviews per theme is 23. None of these numbers describe recurring POS fees, because the dataset was never built to track that. It was built to track theme storefronts, and it does that well.

Core Web Vitals separate themes more than price does

MetricMedianBest in marketWorst in marketThemes with sufficient data
Mobile, all CWV pass85.5%98.6%46.1%247
Desktop, all CWV pass86.2%99.2%30.3%199

The gap between the best and worst theme on mobile, 98.6% against 46.1%, is far wider than anything the $100 to $500 price range can explain on its own. The same holds on desktop, where the spread runs from 30.3% up to 99.2%. This data comes from CrUX for July 2026, meaning it reflects real visitors loading real stores, not a lab benchmark run once and forgotten. A merchant who wants speed has to check this figure directly against the theme they are considering, because price alone gives no signal here.

Dawn’s product sections expose real settings with real limits

Dawn’s sections/featured-product.liquid, at commit 258f00f, carries 12 settings and 13 block types. Among the named settings are product, color_scheme, secondary_background as a checkbox, media_size as a select with 3 options, constrain_to_viewport as a checkbox, and media_fit as a select with 2 options. Dawn’s sections/main-product.liquid, same commit, carries 13 settings and 18 block types, including enable_sticky_info as a checkbox, color_scheme, media_size again with 3 options, constrain_to_viewport as a checkbox, media_fit with 2 options, and gallery_layout as a select with 4 options.

What neither section exposes is any setting related to payment terminals, POS sync, or per-transaction fees, because theme sections govern layout and media presentation, not the commerce backend. A merchant reading “shopify pos cost” into this section list will find media_fit toggles and gallery layouts, not a fee schedule, and that absence is worth stating plainly rather than glossing over.

Horizon’s blog sections show how granular theme settings actually get

Horizon’s sections/main-blog-post.liquid, at commit 8b42ace, has 5 settings and 6 block types, including content_direction as a select with 1 option, gap as a range from 0 to 100 in 1px steps, background_color, and two padding ranges, padding-block-start and padding-block-end, both 0 to 100 in 1px steps. The section that controls how many posts show and in what layout, featured-blog-posts.liquid, has 16 settings and 3 block types, including blog, layout_type as a select with 3 options, carousel_on_mobile as a checkbox, post_limit ranging 2 to 10, columns ranging 1 to 8, and mobile_columns as a select with 2 options.

Below the section level, the blocks/_blog-post-title.liquid block carries 19 settings, including 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. The blocks/_blog-post-description.liquid block carries 12 settings, including type_preset with 9 options, font with 4 options, font_size with 17 options, line_height with 3 options, letter_spacing with 3 options, and case with 2 options. This is granular control over typography and spacing, and none of it touches transaction cost, because that is not what a blog block is for.

Chart: price band against Core Web Vitals spread

Price band vs Core Web Vitals pass rates Theme price ($) $100 min $300 median $500 max Mobile CWV pass rate (%) 46.1% worst 85.5% median 98.6% best Desktop CWV pass rate (%) 30.3% worst 86.2% median 99.2% best Method: values plotted directly from measured facts, no interpolation, CrUX July 2026 for CWV, themescout.co market aggregate for price, checked September 4, 2026.

What to do with this

A merchant who typed “shopify pos cost” should go find a Shopify pricing or hardware page directly, because nothing in this theme market data answers that question and no number here should be stretched to pretend otherwise. What this data is good for is picking a theme inside the $100 to $500 range with an eye on the Core Web Vitals spread, 46.1% to 98.6% on mobile and 30.3% to 99.2% on desktop, and checking specific section settings like Dawn’s gallery_layout or Horizon’s post_limit before assuming a theme does something it does not.

Frequently asked questions

Does Shopify POS pricing appear anywhere in theme store data?

No. The category list this site tracks covers Art, Auto, Bags, Beauty, Clothing, Electronics, Food and drink, Home, Jewelry & Access., Kids, Pets, Sports, and Toys, and none of them is a POS or hardware category. The search term a reader types, shopify pos cost, does not map to any theme, section, or setting in the 329-theme market this article draws from. What this article can state with numbers is theme pricing and theme performance, which is a different question than terminal cost. Anyone comparing POS plans should treat that as a separate research task from theme selection.

What does the median theme price tell a merchant about total store cost?

The median theme price across the tracked market is $300, with the cheapest themes at $100 and the priciest at $500. That is a one-time or per-theme cost, not a recurring fee, and it sits on top of whatever plan and hardware a merchant chooses. The average rating across 308 rated themes is 4.53 out of 5, with a median of 23 reviews per theme, which gives a sense of how tested these themes are before a merchant commits $100 to $500 to one of them.

What settings does Dawn's product page actually expose?

Dawn's main-product.liquid section, at commit 258f00f, has 13 settings and 18 block types. Named settings include enable_sticky_info as a checkbox, color_scheme, media_size as a select with 3 options, constrain_to_viewport as a checkbox, media_fit as a select with 2 options, and gallery_layout as a select with 4 options. None of these settings touch payment processing, POS sync, or terminal configuration, because that logic lives outside the theme layer entirely.

Can Horizon's blog section be resized or restyled without code?

Partially. The blocks/_blog-post-title.liquid block in Horizon has 19 settings, including 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. The blocks/_blog-post-description.liquid block has 12 settings, including font_size with 17 options, line_height with 3 options, letter_spacing with 3 options, and case with 2 options. Layout-level control comes from featured-blog-posts.liquid, which has 16 settings including layout_type with 3 options, post_limit ranging 2 to 10, columns ranging 1 to 8, and mobile_columns with 2 options, all fixed at commit 8b42ace.

Do faster themes cost more?

The facts here do not link price to Core Web Vitals pass rates directly, so no correlation can be stated. What can be stated is that the mobile median pass rate is 85.5% across 247 themes with sufficient data, ranging from 46.1% to 98.6%, and the desktop median is 86.2% across 199 themes, ranging from 30.3% to 99.2%. A merchant picking a theme by price alone, using the $100 to $500 range, has no guarantee of where that theme lands in the vitals range.

Sources & data

  1. themescout.co, ranked theme market aggregate of 329 themes with pricing and rating fields (checked September 4, 2026)
  2. CrUX dataset, Core Web Vitals pass rates for July 2026, real visitor field data not lab runs (checked September 4, 2026)
  3. Shopify/dawn repository, sections/featured-product.liquid and sections/main-product.liquid at commit 258f00f (checked September 4, 2026)
  4. Shopify/horizon repository, sections/main-blog-post.liquid, sections/featured-blog-posts.liquid, and blog-post blocks at commit 8b42ace (checked September 4, 2026)
Cite this report: Commerce Quarterly Research Desk (2026). “Shopify POS Pricing: Terminals, Plans and Per-Swipe Fees.” Commerce Quarterly. https://commercequarterly.com/indexes/shopify-pos-pricing-terminals-plans-and-per-swipe-fees/
Figures on this page are our own measurements. You may quote them and reproduce a single table or chart, provided you include a visible, followable link to this page. Full terms: Reuse & citation.