WooCommerce Only Shows Revenue — Here’s How to See Your Real Profit
Open your WooCommerce dashboard right now. You'll see a revenue number — orders, gross sales, net sales. It looks like progress. But here's what WooCommerce doesn't show you: how much of that revenue is actually yours after costs.
Revenue is not profit. Every WooCommerce store owner knows this intellectually, but very few can tell you their real profit margin on a per-order basis. That's because WooCommerce was never designed to track profit. It tracks transactions. The gap between those two things is where stores quietly bleed money.
$0
Profit data in WooCommerce by default
2.9% + $0.30
Stripe fee on every transaction
15-40%
Typical hidden cost gap on WooCommerce stores
The COGS gap: what WooCommerce doesn't track
Cost of Goods Sold (COGS) is the most fundamental number in retail accounting. It's what you paid for the product that you just sold. Without it, you literally cannot calculate profit. And WooCommerce has no native field for it.
WooCommerce tracks the sale price, the regular price, tax, and shipping charged to the customer. It does not track what you paid your supplier, what it cost to ship the product to your warehouse, or any per-unit manufacturing cost. The “Net Sales” figure in your WooCommerce analytics is revenue minus refunds and coupons — it is not profit.
This means a store doing $50,000 per month in WooCommerce “net sales” might be making $25,000 in actual profit, or $5,000, or losing money entirely. Without COGS data attached to each product, you're flying blind.
Net Sales ≠ Net Profit
Payment gateway fees: the silent 3% tax
Every payment gateway takes a cut. Stripe charges 2.9% + $0.30 per transaction. PayPal is similar. If you're using Klarna, Afterpay, or any buy-now-pay-later provider, fees can reach 4-6% per transaction.
On a $100 order through Stripe, you lose $3.20 immediately. That doesn't sound catastrophic until you do the annual maths: a store processing $500,000 per year through Stripe pays roughly $14,800 in gateway fees alone. On a 30% gross margin, that's nearly 10% of your actual profit gone to payment processing.
WooCommerce doesn't track these fees. Your Stripe dashboard shows them, but they're not connected to your WooCommerce order data. You can't see per-order profit after gateway fees without either a spreadsheet or a plugin that pulls this data together.
$14,800
Annual Stripe fees on $500K revenue
4-6%
BNPL provider fees per transaction
$3.20
Stripe fee on a single $100 order
Shipping costs: the margin killer nobody watches
Shipping is where profit margins go to die, especially if you offer free shipping. WooCommerce tracks what the customer paid for shipping — but not what you paid the carrier. If a customer pays $5.99 for shipping but it costs you $11.50 to send the package, you're subsidising $5.51 per order. On free shipping orders, you're absorbing the entire cost.
Most store owners set shipping rates once and forget about them. Meanwhile, carriers adjust rates annually (UPS and FedEx typically raise rates 5-7% per year), dimensional weight pricing changes, and fuel surcharges fluctuate. Your shipping costs creep up while your shipping charges stay the same.
Without tracking actual shipping costs per order, you can't identify which products, which destinations, or which shipping methods are destroying your margins. A product with a healthy 40% margin on paper might be break-even after shipping a heavy item to a remote postcode.
Track actual vs charged shipping
Other costs WooCommerce ignores
COGS, gateway fees, and shipping are the big three, but they're not the only costs eating your margins:
- Refund costs: When you refund an order, WooCommerce deducts the sale from revenue. But Stripe doesn't refund its processing fee. You paid $3.20 to process a $100 order, and when you refund it, you get back $96.80. The $3.20 is gone.
- Packaging materials: Boxes, bubble wrap, tape, labels, inserts. These cost $1-5 per order depending on your products and branding. On low-value orders, packaging can be 5-10% of the order value.
- Currency conversion: Selling internationally with multi-currency? Every conversion has a spread. Stripe charges 1% for currency conversion on top of its standard fees. PayPal's conversion spread can be 3-4%.
- Platform fees: WooCommerce itself is free, but hosting, premium plugins, SSL certificates, and email services add up. A typical WooCommerce stack costs $100-500 per month in infrastructure.
- Returns processing: Return shipping labels, restocking labour, items that can't be resold. Fashion and apparel stores see 20-30% return rates.
The spreadsheet approach (and why it breaks)
The first thing most store owners do is export WooCommerce orders to CSV and build a profit spreadsheet. This works — for about two weeks. Then it becomes a maintenance nightmare.
You need to manually match Stripe fees to orders, pull carrier invoices and allocate costs to individual shipments, maintain a COGS table for every product and variation, and update everything when supplier prices change. For a store with 50+ orders per day, this becomes a part-time job.
The spreadsheet approach also gives you historical data, not real-time visibility. By the time you've done last month's reconciliation, you've already spent another month making the same margin mistakes. What you need is profit data attached to each order as it happens.
Existing WooCommerce profit tracking plugins
There are plugins that attempt to solve this problem. None of them solve it well.
WPFactory Cost of Goods / Profit Calculator
WPFactory's plugin is the most feature-complete option currently available. It lets you add cost prices to products, calculates profit per order, and generates profit reports. The free version covers basic COGS tracking. The pro version adds gateway fee tracking, shipping cost imports, and more.
The problem is bloat. The pro version has 50+ settings across multiple tabs. The UI is overwhelming and feels like it was designed by developers who kept adding features without ever stepping back to simplify. Configuration takes time, and many settings interact in non-obvious ways. It works, but it's not pleasant to use.
WooCommerce Cost of Goods (SkyVerge / official)
This was the official WooCommerce extension for COGS tracking, built by SkyVerge before their acquisition. It carries a 3.5 out of 5 star rating and hasn't seen meaningful updates in years. The feature set is basic — you can add a cost field to products and see profit in order reports.
It doesn't track gateway fees, doesn't handle shipping costs, and doesn't integrate with any external data sources. For $79 per year, you get a cost field and basic arithmetic. Reviews consistently mention bugs with variable products and compatibility issues with recent WooCommerce versions.
Abandoned plugins are a risk
What a good profit tracking solution actually looks like
After reviewing every option on the market, here's what a genuinely useful WooCommerce profit tracker needs:
- Per-product COGS: A simple cost field on every product and variation. Bulk import from CSV for stores with large catalogues.
- Automatic gateway fee calculation: Pull the actual fee from Stripe, PayPal, or whatever gateway processed the order. No manual entry.
- Actual shipping cost tracking: Either manual entry per order or integration with shipping plugins to capture the real carrier cost.
- Per-order profit display: Show cost, fees, shipping, and profit right on the order screen. Not in a separate report you have to go find.
- Dashboard that matters: Total profit, average profit per order, profit margin trend, and most/least profitable products. Updated in real time, not after a CSV export.
- Clean UI: Not 50 settings tabs. A focused tool that does one thing well and stays out of your way.
That's exactly what we're building at WPBundle. A profit tracking plugin for WooCommerce that gives you real profit visibility without the bloat. Simple COGS entry, automatic fee tracking, and a dashboard that shows you the numbers that actually matter.
How to start tracking profit today (without a plugin)
While you wait for a proper solution, here's a practical approach to start getting profit visibility now:
Step 1: Calculate your average gateway fee percentage
Log into your Stripe or PayPal dashboard. Divide total fees by total volume for the last 3 months. For most stores on Stripe, this will be around 3.1-3.3% (the base 2.9% + $0.30 fixed fee averaged across your order values). Use this as a flat percentage deduction.
Step 2: Build a simple COGS table
Export your products from WooCommerce. Add a “cost” column. Fill in supplier costs for your top 20 products by revenue (these likely represent 80% of your sales). Don't worry about completeness — start with your bestsellers.
Step 3: Estimate shipping cost per order
Pull your last carrier invoice. Divide total shipping spend by total orders shipped. This gives you an average shipping cost per order. It's not per-order accurate, but it's better than zero.
Step 4: Calculate real profit
For each order: Revenue minus COGS minus gateway fees minus shipping cost equals profit. Apply this formula to last month's orders and compare the result to your WooCommerce “Net Sales” figure. The gap will be eye-opening.
80/20
Top 20% of products drive 80% of revenue
3.1-3.3%
Typical effective Stripe fee rate
5-7%
Annual carrier rate increases
Why this matters more than you think
Profit tracking isn't just accounting hygiene. It changes how you make decisions. Without profit data, you optimise for revenue. You run promotions on products that might already be margin-negative. You offer free shipping on orders that cost more to ship than you make in profit. You scale ad spend based on revenue ROAS when your actual profit ROAS might be half that number.
With per-order profit visibility, you can identify which products to promote (high margin) and which to quietly deprioritise (low or negative margin). You can set minimum order values for free shipping based on actual shipping costs, not guesswork. You can calculate true customer acquisition cost and lifetime value.
The stores that survive and grow are the ones that know their numbers. Not revenue numbers — profit numbers. WooCommerce won't give them to you by default, but that doesn't mean you should operate without them.
Start with your top 10 products
The bottom line
WooCommerce is an excellent commerce engine, but it has a blind spot: it tracks sales, not profitability. Every store owner deserves to know their real profit per order, per product, per day — without maintaining a spreadsheet empire or wrestling with bloated plugins.
We're building that solution at WPBundle. A clean, focused profit tracker that gives WooCommerce stores the financial visibility they should have had from day one. If you want early access, join the waitlist — it's free during beta.
Ready to go headless?
Join the WPBundle waitlist and get beta access completely free.
Join the Waitlist