{"id":8600,"date":"2026-08-04T22:06:57","date_gmt":"2026-08-04T22:06:57","guid":{"rendered":"https:\/\/dextora.agency\/?post_type=insight&#038;p=8600"},"modified":"2026-08-05T11:29:43","modified_gmt":"2026-08-05T11:29:43","slug":"what-an-online-store-really-costs-over-three-years","status":"publish","type":"insight","link":"https:\/\/dextora.agency\/en\/insights\/what-an-online-store-really-costs-over-three-years\/","title":{"rendered":"What an Online Store Really Costs: WooCommerce, Shopify and Headless Over Three Years"},"content":{"rendered":"<p>The question arrives as a one-liner. How much does an online store cost. The honest answer is that the build price, which is the only number most quotes contain, is usually the smallest line in the three-year total, and it is almost never the line that decides whether the project was a good idea.<\/p>\n<p>What follows is a three-year cost model for the three realistic options: WooCommerce on your own hosting, Shopify on a paid plan, and a headless build with a separate front end. The numbers are ranges rather than quotes, because the honest version of this comparison has ranges in it. Where a figure comes from a vendor&#8217;s own published price list, it is linked. Where it is our estimate, it says so.<\/p>\n<h2>The scenario the model prices<\/h2>\n<p>Everything below assumes one store: roughly 1,500 products, one primary market, about 800 orders a month at an average order value near EUR 125. That is EUR 1.2 million a year, EUR 3.6 million over three years, and about 28,800 orders. It is deliberately mid-sized, because that is where the platform choice is genuinely contested. Below it, Shopify usually wins on arithmetic alone. Well above it, the question changes shape entirely.<\/p>\n<h2>The three-year table<\/h2>\n<table>\n<thead>\n<tr>\n<th>Cost line, three years<\/th>\n<th>WooCommerce<\/th>\n<th>Shopify Advanced<\/th>\n<th>Headless<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Licence or subscription<\/td>\n<td>EUR 2,400 to 7,500 (core is free, commercial extensions are not)<\/td>\n<td>EUR 10,404 at the published annual rate, plus EUR 3,600 to 14,400 in paid apps<\/td>\n<td>EUR 12,000 to 40,000 across commerce API, search, CMS and image services<\/td>\n<\/tr>\n<tr>\n<td>Hosting and infrastructure<\/td>\n<td>EUR 1,800 to 7,200 for managed hosting that can survive a campaign<\/td>\n<td>Included<\/td>\n<td>EUR 3,600 to 14,400 for front-end hosting, builds and CDN<\/td>\n<\/tr>\n<tr>\n<td>Initial development<\/td>\n<td>EUR 8,000 to 30,000<\/td>\n<td>EUR 5,000 to 20,000<\/td>\n<td>EUR 40,000 to 120,000<\/td>\n<\/tr>\n<tr>\n<td>Maintenance, updates, security<\/td>\n<td>EUR 9,000 to 25,200<\/td>\n<td>EUR 5,400 to 16,200<\/td>\n<td>EUR 32,400 to 90,000<\/td>\n<\/tr>\n<tr>\n<td>Migration in<\/td>\n<td>EUR 3,000 to 12,000<\/td>\n<td>EUR 2,000 to 10,000<\/td>\n<td>EUR 10,000 to 35,000<\/td>\n<\/tr>\n<tr>\n<td><strong>Subtotal, excluding payment fees<\/strong><\/td>\n<td><strong>EUR 24,200 to 81,900<\/strong><\/td>\n<td><strong>EUR 26,400 to 71,000<\/strong><\/td>\n<td><strong>EUR 98,000 to 299,400<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Payment processing on EUR 3.6m<\/td>\n<td>EUR 50,000 to 105,000, set by your provider<\/td>\n<td>EUR 68,400 at the published Advanced rate of 1.7% plus EUR 0.25 per transaction<\/td>\n<td>EUR 50,000 to 105,000, set by your provider<\/td>\n<\/tr>\n<tr>\n<td>Penalty for using an outside payment provider<\/td>\n<td>None<\/td>\n<td>EUR 21,600 at the published Advanced rate of 0.6% of volume<\/td>\n<td>None<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Plan prices and card rates are taken from <a href=\"https:\/\/www.shopify.com\/pricing\" target=\"_blank\" rel=\"noopener\">Shopify&#8217;s published pricing page<\/a> in euro, which lists Advanced at EUR 289 a month on annual billing, Shopify Payments at 1.7% plus EUR 0.25 on standard cards for that plan, and a 0.6% additional fee on that plan for using a third-party payment provider. The WooCommerce side has no equivalent single price list because the software itself is free; the <a href=\"https:\/\/woocommerce.com\/pricing\/\" target=\"_blank\" rel=\"noopener\">WooCommerce extension pricing<\/a> is where the real recurring cost sits. Development, maintenance and migration ranges are our own estimates from projects of this size, not published figures.<\/p>\n<h2>The line that decides it<\/h2>\n<p>Look at the table again and notice the proportions. On a EUR 3.6 million store, the entire platform, build, hosting and maintenance argument spans roughly EUR 25,000 to EUR 80,000 over three years for the two mainstream options. Payment processing costs two to four times that, and it is a line most comparisons omit entirely.<\/p>\n<p>Which produces two practical conclusions that matter more than the platform debate.<\/p>\n<ul>\n<li><strong>Negotiate your payment rate before you argue about the CMS.<\/strong> A tenth of a percent on EUR 3.6 million is EUR 3,600. That is a rounding error in a payments conversation and it is a meaningful share of a three-year hosting budget.<\/li>\n<li><strong>Shopify&#8217;s third-party payment fee is a strategic lock, not an admin charge.<\/strong> At the Advanced rate of 0.6%, keeping your existing acquirer costs an extra EUR 21,600 over three years on this volume. On the Basic plan the same fee is 2%, which on this volume would be EUR 72,000. If a local acquirer, a bank relationship or a market-specific method matters to you, price that fee before you commit, because it does not appear in any build quote.<\/li>\n<\/ul>\n<h2>What you are actually buying with the difference<\/h2>\n<p>The spread between WooCommerce and Shopify in the table is small enough to be noise. The difference is in what you are exposed to.<\/p>\n<table>\n<thead>\n<tr>\n<th>Dimension<\/th>\n<th>WooCommerce<\/th>\n<th>Shopify<\/th>\n<th>Headless<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Who carries uptime and patching<\/td>\n<td>You, via a host and a maintenance contract<\/td>\n<td>Shopify<\/td>\n<td>You, on the front end; the vendor on the commerce API<\/td>\n<\/tr>\n<tr>\n<td>Cost of an unusual requirement<\/td>\n<td>Low to moderate; the code is yours<\/td>\n<td>Low if an app exists, very high if it does not<\/td>\n<td>Low, and that is the point<\/td>\n<\/tr>\n<tr>\n<td>Checkout control<\/td>\n<td>Full<\/td>\n<td>Constrained by plan and platform rules<\/td>\n<td>Full<\/td>\n<\/tr>\n<tr>\n<td>Failure mode<\/td>\n<td>Plugin conflicts and slow pages<\/td>\n<td>App sprawl and per-app monthly fees<\/td>\n<td>A front end nobody left on the team can maintain<\/td>\n<\/tr>\n<tr>\n<td>Cost of leaving<\/td>\n<td>Moderate; data is yours<\/td>\n<td>Moderate; export plus rebuild<\/td>\n<td>High; you rebuild the front end again<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>The performance difference is measurable, and it is not a tie<\/h2>\n<p>This part is not opinion. The <a href=\"https:\/\/almanac.httparchive.org\/en\/2025\/ecommerce\" target=\"_blank\" rel=\"noopener\">Web Almanac 2025 ecommerce chapter<\/a>, published in January 2026 from HTTP Archive crawl data, measures platforms at scale.<\/p>\n<table>\n<thead>\n<tr>\n<th>Measure, desktop<\/th>\n<th>WooCommerce<\/th>\n<th>Shopify<\/th>\n<th>Wix eCommerce<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Share of ecommerce sites<\/td>\n<td>35.4%<\/td>\n<td>21.5%<\/td>\n<td>7.8%<\/td>\n<\/tr>\n<tr>\n<td>Median Lighthouse performance<\/td>\n<td>61<\/td>\n<td>71<\/td>\n<td>88<\/td>\n<\/tr>\n<tr>\n<td>Origins passing Core Web Vitals<\/td>\n<td>33%<\/td>\n<td>76%<\/td>\n<td>70%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Two readings are wrong. The first is that WooCommerce is slow by nature: those are aggregate figures across hundreds of thousands of origins, most of them on cheap shared hosting with a stack of plugins nobody audits. The second is that the gap does not matter: the chapter attributes almost all of it to Largest Contentful Paint, which is exactly the metric a competent build controls. A well-built WooCommerce store passes Core Web Vitals comfortably. The statistic is telling you what the median WooCommerce store is, not what yours has to be, and the cost of getting from one to the other belongs in the hosting and development lines above. If you want the metric definitions themselves, <a href=\"https:\/\/web.dev\/articles\/vitals\" target=\"_blank\" rel=\"noopener\">the Core Web Vitals documentation<\/a> is the reference. A score is a diagnostic, not a business case, and the two get confused constantly in platform arguments. Our separate piece on <a href=\"https:\/\/dextora.agency\/en\/insights\/inp-core-web-vitals-revenue-not-rankings\/\">why responsiveness shows up in revenue rather than rankings<\/a> deals with what the interaction metric is actually worth to a store, which is the question a Lighthouse number cannot answer.<\/p>\n<h2>The headless break-even number, and why we are not quoting it<\/h2>\n<p>You will read that headless commerce breaks even somewhere around USD 2 to 5 million in annual revenue. We went looking for the source of that range and could not find one. It appears on agency and vendor blogs without a study, a sample or a methodology behind it. Treat it as folklore with a decimal point.<\/p>\n<p>Worse, the arithmetic does not obviously support it. Take the middle of the headless column above and you get a three-year cost near EUR 200,000, which is roughly EUR 66,000 a year of additional spend against a mainstream platform. A store doing EUR 3 million at a five percent net margin clears EUR 150,000 a year in total. The headless premium would consume close to half of it, and would need to produce a very large uplift to pay for itself.<\/p>\n<p>Notably, <a href=\"https:\/\/www.shopify.com\/enterprise\/blog\/what-is-headless-commerce\" target=\"_blank\" rel=\"noopener\">Shopify&#8217;s own enterprise guidance on headless commerce<\/a> declines to give a revenue threshold at all. It says the decision should rest on operational complexity and specific business requirements rather than size, industry or brand maturity, and that headless is not a default requirement for modern commerce. That is a vendor arguing against a framing that would sell more of its enterprise product, which is the sort of source worth listening to.<\/p>\n<p>Our own position, stated as judgement rather than research: the question is not a revenue number, it is whether you already fund permanent front-end engineering capacity. Headless converts a periodic redesign cost into a permanent salary line. If that capacity exists for other reasons, the increment is small and the flexibility is real. If it does not, you are proposing to hire a team in order to justify an architecture. The same reasoning applies one layer down, and we worked through it for content in our piece on <a href=\"https:\/\/dextora.agency\/en\/insights\/headless-cms-who-needs-it-who-does-not\/\">who actually needs a headless CMS<\/a>.<\/p>\n<h2>What is missing from most quotes<\/h2>\n<ul>\n<li><strong>The second year.<\/strong> Extension renewals, plan increases and app fees all land after the invoice everyone remembers.<\/li>\n<li><strong>Hosting that survives a campaign.<\/strong> The cheap tier is fine until the day it matters. Our breakdown of <a href=\"https:\/\/dextora.agency\/en\/insights\/business-hosting-what-to-choose-where-not-to-save\/\">where not to economise on business hosting<\/a> covers the specific failure modes.<\/li>\n<li><strong>Content and product data work.<\/strong> Photography, descriptions, attributes and feed hygiene are a recurring operational cost, not a launch task.<\/li>\n<li><strong>The exit.<\/strong> Every platform is cheap to enter. Ask what leaving costs before you sign, especially for headless.<\/li>\n<\/ul>\n<p>For the general shape of development pricing beyond ecommerce, our <a href=\"https:\/\/dextora.agency\/en\/insights\/how-much-does-a-website-cost-price-breakdown\/\">breakdown of what a website costs<\/a> covers the same logic across project types, and the <a href=\"https:\/\/dextora.agency\/en\/insights\/website-builder-vs-custom-development-choosing\/\">builder versus custom development comparison<\/a> covers the tier below this one.<\/p>\n<h2>The short version<\/h2>\n<p>Over three years on a EUR 3.6 million store, WooCommerce and Shopify land in the same range once hosting, extensions, apps and maintenance are counted, roughly EUR 25,000 to EUR 80,000 before payment fees. Payment processing is two to four times larger than that entire argument, and Shopify&#8217;s published 0.6% charge on the Advanced plan for using an outside provider is worth EUR 21,600 on this volume. Headless costs three to five times the mainstream options and its widely quoted break-even revenue figure has no traceable source. Web Almanac 2025 puts desktop Core Web Vitals pass rates at 76% for Shopify and 33% for WooCommerce, a gap that is mostly Largest Contentful Paint and mostly fixable.<\/p>\n<p>The right way to run this decision is to build the three-year table for your own volume before anyone designs anything. That is how we scope work when we <a href=\"https:\/\/dextora.agency\/en\/services\/online-stores\/\">build online stores<\/a>, and it regularly changes the answer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A three-year cost model for WooCommerce, Shopify and headless, the payment fee that dwarfs the platform fee, what Web Almanac 2025 measures on performance, and why the headless break-even figure has no source.<\/p>\n","protected":false},"author":1,"featured_media":8542,"template":"","insight_category":[154],"insight_tag":[199,178,188,162],"class_list":["post-8600","insight","type-insight","status-publish","has-post-thumbnail","hentry","insight_category-guides","insight_tag-e-commerce","insight_tag-performance","insight_tag-pricing","insight_tag-web-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight\/8600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight"}],"about":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/types\/insight"}],"author":[{"embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/users\/1"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/media\/8542"}],"wp:attachment":[{"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/media?parent=8600"}],"wp:term":[{"taxonomy":"insight_category","embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight_category?post=8600"},{"taxonomy":"insight_tag","embeddable":true,"href":"https:\/\/dextora.agency\/en\/wp-json\/wp\/v2\/insight_tag?post=8600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}