Ask what it costs to run an online store and you will get a number back in about four seconds. Twenty-nine dollars. One of the videos we watched while researching this piece opens with exactly that, then tells you that you can stop watching now, the answer is done.
It is not a lie. It is just an answer to a much smaller question than the one you asked.
Twenty-nine dollars is the price of the Basic plan, and even that carries an asterisk most people skip: the twenty-nine is what you pay when you commit to a full year up front. Billed month to month, the same plan is thirty-nine. Everything else you will spend to keep the store open sits somewhere else entirely, and most of it does not behave the way overhead is supposed to behave.
Here is the part nobody in the genre says out loud. Most of what you pay to run a store is metered. It is billed against your order count, your contact count, your ticket count. Which means the number does not sit still while you grow. It climbs alongside you, quietly, on the same curve as the thing you have been working all year to increase.
The Answer Everyone Gives Is the One They Get Paid to Give
There is a structural reason the honest number is hard to find. Shopify runs one of the most successful affiliate programs in software, and a large share of the content explaining what Shopify costs is written by people who earn a commission when you sign up. Steve Chou, who has been selling online for close to two decades, opens his own platform review by naming it. His words: "everyone and their mother recommends Shopify because of their affiliate program, so it's hard to get a straight answer from anyone."
You can watch this happen in real time. While researching this article we ranked the trending videos on store costs by engagement, and the single highest-scoring result was a video titled around the truth about Shopify fees and add-ons. Its entire treatment of add-ons is one sentence, roughly that some apps are free and others cost extra, followed by an affiliate link and a three-months-for-a-dollar offer.
Nobody is being dishonest, exactly. But the incentive shapes which question gets answered. Sticker price is a great answer for someone deciding whether to start. It is a useless answer for someone already running the thing and trying to work out why the bank balance and the revenue chart disagree.
The Genuinely Fixed Costs Are the Ones That Matter Least
Start with the part that does behave like overhead, because it is short.
The plan ladder, as published today, runs Basic at twenty-nine dollars a month billed yearly or thirty-nine billed monthly, Grow at seventy-nine, Advanced at two hundred and ninety-nine, and Plus starting at twenty-three hundred. If you sell in a physical location as well, POS Pro is an add-on at eighty-nine dollars a month, and it is priced per location rather than per business.
Then the one-time and near-fixed pieces. A paid theme runs somewhere between about a hundred and three hundred and fifty dollars, bought once, with updates included. A domain is ten to twenty dollars a year unless you want a word somebody else already owns, in which case the sky is the limit.
Add it up and a serious small store is looking at something like forty dollars a month plus a couple of hundred once. That is the number owners budget for, plan for, and comparison-shop. It is also, at almost any real sales volume, the least interesting cost in the business.
The interesting money is downstream, and it comes in two shapes.
Every Sale Pays a Toll You Did Not Set
The first shape is payment processing, and it is the closest thing in ecommerce to a law of physics. Someone has to move money from your customer's bank to yours, and everyone who touches it on the way takes a cut.
On Shopify Payments, the published online rate on Basic is 2.9% plus 30 cents per transaction. Grow drops it to 2.7%, Advanced to 2.5%, Plus to 2.25%. The flat 30 cents holds steady across all of them.
Then the modifiers, which is where people get surprised. A premium card, meaning a commercial, corporate, business or American Express card, is charged at 3.5% plus 30 cents. An international card adds another 1%. If you decide to use a payment provider other than Shopify Payments, Shopify charges its own transaction fee on top of whatever that provider charges you, and on Basic that fee is 2% of the order.
That last one deserves a moment. It is not a processing fee. The processor is already being paid. It is a fee for the choice of processor.
Why is any of this a percentage plus a flat fee, rather than one or the other? The clearest explanation we found comes from Merchant Maverick, and it is worth knowing because it tells you which half you can do something about. The percentage covers financing risk. A credit card is a small loan the bank makes to your customer, and the bank prices the chance of not being repaid as a share of the amount. The flat fee covers fixed infrastructure. Moving the transaction across the card networks costs roughly the same whether the order is nine dollars or nine hundred.
Two different costs, bolted into one line item. Which produces a problem that is invisible on the invoice.
Your Small Baskets Pay a Higher Rate Than Your Big Ones
Run the same fee across two orders and watch what happens.
A twenty-two dollar order at 2.9% plus 30 cents costs you about 94 cents to collect. That is 4.26% of the sale. A hundred and forty dollar order at the identical published rate costs $4.36, which is 3.11% of the sale.
Same store, same rate card, same products. The small basket pays a rate more than a full percentage point higher, and no amount of negotiating changes it, because the thing making it expensive is the fixed half of the fee meeting a small number.
A percentage point sounds academic, so price it. Push $100,000 of card volume through $22 baskets and you hand over about $4,260 in processing. Push the same $100,000 through $140 baskets and you hand over about $3,110. Identical products, identical rate card, $1,150 difference on the same revenue.
This is one of the quieter arguments for caring about average order value, and it compounds with all the usual ones. Every dollar you add to the typical basket dilutes a fee that was going to be charged anyway. We wrote a whole piece on raising average order value without raising traffic, and this is the part of the case that never appears in the standard version: a bigger cart does not just earn more, it costs proportionally less to collect.
Your App Stack Is Not a Subscription. It Is a Meter.
Here is the second shape, and it is the one this article exists for.
Owners think of apps as subscriptions. A subscription is a fixed monthly number: you pay it, you use the thing, the number is the same in December as it was in March. That is how they sit in a spreadsheet, in a row marked software, next to the internet bill.
Almost none of them work that way. We pulled the published pricing on the most common apps in a small store's stack, and here is what the ladders actually say.
Loox, for photo and video reviews, charges $49.99 a month on its Convert plan. That price includes 300 orders. Past 300, it is another $50 for each additional 300 orders.
Smile.io, for loyalty and points, runs $15 a month up to 500 monthly orders, $79 up to 1,000, and $199 for a plan that includes 2,500, after which it is $20 for every additional 100 orders.
Gorgias, the ecommerce help desk, starts at $10 and its Basic plan is $60 a month, with $40 charged for each additional 100 tickets beyond the allowance.
Klaviyo is free until you hit 250 contacts, then starts at $20 a month for 251 to 500 contacts and climbs with the list from there. Its SMS pricing is metered separately, in message credits.
PageFly, for building landing and product pages, is $24 a month at the Builder tier, $99 at the next one, with extra page slots billed on top.
Five apps. Five different meters. Orders, orders, support tickets, email contacts, published pages. And notice what none of them are metered on: your profit. Every one of these bills against a measure of your activity, and every one of those measures goes up when your marketing works.
What Five Times the Orders Actually Does to the Bill
Owners have a mental model for fixed costs, and it is a reasonable one: as the business grows, fixed costs spread across more orders, so the cost per order falls. That is what makes scale worth having.
Watch what happens when the costs are metered instead. Take a store on the Basic plan running Loox and Smile.io, and grow it from 300 orders a month to 1,500. Only the published ladders above, nothing invented.
At 300 orders a month: the plan is $29, Loox is $49.99 because 300 orders is exactly what the base price includes, and Smile.io is $15 because 300 sits inside the 500-order tier. That is $93.99 a month in software, which is $1,128 a year.
At 1,500 orders a month: the plan is still $29. Loox is now $49.99 plus four additional blocks of 300 orders at $50 each, which is $249.99. Smile.io has moved to the $199 tier. That is $477.99 a month in software, which is $5,736 a year.
Five times the orders, and the software bill went up more than five-fold. Not spread thinner across more sales. Bigger, in step, and slightly ahead.
That is the whole problem in one line. A fixed cost stays put while the orders grow, which is what makes growth worth having. Budget this stack as fixed and you are short $384 every single month at that volume, or $4,608 a year that your plan says should not exist. Nobody sees it arrive, because it arrives as a slightly larger invoice from a company you already pay.
The one genuinely fixed item in that stack, the $29 plan, did exactly what a fixed cost is supposed to do. At 300 orders it was a third of the bill. At 1,500 it was six percent of it. It behaved correctly and got swamped anyway, because it was the only thing in the list that was actually fixed.
This is why the software line in an ecommerce P&L behaves so strangely. The owner grows the business, watches the software bill grow with it, and files it under the cost of success. It is not the cost of success. It is a variable cost that has been miscategorized since the day it was first entered, and it never gets recalculated because nobody recalculates overhead.
You Are Not Choosing a Plan. You Are Choosing a Processing Rate.
There is a genuinely useful decision buried in all this, and it is one of the few places where a small store can find real money in an afternoon.
Look again at what actually changes between plans. Basic to Grow is 2.9% down to 2.7%. Grow to Advanced is 2.7% down to 2.5%. Each step buys you two tenths of a percentage point on every card transaction you process.
That means each rung has a volume at which it pays for itself, and you can work it out on the back of an envelope.
Going from Basic to Grow costs $50 more per month at the yearly-billed price. Two tenths of a point is $50 when you are processing $25,000 a month. So somewhere around $25,000 in monthly card volume, the Grow plan stops being an expense and starts being a discount. Below that, you are paying for staff accounts and shipping rates. Above it, the plan is free and then it is profitable.
Run the same arithmetic on the next rung. Grow to Advanced costs $220 more per month, and two tenths of a point covers $220 at about $110,000 in monthly volume.
Most stores we look at are on the wrong side of one of those lines, usually because they picked a plan when they launched and never revisited it. It takes ten minutes and a look at last month's processed volume to know which side you are on.
The Number You Actually Need Is Cost to Process One Order
All of this collapses into one figure, and almost nobody has it written down.
Take one recent month, and add up everything the store paid to exist and to take money: the plan, every app subscription including whatever overages landed, payment processing, and any per-order fees you carry. Divide by the number of orders in that month. That is your platform cost per order.
It is not your product cost. It is not shipping. It is not the ad budget. It is the toll you pay per transaction just to be a store that can accept a payment, and it sits between your gross margin and everything you decide to do with what is left.
Run it on the store above. At 1,500 orders a month with a $60 average order, processing costs about $2.04 an order, which is $3,060. Add the $477.99 of software and the month comes to roughly $3,538, or $2.36 per order. Annualized, that is a little over $42,000 that never touches a product, a shipment or an ad. If your margin was worked out without it, it was worked out on a store that does not exist.
We have written before about calculating true profitability product by product, and that piece deliberately works at the level of the individual item: what a single unit costs to buy, ship, pack and refund. This is the layer underneath it, the cost that attaches to no product in particular and therefore usually gets attached to none of them. If you have done the product-level work and the numbers still do not reconcile with your bank account, this is generally the missing subtraction.
One more thing worth checking while you are in there. Apps do not only cost money, they cost page weight, and a store carrying a dozen scripts is a slower store. We have covered what every extra second does to conversion rate, and it is worth pointing out that the app you are paying $50 a month for might also be quietly taxing the conversion rate of every visitor who never buys.
This Is the Margin Your Ad Budget Is Being Judged Against
Here is why any of this matters to your advertising, which is where most owners feel the pain without locating the source.
When you set a target cost per acquisition, or a target return on ad spend, you are setting it against a margin. That margin came from somewhere. In most small stores it came from a calculation done once, early, using product cost and a rough sense of the rest, and it has not been touched since.
If that number was worked out before the app stack got metered up by two years of growth, and before the payment mix drifted toward premium and international cards, then the margin you are defending is a margin you no longer have. Your target CPA is too generous. Every campaign you are running is being graded on a curve that quietly stopped being true.
This is the unglamorous half of profitable advertising, and it is the half we spend most of our time on when we take over an ecommerce account. Before touching a bid or a creative, we want to know what one order actually costs this business to fulfill and collect, because that number sets the ceiling on everything above it. It is also why two stores with identical ad accounts can have completely different outcomes.
What to Do This Month
None of this requires software or a consultant. It requires an hour and a willingness to look.
Pull every recurring charge. Your Shopify bill, plus the business card statement. App charges land in both places depending on how each developer bills, which is exactly why the total is so easy to underestimate.
Mark each one fixed or metered. Go to the app's listing page and read the pricing tiers. If the plan mentions orders, contacts, tickets, credits, sends or pages, it is metered, and it is a variable cost sitting in a fixed-cost row.
Check whether you have crossed a tier. This is where the found money usually is. Apps upgrade you automatically and cheerfully, and an app you bought at $15 when you were doing 400 orders may now be $199. Ask whether it is still earning that.
Compute cost per order. Everything above, divided by last month's orders. Write it down where you will see it again.
Then check your plan against the break-even. If you are processing more than $25,000 a month on Basic, you are paying for the privilege.
Finally, reset the ceiling. Take your new cost per order, subtract it properly, and see whether the CPA target you have been running against still leaves you a profit. If it does not, you have not found a new problem. You have found an old one that has been running for a while.
We do this exercise at the start of every ecommerce engagement, because there is no point optimizing a campaign against a margin that turned out to be fiction. If you would rather have someone else pull the statements apart and work out where your real per-order number sits, that is a large part of what we do all day. And if you would rather do it yourself with a spreadsheet and a free afternoon, that works too. It is your money either way, and the point is that you should know where it goes.




