5 Hidden Costs Eating Your WooCommerce Profits (And How to Track Them)
You know your product costs. You probably know your rough margin. But there are at least five cost categories that silently erode your WooCommerce profits every single month — and most store owners do not track any of them. Individually, each seems small. Together, they can eat 15-25% of your revenue before you notice.
Cost 1: Payment gateway fees
Every online payment processor takes a cut. Stripe charges 2.9% + $0.30 per transaction. PayPal charges 2.99% + $0.49 for standard processing. Square charges 2.9% + $0.30. These fees are deducted from your payouts automatically — which means you never see them unless you actively go looking.
WooCommerce does not deduct payment processing fees from any report. Your revenue figures are always pre-fee. This creates a persistent gap between what your WooCommerce dashboard says and what actually arrived in your bank account.
The numbers at scale:
- $1,000/month revenue: ~$32 in fees (3.2% effective rate at $50 AOV)
- $10,000/month: ~$350 in fees ($4,200/year)
- $50,000/month: ~$1,750 in fees ($21,000/year)
- $100,000/month: ~$3,500 in fees ($42,000/year)
The effective rate is always higher than the advertised 2.9% because of the fixed $0.30 component. Lower average order values make this worse. A $15 order pays $0.74 in Stripe fees — an effective rate of 4.9%. Stores with many small orders pay a significantly higher percentage than they expect.
Cost 2: Shipping subsidies
Free shipping is table stakes for ecommerce in 2026. Customers expect it. Conversion rates drop 30-50% when shipping costs appear at checkout. So most stores offer free shipping above a threshold or on everything.
The problem is that "free shipping" is not free — it just means you are paying instead of the customer. WooCommerce tracks how much shipping revenue you collected from customers. It does not track how much you paid the carrier. The gap between these two numbers is your shipping subsidy, and for most stores, it is substantial.
Common scenarios:
- Free shipping on all orders: 100% of shipping cost comes from your margin. If average shipping cost is $6 and you do 200 orders/month, that is $1,200/month ($14,400/year) in shipping costs that WooCommerce records as $0.
- Free shipping above $50: better, but orders just above the threshold still cost you the full shipping amount. And customers add cheap items to hit the threshold, lowering overall margin on those orders.
- Flat rate shipping: if you charge $5 flat but actual costs range from $4 to $12 depending on weight and destination, you are subsidising every heavy or distant order.
Cost 3: Refund processing fees
This one catches store owners off guard. When you refund a customer, WooCommerce deducts the refund from your revenue. That part is visible. What is not visible is that most payment gateways do not refund their processing fee.
Stripe's policy: when you refund a charge, the refund amount goes back to the customer, but Stripe keeps the original processing fee. You paid 2.9% + $0.30 to process the transaction, and that money is gone — even though the sale no longer happened.
Here is what that looks like on a real refund:
- Original order: $200
- Stripe fee on original order: $6.10
- Full refund processed: -$200 to customer
- Your loss: $6.10 (the non-refundable Stripe fee)
- WooCommerce shows: $0 net (refund cancels revenue)
- Your bank account shows: -$6.10 net
A store with a 5% refund rate on $10,000/month in revenue processes $500 in refunds. The non-refundable gateway fees on those refunds cost roughly $15-20/month. Not catastrophic on its own, but it adds to the pile of invisible costs. At $100,000/month with a 5% refund rate, that is $150-200/month in fees paid on transactions that generated zero revenue.
Cost 4: Plugin, hosting, and infrastructure costs per order
Running a WooCommerce store has fixed monthly costs that most owners think about in aggregate but never attribute to individual orders. When you divide these costs by your monthly order volume, the per-order infrastructure cost becomes tangible.
A typical WooCommerce store's monthly infrastructure:
- Hosting: $30-100/month
- Premium theme/plugins: $50-200/month (amortised annual costs)
- Email marketing (Klaviyo, Mailchimp): $30-300/month
- Reviews plugin (Judge.me, Loox): $15-60/month
- Security/backup (Sucuri, BlogVault): $10-30/month
- Domain and SSL: ~$5/month (amortised)
A conservative total: $200/month in infrastructure. On 200 orders per month, that is $1 per order. On 50 orders per month, it is $4 per order. The fewer orders you have, the more each one needs to carry in overhead — and none of this appears in WooCommerce profitability calculations.
Stores with expensive SaaS tools (Klaviyo at scale, Metorik, premium support plans) can easily hit $500-1,000/month in infrastructure. At 100 orders per month, that is $5-10 per order in overhead before a single product ships.
Cost 5: Currency conversion and international fees
If you sell internationally (and most WooCommerce stores do, even accidentally), you are paying currency conversion costs that go beyond standard gateway fees.
Stripe charges an additional 1% for currency conversions on international cards. PayPal charges 3-4% for cross-border transactions. These are on top of the standard processing fees. A $100 international order on Stripe costs $3.90 + $0.30 in total fees (2.9% + 1% international + $0.30), not the $3.20 you expected.
For stores with significant international traffic, this can add up quickly:
- 30% international orders on $10,000/month: $3,000 in international sales incurs an extra $30/month in conversion fees (on top of standard fees)
- 50% international orders on $50,000/month: $25,000 in international sales incurs an extra $250/month
Multi-currency plugins add another layer. If you display prices in local currencies and convert at checkout, the exchange rate you show the customer may differ from the rate Stripe uses when settling to your bank account. This spread is usually 1-2% and is completely invisible in WooCommerce.
How these costs compound: a real example
Let us put all five hidden costs together for a WooCommerce store doing $50,000/month with a 45% gross margin on products, 200 average order value, and 250 orders per month.
What WooCommerce shows:
- Net revenue (after refunds and coupons): $47,000
- Looks healthy. Growing month over month.
The hidden costs:
- COGS (45% of net revenue): -$21,150
- Payment gateway fees: -$1,525
- Shipping subsidies (free shipping, avg $7/order): -$1,750
- Refund processing fees (4% refund rate): -$58
- Infrastructure costs: -$400
- International conversion fees (25% international): -$125
The hidden costs beyond COGS total $3,858/month — or $46,296 per year. That is money leaving the business that never appears in any WooCommerce report. For a bootstrapped business, $46,000 per year in invisible costs is the difference between hiring an employee and not, between reinvesting in growth and stagnating.
And this example assumes reasonable margins. Stores with lower product margins (20-30%), higher refund rates, or aggressive ad spend can easily find that their hidden costs exceed their visible profit — meaning they are actually losing money on a dashboard that shows healthy revenue.
The fix: track every cost, see real profit
The solution is not complicated. You need to:
- Record product costs in WooCommerce — every product needs a cost field. This is the minimum viable step.
- Track payment gateway fees per order — either manually (know your rate and calculate) or automatically with a plugin that reads from the Stripe/PayPal API.
- Track actual shipping costs — log what you pay the carrier, not what the customer paid you.
- Include infrastructure costs — divide your monthly fixed costs by order volume. Update quarterly.
- Review profit weekly — revenue metrics daily, profit metrics weekly. Monthly is too slow to catch problems.
The goal is not perfect accounting — that is what your actual accountant does. The goal is operational profit visibility: knowing, within a reasonable margin, whether each order and each product is making you money. That knowledge changes every decision you make about pricing, marketing, shipping policy, and product selection.
For a step-by-step implementation guide, read our complete guide to tracking profit in WooCommerce . For a comparison of plugins that automate this, see our revenue vs profit breakdown .
Keep reading
Related guides you might find useful
WooCommerce Payment Gateway Fees Compared: Stripe vs PayPal vs Square (2026)
Every payment gateway eats into your margins. Here's a detailed fee comparison for WooCommerce stores — including the hidden costs nobody tells you about.
Read guideProfit TrackingHow to Track Stripe Fees in WooCommerce (And Why You Should)
Stripe takes 2.9% + $0.30 per transaction. Here's how to track those fees inside WooCommerce so you can see real profit, not just revenue.
Read guideProfit TrackingWooCommerce Cash Flow Management: See Where Your Money Actually Goes
Revenue comes in, fees go out, refunds happen. Here's how to get a clear cash flow picture for your WooCommerce store without a spreadsheet.
Read guideLevel up your WooCommerce store
Join the WPBundle waitlist and get beta access to our plugin suite completely free.
Join the Waitlist