Why profitability matters more than revenue
Revenue is the most tracked metric in e-commerce, but also the most misleading. A store generating 500,000 EUR of monthly revenue can be technically bankrupt if its margins are negative. Conversely, a small store at 80,000 EUR can generate 15,000 EUR of net profit and calmly finance its growth.
Let's take a concrete example. Two stores show 1 million euros of annual revenue. The first has 30% COGS, 10% logistics, 35% advertising and 20% operational costs. Net profit: 5%, or 50,000 EUR. The second has 25% COGS, 8% logistics, 20% ads and 15% operations. Net profit: 32%, or 320,000 EUR. Same revenue, 6 times more profit.
Profitability is the only metric that determines the long-term viability of your business. Without profit, you cannot reinvest, hire, or withstand the slightest cost variation. Shifting from a revenue mindset to a profit mindset radically changes your strategic decisions.
The 5 cost categories you must master
To calculate your net profit, you need to track 5 distinct cost categories. Each category has its specifics and optimization levers.
1. COGS (Cost of Goods Sold): unit purchase or manufacturing price of each product sold. Usually represents 30 to 60% of revenue. It's the most impactful and often the worst tracked. Your suppliers raise prices? Your margin melts without you seeing it.
2. Shipping costs: actual shipping costs (not those charged to the customer). Variable by weight, destination and carrier. A bulky product shipped internationally can cost more than its gross margin.
3. Transaction fees: Stripe commissions (1.4% + 0.25 EUR), PayPal (2.9% + 0.35 EUR), or platform commissions (Shopify Payments 1.6 to 2% depending on plan). Cumulatively, these fees represent 2 to 5% of your revenue.
4. Advertising costs: Meta Ads, Google Ads, TikTok Ads, influence, affiliation. Often 15 to 40% of revenue for a growing store.
5. Operational costs: SaaS subscriptions (Shopify, apps, email), packaging, labor, returns, customer service. Usually 10 to 20% of revenue.
Calculate your gross margin, contribution margin and net margin
Three margin levels must be tracked continuously, as they tell different stories about your financial health.
Gross margin = (Revenue - COGS) / Revenue. It's the margin available after paying for the product. A minimum target of 50% is necessary to absorb other costs. Example: you sell a product at 100 EUR that costs you 35 EUR. Gross margin = 65%. That's healthy.
Contribution margin = (Revenue - COGS - shipping - transaction) / Revenue. It represents what's left to cover advertising and fixed costs. In our previous example, with 8 EUR of shipping and 3 EUR of transaction, contribution margin drops to 54%.
Net margin = Net profit / Revenue. It's the final margin after ALL costs. A realistic target is between 10% and 20%. Below 10%, your business is fragile. Above 20%, you have flexibility to invest in growth.
All three margins should be tracked simultaneously because each reveals a different problem: low gross margin indicates pricing or supplier issues, low contribution margin signals uncontrolled variable costs, and low net margin points to disproportionate fixed or advertising costs.
Per-product profit tracking: identify your real gems
Global analysis hides explosive truths. A product generating 25% of your revenue can destroy 40% of your profit. Without per-product profit tracking, you'll never see it.
For each SKU, calculate: average selling price (after discounts), unit COGS, allocated shipping fees, transaction fees, and share of advertising spend per product. The result is the unit net profit and net margin per product.
Real example: a cosmetics store had a bestseller at 15 EUR. After analysis, the product cost 7 EUR in COGS, 4 EUR in shipping (bulky product), 0.50 EUR in transaction, and captured 4 EUR of ad budget to sell. Net margin: -0.50 EUR per unit. The bestseller was losing money on every sale.
The method: classify your products into four categories. Stars (high sales + high margin) receive maximum ad budget. Questions (low sales + high margin) deserve to be tested in acquisition. Cash cows (high sales + average margin) are the foundation. Dead weight (low sales + low margin) should be removed or repriced. This simple sorting often frees up 10 to 20% additional margin.
The impact of transaction fees on your profitability
Transaction fees seem trivial (2 to 4% per order) but cumulatively over the year, they can represent 20,000 to 80,000 EUR for an e-commerce at 2 million in revenue. And they are often ignored in margin calculations.
Analyze the real cost of each payment method. Stripe: 1.4% + 0.25 EUR for European cards, 2.9% + 0.25 EUR for international. PayPal: 2.9% + 0.35 EUR in France, plus a high chargeback risk. Apple Pay and Google Pay: same fees as Stripe as they go through the processor. Klarna and other BNPL: 3 to 6% depending on the plan.
The impact depends on the average order value. On a 30 EUR cart, Stripe fees represent 2.2%. On a 200 EUR cart, only 1.5%. Small carts are therefore more sensitive to transaction fees. For a store with many small orders, negotiating fees with your processor or encouraging bank transfers can improve net margin by 0.5 to 1 point.
Also monitor chargebacks: each dispute costs 15 to 25 EUR in fixed fees plus the refund. A chargeback rate above 1% can lead to processor penalties.
POAS vs ROAS: why the first metric is more relevant
ROAS (Return on Ad Spend) is the historical metric of digital advertising: ROAS = Ad Revenue / Ad Spend. A ROAS of 3x means every euro spent generates 3 EUR of revenue. The problem: ROAS completely ignores your margins.
Let's take two campaigns. Campaign A: 10,000 EUR spend, 40,000 EUR revenue, ROAS 4x. Campaign B: 10,000 EUR spend, 25,000 EUR revenue, ROAS 2.5x. Which is better? On ROAS, A wins hands down. But if campaign A pushes a product with 20% gross margin and B pushes a product with 60% gross margin, real profits are respectively 8,000 EUR for A and 15,000 EUR for B.
POAS (Profit on Ad Spend) corrects this bias: POAS = Profit generated / Ad Spend. A POAS above 1 means your advertising is profitable at the gross margin level. A POAS above 1.5 after all costs means you're generating real net profit.
Switching from ROAS to POAS completely changes your bidding strategy. You stop scaling campaigns pushing unprofitable products. You focus the budget on high-margin products. Audiences converting on profitable products become your priority targets. This mental shift alone can improve your net profit by 30 to 50% in 3 months.
Optimize profitability by acquisition channel
Each acquisition channel has a different cost structure and traffic quality. Analyzing profitability by channel allows intelligent allocation of your marketing budget.
Meta Ads (Facebook, Instagram): primarily a discovery channel. Good for products with a visual component (fashion, decor, beauty). CPM rising since iOS 14.5, less reliable attribution. Profitability generally good on prospecting with controlled CAC and excellent on retargeting.
Google Ads Search: intention channel. The visitor is actively searching. CAC generally higher but conversion rate 3 to 5 times higher than Meta. Ideal for specifically searched products (brands, references).
Google Shopping: very profitable channel for mass-market products. Lower CPC than Search, high conversion rate. Requires a well-optimized product feed.
TikTok Ads: emerging discovery channel. Very low CPM but variable traffic quality. Profitable for viral products at accessible prices (under 50 EUR).
SEO and content: almost zero CAC long-term but high initial investment cost. Excellent profitability after 6-12 months.
Email and SMS: most profitable retention channels. POAS of 15 to 40x is typical. To maximize absolutely.
The rule: analyze POAS by channel every month and redistribute 10 to 20% of the budget from the least profitable channels to the most profitable ones.
Classic traps that kill your profitability
Here are the most frequent errors that silently destroy e-commerce profitability, regardless of size.
Trap 1: forgetting return costs. A 15% return rate in fashion or cosmetics means 15% of orders not monetized, plus round-trip logistics costs. To integrate in margin calculation.
Trap 2: automatic promo codes and retargeting with discounts. Offering 10% off to 100% of cart abandoners costs massively. A large portion of these customers would have bought without a discount.
Trap 3: unconditional free shipping. Offering free shipping without minimum threshold turns your small orders into losses. Setting a threshold at 1.5x the average order value encourages over-purchase and preserves margin.
Trap 4: dormant inventory. Stock that doesn't move is immobilized cash and potential losses. Monitor stock rotation rate and quickly discount unsold items rather than letting stock age.
Trap 5: accumulated SaaS subscriptions. Shopify at 299 EUR, 15 apps at 20 EUR each, Klaviyo at 150 EUR, customer service at 100 EUR, analytics at 80 EUR... 1000 EUR/month of fixed costs added without being questioned. Audit quarterly.
Trap 6: ads that don't consider LTV. Spending 40 EUR CAC for a first order with 35 EUR margin can be profitable if 12-month LTV is 120 EUR. Without LTV tracking, you cut profitable campaigns.
Build an actionable profitability dashboard
An effective profitability dashboard should answer three questions in less than 30 seconds: am I profitable overall? where are my losses? what priority action to take?
Essential KPIs to display at the top of the dashboard: - Net profit of the day, week, month, with comparison to previous period - Net margin % and its trend over 30 days - Global POAS across all channels - Cash burn or cash generation (net profit - capex)
The second level should allow diagnosis: - Profit by acquisition channel (Meta, Google, SEO, Email) - Top 10 and bottom 10 products by net profit - Evolution of cost categories (COGS, ads, transaction, operational) - Margin by customer segment (new vs recurring)
The third level enables action: - Automatic alerts when a product margin drops below a threshold - Alerts when an ad campaign drops below its break-even POAS - Budget reallocation suggestions
Avoid vanity dashboards: session count, bounce rate, or Instagram ranking don't make money. Focus on what guides financial decisions. A good profitability dashboard should be consulted daily by the CEO and trigger at least one actionable action per week.
Automate tracking with Fullmetrix
Manual profitability tracking works up to a point. Beyond 100 orders per day, Excel becomes unmanageable: outdated data, entry errors, impossibility of cross-referencing sources (CMS + ad networks + payment processors).
Fullmetrix automates the entire profit tracking process. 2-minute connection to your CMS (PrestaShop, WooCommerce, Shopify) to retrieve orders, products, costs and categories. Native integration with Meta Ads, Google Ads and TikTok Ads to import ad spend and attribute it to orders.
You automatically get: net profit per order (including COGS, shipping, transaction, ads, ops), margin per product with threshold alerts, POAS per campaign and audience, customer cohorts with projected LTV, consolidated multi-store dashboards. No Excel formulas to maintain.
The decisive advantage: real-time updates. When you launch an ad campaign in the morning, you see its impact on your net profit by 2pm. When a supplier raises prices, your product margin is automatically recalculated. You make decisions based on fresh data, not last month's reports.
The added value is measured quickly: our users report an average 15 to 25% net profit improvement within 3 months of switching to Fullmetrix, thanks to insights sleeping in their unexploited data.