80% off for waitlist membersGet 20+ WooCommerce plugins — Launch from $39.80 or Lifetime from $49.80 

← Back to Guides

5 Hidden Costs Eating Your WooCommerce Profits (And How to Track Them)

WPBundle Team··11 min read
hidden costs woocommercewoocommerce profit killerswoocommerce costs not trackingwoocommerce stripe fees profit

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.

Each hidden cost on its own might seem like a rounding error. But they stack multiplicatively. A store doing $50,000/month can easily lose $5,000-$8,000 to costs that never appear in WooCommerce Analytics. That is the difference between a healthy business and one that is slowly bleeding.

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.

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:

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.

PayPal changed its refund policy in 2019. Previously, PayPal refunded the full fee. Now, PayPal keeps the fixed fee portion ($0.49) on refunds and only refunds the percentage portion. Some plans keep the entire fee. Check your specific PayPal agreement — the refund fee policy varies by account type.

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.

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:

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:

  1. Record product costs in WooCommerce — every product needs a cost field. This is the minimum viable step.
  2. 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.
  3. Track actual shipping costs — log what you pay the carrier, not what the customer paid you.
  4. Include infrastructure costs — divide your monthly fixed costs by order volume. Update quarterly.
  5. 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.

We are building Profit Tracker for WooCommerce — a plugin that tracks all five of these hidden costs and shows your real profit on a clean, Shopify-style dashboard.

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 .

For a step-by-step implementation guide, read our complete guide to tracking profit in WooCommerce .
We are building Profit Tracker for WooCommerce — a plugin that tracks all five of these hidden costs and shows your real profit on a clean, Shopify-style dashboard. No spreadsheets, no guesswork. Free version coming soon. Join the waitlist for early access.

Level up your WooCommerce store

Join the WPBundle waitlist and get beta access to our plugin suite completely free.

Join the Waitlist