Profit Intelligence · Cluster 2 Pillar

How to Find Profit Leaks in Your B2B Business

A 6-step profit leak detection framework operators use to catch margin erosion before it compounds into a bad quarter.

By Siddharth Gangal · Founder, Fairview · Updated April 12, 2026 · 12 min read

Profit leak detection dashboard: margin by channel with paid search flagged as a -18% week-over-week leak

TL;DR

  • A profit leak is revenue that looks healthy on the top line but loses contribution margin after variable costs.
  • The 6 most common leaks: unprofitable ad channels, low-margin SKUs, CAC that never pays back, hidden fulfillment fees, discount drift, and over-serviced accounts.
  • Profit leak detection requires 4 connected data sources: revenue, cost, ad spend, and pipeline.
  • Run a weekly 6-step audit: normalize revenue, allocate variable costs, compute contribution margin by slice, rank leaks, isolate drivers, assign fixes.
  • Fairview recovers an average of 23% of leaking margin in the first 90 days by connecting the 4 sources and flagging drift automatically.

Profit leak detection is how B2B operators find the channels, SKUs, and campaigns that destroy contribution margin even while top-line revenue looks fine. It turns a vague "we’re less profitable this quarter" into a named, quantified leak you can fix this week.

Most operators can quote last month’s revenue from memory. Very few can name the three campaigns, two SKUs, or one customer segment that drained the most margin. That gap is the problem, and it compounds silently. A 3% margin slip on your largest ad channel in January becomes a 9% hit by March if nobody catches it.

This guide gives you the framework, the math, the data plumbing, and the cadence. If you want the shortcut: the operating view does this work automatically across your stack.

What is a profit leak?

Definition

Profit leak: a slice of revenue (a channel, campaign, SKU, or customer segment) that earns a contribution margin below your business-wide threshold, so every additional dollar of that revenue destroys operating profit rather than funding it.

The trap is that profit leaks hide inside aggregate numbers. Your overall 34% gross margin looks stable. Underneath it, paid search runs at 8% while organic runs at 52%. The aggregate tells you nothing actionable. Profit leak detection forces the slices to the surface.

Three forces make leaks worse in 2026 than in 2020: rising paid-media CPMs, shorter payment processor margins on smaller orders, and a steady mix shift toward discount-driven sales. None of these show up on a revenue chart. All of them erode contribution margin.

Key insight

Revenue tells you what came in. Contribution margin tells you what you kept. Every operating decision — pricing, budget, hiring, discounting — should be anchored to the second number.

Why revenue growth hides margin erosion

Growth masks leaks in three specific ways. First, new revenue drowns out the comparison signal: if you grew 22% year over year, a channel quietly falling from 18% to 9% margin will not move the aggregate. Second, finance reports on a lag. By the time the P&L closes, the leak has run for 30 to 45 days. Third, ad platforms report their own ROAS, which never subtracts COGS, shipping, fees, or returns.

The result: companies hit their revenue plan and miss their margin plan. That is the pattern. If you have ever watched a quarter where the top line came in on target and EBITDA came in 20% light, a profit leak was running the whole time.

The 6 most common profit leaks

Five dimensions of contribution margin: channel, campaign, SKU, customer segment, and geography
Every leak lives in one of these slices. Aggregate margin hides all five.

In operator audits across B2B SaaS and commerce-led businesses, six leak patterns account for roughly 85% of recovered margin. Run through all six every quarter.

1. Unprofitable ad channels (masked by platform ROAS)

Google Ads reports a 4.2x ROAS on your top campaign. The platform number uses gross revenue and ad spend only. Subtract COGS, shipping, payment processing at roughly 2.9% + $0.30 per transaction per Stripe’s public pricing, and returns, and that 4.2x routinely drops to 1.1x, below break-even once you load in overhead.

The fix: compute true ROAS weekly for every channel. Any channel whose contribution margin falls below your business-wide threshold gets reviewed or cut within the same week.

2. High-revenue, low-margin SKUs

Your bestseller is often your worst margin. Heavy items, products with frequent support tickets, and bundles that trigger free shipping all earn top-line dollars while burning contribution.

The fix: rank SKUs by contribution margin, not revenue. The full calculation lives in gross margin by product line. Reallocate ad spend toward the top decile.

3. CAC that never pays back

A $210 CAC on a SaaS account with a $49/month plan and 14-month median lifespan returns $686 in revenue, but maybe $380 in contribution margin after hosting, support, and payment fees. That is technically profitable. Shorten lifespan to 9 months and it flips to a loss.

The fix: calculate CAC payback period in margin terms, not revenue. If payback exceeds 18 months for SaaS or 6 months for non-subscription, the channel needs either a higher AOV or a lower CAC.

4. Hidden fulfillment and processing fees

Cross-border shipping surcharges, oversize fees, address corrections, chargebacks, foreign-exchange spreads, and tiered processor rates quietly add 1.5–4% to variable cost on orders that trigger them. They rarely appear on a channel-level margin view because they sit in a single "fulfillment" cost bucket.

The fix: attribute fulfillment and processing costs at the order level, then roll up by channel, country, and SKU. Drift shows up fast.

5. Discount and refund drift

Discount codes compound silently. A 10% code that 22% of customers use equals a 2.2% revenue haircut, but it lands entirely on contribution margin since variable costs do not shrink. Refund rates behave the same way.

The fix: track discount and refund share of GMV weekly. Set alert thresholds (discount share >15%, refund rate >6%) and trigger a review when breached.

6. Over-serviced unprofitable accounts

In B2B, the bottom quartile of accounts by ARR often consumes the top quartile of CS hours. You are subsidizing them with margin from your best customers.

The fix: run a quarterly customer-cost-to-serve review. Tier service by contribution margin, not account size. Migrate the bottom tier to self-serve tooling or reprice.

The four data sources you need

Profit leak detection is structurally simple: one margin model, four data feeds. If any feed is missing, you can still run the audit on the slice it covers, but you cannot compute true contribution margin end-to-end.

SourceTypical toolWhat you extract
RevenueStripe, Shopify, billingOrders, line items, customer IDs, refunds
CostQuickBooks, Xero, NetSuiteCOGS, operating expenses, vendor bills
Ad spendGoogle Ads, Meta AdsSpend by campaign, channel, geography
PipelineHubSpot, Salesforce, PipedriveDeals, stages, close dates, owner

Without all four, you are running partial audits. A lot of operators start with revenue + ad spend (they answer the true-ROAS question) and add cost and pipeline data in month two.

A 6-step profit leak detection framework

Weekly profit leak detection cadence: Monday audit workflow from data pull through assigned fixes
The Monday 45-minute cadence, end to end.

Run this every Monday. Allocate 45 minutes. Once the four sources are connected, the work is reading outputs, not building them.

  1. Normalize revenue. Align revenue from Stripe or Shopify to closed-won deals in CRM. Reconcile currency, refund timing, and revenue recognition policy.
  2. Allocate variable costs. Push COGS to SKU, ad spend to channel and campaign, processing fees to order, fulfillment to order. Every variable cost needs a destination.
  3. Compute contribution margin by slice. Channel, campaign, SKU, customer segment, geography. Four views, one number each.
  4. Rank leaks. Sort each slice by absolute margin impact, not percentage. A channel losing $18K at −4% margin is a bigger leak than a SKU losing $2K at −22%.
  5. Isolate the driver. For each top-ranked leak, ask: cost side or revenue side? Rising CPMs vs. falling conversion rate vs. mix shift vs. discount drift. The driver dictates the fix.
  6. Assign a fix with a number. "Cut spend on Campaign 14 by $6K next week, expected margin recovery $4.8K." Named owner, named dollar amount, one-week review.

Quote-ready

Profit leak detection only works when it ends with a named fix and a named dollar figure. Analysis without assignment is reporting, not operating.

How often to audit

CadenceWhat to checkWhy this cadence
WeeklyAd-channel margin, discount share, refund rateFast-moving, auction-driven; drift compounds within days
MonthlySKU margin, customer segment margin, fulfillment costsMix shifts and vendor pricing move on a monthly cycle
QuarterlyOverhead allocation, pricing, cost-to-serve by tierStructural; requires a real review, not an alert

How Fairview runs profit leak detection automatically

Fairview operating dashboard showing contribution margin by channel with a flagged next-best action
The operating view: margin by channel with drift flagged as a next-best action.

Fairview connects to HubSpot, Salesforce, Pipedrive, Stripe, QuickBooks, Xero, Shopify, Google Ads, and Meta Ads via native OAuth. First connection lives in under 10 minutes. Once connected, the operating view pulls revenue, cost, and ad spend into one model and calculates contribution margin by channel, campaign, and SKU on a daily cadence.

When a slice drifts (margin drops more than your configured threshold, or a channel falls below break-even) Fairview writes a named next-best action into the Monday report. Not a dashboard to interpret. A sentence: "Google Ads campaign ‘Enterprise-Search-B’ margin fell from 24% to 11% this week. Estimated monthly impact: −$14,200. Recommend 40% spend cut pending review."

Companies using Fairview recover an average of 23% of leaking margin in the first 90 days, mostly from leaks that had been running invisibly for months. See pricing and tiers for the plan that fits your stack.

23%

Avg margin recovered, first 90 days

<10 min

To first connected source

10

Native integrations live today

Key takeaways

  • Profit leak detection is the single highest-ROI weekly routine a B2B operator can run.
  • Aggregate margin hides the leak. Slice by channel, campaign, SKU, and segment.
  • Four connected data sources (revenue, cost, ad spend, pipeline) unlock the full view.
  • Cadence matters: weekly for ads and discounts, monthly for SKUs, quarterly for structural costs.
  • End every audit with a named fix, a named owner, and an estimated dollar impact.

See where your margin is leaking this week.

Connect HubSpot, Stripe, and Google Ads in under 10 minutes. Fairview returns your first ranked leak list on day one. 14-day trial, no card required.

Book a demoStart free trial

Frequently asked questions

Profit leak detection is the process of identifying revenue streams, channels, SKUs, or campaigns that look healthy on the top line but destroy contribution margin after variable costs. Operators run it by connecting revenue, cost, and ad-spend data into a single model, then ranking every slice of the business by contribution margin rather than revenue.

Take revenue from the channel, subtract cost of goods sold, subtract ad spend attributed to that channel, subtract payment processing and fulfillment costs, then divide by revenue. The result is the contribution margin percentage. Any channel below your business-wide margin threshold is a candidate profit leak worth reviewing that week.

Revenue growth without profit growth usually means variable costs are scaling faster than output. Common causes are rising CPMs on paid channels, discount drift, a mix shift toward low-margin SKUs, or customer acquisition costs that outpace first-order margin. Profit leak detection isolates which factor is driving the gap.

Weekly for ad-channel margin and discount drift, monthly for SKU and customer-segment margin, quarterly for overhead allocation and pricing. Small drifts compound fast. A 3% ad-channel margin slip caught in week one costs far less than the same slip caught in quarter three.

Yes. The detection work is structural, not technical. You need four connected data sources (CRM, finance, e-commerce, ads) and one margin model. Operating intelligence platforms like Fairview assemble the model automatically, so a single operator can run a weekly profit leak audit without SQL or a data engineer.

Gross margin subtracts cost of goods sold from revenue. Contribution margin goes further. It also subtracts variable selling costs like ad spend, shipping, payment processing, and fulfillment. For profit leak detection, contribution margin is the right number because it isolates the profit each incremental sale actually contributes.

Tags

profit leak detectionmargin intelligencecontribution margintrue ROASoperating intelligence

Keep reading

Related posts

Ready to see your data clearly?

Stop reporting on last week.
Start acting on this week.

10 minutes to connect. No SQL. No engineering team. Your first dashboard is built automatically.

No credit card required · Cancel anytime · Setup in under 10 minutes