The average eCommerce store nets about 10% profit. Plenty run thinner, at 2% to 5%. The good ones hit 15% to 20%, and the best DTC brands push 30% (TrueProfit, 5,000+ stores). In Rands, a South African store doing R1,000,000 a month in sales banks around R75,000 before tax, and roughly R55,000 after company tax. Revenue is not profit. A R1,000,000 store is not a R1,000,000 payday. Here is the exact maths, line by line. From V8 Media. We have driven R2+ billion in client sales since 2018.
Revenue is not profit (and the gurus love to blur the line)
You have seen the posts. "We did R1,000,000 last month." Cue the supercar.
What they never show you is the bank balance after costs. That is the number that pays your bond.
Revenue is what comes in. Profit is what you keep. They are not the same. The gap is huge.
A store can do R1,000,000 a month and the owner takes home less than a decent salaried job. I have seen it more times than I can count.
So let us answer the real question. Not "how much does it turn over", but "how much does the owner actually keep".
So how much profit does the average store make?
Let us start with the percentages, then turn them into Rands.
Across the market, the average eCommerce net profit margin lands around 10%. TrueProfit's data on 5,000+ stores puts healthy stores at 15% to 20%, and the best direct-to-consumer brands at 20% to 30%.
But the average hides a lot of pain. A big chunk of stores run at 2% to 5% net, and some are quietly losing money once you count every cost (TrueProfit).
Gross margin is the other number that matters. Gross margins run anywhere from 40% to 65% depending on the niche, and healthy stores aim for 50% to 70% (Eightx, 2026). Gross margin is what is left after product cost, before all your running costs. Net margin is what is left at the very end.
Your margin also swings hard by niche. Here is the rough shape of it.
| Business type | Typical gross margin | Typical net margin |
|---|---|---|
| Beauty & skincare | 65%–85% | 15%–25% |
| Supplements | 65%–78% | 15%–25% |
| Apparel & fashion | 50%–65% | 10%–18% |
| Food & beverage | 40%–55% | 5%–12% |
| Electronics | 25%–40% | 4%–10% |
Margin ranges by category (TrueProfit, Eightx, 2026 benchmarks).
So a beauty brand and an electronics store can do the same R1,000,000 in sales and keep wildly different money. The product you sell decides your ceiling.
Want the full benchmark tables for your niche? We break them down in our guide to eCommerce profit margin benchmarks.
Where the money actually goes: a R1,000,000 store, line by line
Percentages are abstract. Rands are not. So let us walk a real R1,000,000-a-month store.
This is a simplified, illustrative breakdown to show the shape of it, not your exact books. Plug in your own numbers.
You start with R1,000,000 in sales. Watch how fast it shrinks.
| Line item | % of revenue | Amount |
|---|---|---|
| Revenue (sales) | 100% | R1,000,000 |
| Cost of goods sold (50% gross margin) | 50% | −R500,000 |
| Marketing & ads | 18% | −R180,000 |
| Net VAT to SARS | 7.5% | −R75,000 |
| Shipping & fulfilment | 8% | −R80,000 |
| Salaries | 4% | −R40,000 |
| Payment processing fees | 3% | −R30,000 |
| Rent / warehouse | 2% | −R20,000 |
| Net profit before tax | 7.5% | R75,000 |
Read that bottom line. R1,000,000 in. R75,000 left. And we have not paid the taxman his cut yet.
Let me break down the big lines so the numbers are not a black box.
Cost of goods sold: the biggest bite
Most stores run a 50% gross margin. That means half of every sale goes straight back into buying the product.
On R1,000,000 of sales, that is R500,000 gone before you have done anything else.
Push your margin and you change your whole business. Better buying, bigger orders, local suppliers. We come back to this.
Marketing: the cost owners underrate
To do R1,000,000 in sales you usually have to pay to get the traffic. Expect R150,000 to R200,000 in ad spend.
We used R180,000 here. That is an 18% spend, which is normal for a growing store leaning on paid ads.
The trap is judging this by return on ad spend alone. A pretty ROAS can still lose money once every other cost lands. We unpack that in our ROAS vs POAS guide.
VAT: the part everyone gets wrong
VAT in South Africa is 15% (SARS). You charge it on your sales, then claim back the VAT you paid on your costs.
So VAT is not really yours and it is not a clean 15% loss either. You hand SARS the difference between the VAT you collected and the VAT you paid out.
You collect R150,000 of VAT on your sales. You claim back the VAT on roughly half your costs, because salaries, some fees and unregistered suppliers carry none. So the cheque to SARS lands around R75,000 here. Treat it as a real monthly cost, because it leaves your account.
Big 2026 change to know. From 1 April 2026, you only have to register for VAT once your sales pass R2,300,000 a year, up from the old R1,000,000 threshold (SARS, Budget 2026). A R1,000,000-a-month store is R12,000,000 a year, so it is well over the line and must be registered.

Before tax vs after tax: your real take-home
That R75,000 is profit before tax. SARS still wants a slice.
Company income tax in South Africa is 27% (SARS). It dropped from 28% in 2022, so use the lower number if you have been working off old maths.
| Line item | Amount |
|---|---|
| Net profit before tax | R75,000 |
| Company tax (27%) | −R20,250 |
| Net profit after tax | R54,750 |
So a R1,000,000-a-month store keeps about R54,750 a month after tax. That is a 5.5% take-home margin.
Now the honesty bit. R54,750 a month is a good income. But it is not "I do a million a month" money. It is solid small-business money, with all the risk and stock cash tied up behind it.
The ones who bank more are not lucky. They buy better and they know their ad numbers cold. That pushes the before-tax margin to 10% to 12%, which can mean R70,000+ a month in the bank. The difference is the process.
Why two R1,000,000 stores can bank totally different profit
Here is the part that separates the winners from the strugglers.
Two stores can do the exact same R1,000,000 in sales and one keeps double what the other keeps. Same revenue. Different profit. Every time it comes down to a handful of lines.
| Cost line | Average store | Sharp operator |
|---|---|---|
| Cost of goods | 50% | 45% |
| Marketing & ads | 18% | 14% |
| Payment fees | 3% | 2.5% |
| Shipping & fulfilment | 8% | 7% |
| Other running costs | 13.5% | 13.5% |
| Net profit before tax | 7.5% (R75,000) | 18% (R180,000) |
Trim 5% off product cost. Trim 4% off ad spend. Squeeze the fees and the courier bill.
None of those moves are dramatic on their own. Stacked together they more than double the profit on the same sales.
That is why "just do more revenue" is the wrong goal. A leaky R1,000,000 store can keep less than a tight R600,000 store. Profit lives in the margins. Not the top line.

The South African costs that quietly kill your margin
The benchmark tables you find online are mostly US data. South Africa has its own potholes that eat into your profit.
- Courier costs. Shipping a parcel across our distances is expensive, and a "free delivery" promise comes straight out of your margin.
- Load-shedding. Backup power, lost picking time, and delayed dispatch all carry a cost most spreadsheets ignore.
- Payment fees. Gateways like PayFast, Yoco and Payflex add a blended 2.5% to 4% on every sale. On R1,000,000 that is up to R40,000 a month.
- Returns and lost stock. Every return costs you the shipping both ways plus the admin, and damaged stock is pure loss.
- The Rand. If you import, a weak Rand quietly raises your cost of goods between orders.
None of these show up on a flashy revenue screenshot. All of them show up in your bank balance.
How to actually grow your profit, not just your revenue
Knowing the numbers is step one. Moving them is the job. Here is the order we work it for clients.
- Know your real net margin. After product cost, VAT, shipping, fees, tax, the lot. No guessing. This one number controls every decision you make.
- Fix the product cost first. A 5% drop in cost of goods is worth more than chasing extra sales. Bigger orders, better terms, local suppliers where the Rand bites.
- Make every Rand of ad spend pay. Cut the campaigns that do not convert and put the budget behind the ones that do. Run Meta Ads and Google Ads on profit, not vanity clicks.
- Lift your average order value. Bundles, upsells and free-shipping thresholds spread your fixed costs over a bigger basket, so more of each sale drops to the bottom line.
- Sell to the same customer again. Repeat buyers cost you almost nothing in ads. Email and retention flows are the cheapest profit you will ever make.
- Track the numbers monthly. What you do not measure, you cannot fix. We list the full set in our guide to the eCommerce KPIs every store should track monthly.
Do this and the same R1,000,000 store that banked R55,000 starts banking R120,000+. The sales did not change. The discipline did. Want the full playbook? Here is how to optimise your online store for profit.

How V8 Media grows stores on profit, not just revenue
Most agencies hand you a screenshot of a big revenue number and call it a win. We do not.
We start with your real margin. Product cost, VAT, shipping, fees, tax. Then we build the ad plan around the profit you keep, not the revenue you post.
Sometimes that means telling a client to slow down on a campaign that looks great but loses money once every cost lands. They are never upset when the bank balance climbs.
That is the thinking behind everything we run for eCommerce stores. More money in your account. Not a prettier screenshot for a case study.
Frequently asked questions
How much profit does the average eCommerce store make?
The average eCommerce net profit margin is about 10% of revenue, with healthy stores at 15% to 20% and top DTC brands at 20% to 30% (TrueProfit). Plenty of stores run thinner at 2% to 5%. In Rands, a store doing R1,000,000 a month in sales usually keeps around R75,000 before tax and roughly R55,000 after company tax.
Is a R1,000,000-a-month online store rich?
Not as rich as it sounds. After product cost, ads, VAT, shipping, fees, salaries and tax, a R1,000,000-a-month store typically takes home about R55,000 a month. That is solid small-business income, but it is a long way from a R1,000,000 payday. Revenue is not profit.
What is a good net profit margin for eCommerce?
A good net profit margin is 15% to 20%, and 20% to 30% is excellent for a direct-to-consumer brand (TrueProfit). Below 10%, one bad month wipes your profit. Below 5%, you are basically working for free.
Why is my revenue high but my profit low?
Because revenue is the money coming in and profit is what is left after every cost. Product cost alone is usually half your sales, then ads, VAT, shipping, fees, salaries and tax take the rest. High revenue with thin margins keeps very little. Fixing the cost lines is what grows your profit.
How much VAT and tax does a South African store pay?
VAT is 15% on sales, netted against the VAT you claim back on costs (SARS). From 1 April 2026 you must register for VAT once sales pass R2,300,000 a year, up from R1,000,000. Company income tax is 27% of taxable profit (SARS), down from 28% in 2022.
How do I increase my eCommerce profit margin?
Lower your product cost with better buying, cut wasted ad spend, lift your average order value with bundles and upsells, sell to repeat customers, and track your numbers monthly. Trimming a few percent off product cost and ad spend can more than double the profit on the same sales.
Key takeaways
- The average eCommerce store nets about 10% profit; healthy is 15% to 20%, and many stores run 2% to 5% (TrueProfit).
- A R1,000,000-a-month store typically keeps about R75,000 before tax and roughly R55,000 after company tax.
- Revenue is not profit. Cost of goods alone usually eats half of every sale.
- Company tax is 27% and VAT is 15%, with the VAT registration threshold rising to R2,300,000 a year from 1 April 2026 (SARS).
- Two stores with the same revenue can bank double the profit. It comes down to the cost lines, not the top line.
- Grow profit by cutting product cost, making ad spend pay, lifting order value, and selling to repeat customers.
Doing big revenue but banking small profit? We have seen this a hundred times. We find where the money is leaking. Then we fix the ad plan around what you actually keep. We have driven R2+ billion in client sales since 2018. See how we grow eCommerce stores profitably.
Claim Your Free Audit
