Book a Free Strategy Call

Free Guide

How to Run an Ecommerce Profitability Audit (the Exact 7-Step Process)

The full process behind our $5,000 Profit Clarity Audit, published in the open. Pull the real inputs, correct the attribution, score five metrics, find the constraint, price the leaks, write the plan.

Most 7- and 8-figure DTC brands run on numbers that can't answer the only question that matters: are we actually making money on this growth? Meta reports one ROAS. Google reports a different one. Shopify reports revenue before discounts, refunds, and fees have done their work. The P&L arrives from your accountant six weeks late, organized for tax filing. These views disagree with each other, and every one of them disagrees with your bank account.

The platforms can't fix this for you, because each platform only measures itself and grades its own homework. The dashboards most brands scale on are wrong in opposite directions, and the incentives behind that are a longer story - we wrote it up as the Agency Incentive Problem. A profitability audit is the repair: one process that pulls every number into a single defensible view, corrects the attribution, scores the business against hard thresholds, names the one constraint holding growth back, and prices what each leak costs per year.

We've run this process across 50+ brands and $50M+ in generated revenue. Here is the whole thing, step by step. Use it.

Step 1: Pull the real inputs

What to do. Gather twelve months of raw source data before you compute anything. You need: your P&L from the accounting system (QuickBooks, Xero, or your accountant's export), a full order export from the store backend with discounts, refunds, and shipping charged, billing records from every ad platform - the invoices, pulled from the billing screens - plus agency fees, creator payments, and marketing tools, your 3PL and fulfillment invoices, payment processor statements, and revenue reports from your email and SMS platform.

What to look for. Months where backend revenue and P&L revenue diverge by more than a rounding error - each divergence has a cause and the cause is usually a leak. Marketing cost hiding outside the ad accounts: agency retainers, creator fees, and tool subscriptions all belong in acquisition cost, and almost nobody includes them.

The common mistake. Exporting platform performance reports and calling that data. A platform report is the platform's opinion of its own contribution. Billing records and backend exports are records of money that actually moved. Build the audit on the second kind only.

Step 2: Rebuild gross-to-net revenue

What to do. Build a waterfall from gross sales down to contribution margin, line by line: gross sales, minus discounts, minus refunds and chargebacks, minus payment processing fees, minus landed COGS, minus fulfillment and shipping cost net of shipping you charged, equals contribution margin before marketing. Then subtract every marketing dollar from Step 1 to get contribution margin after marketing - your CM3 - for each of the twelve months.

What to look for. The discount line first: sitewide codes, stacked codes, and always-on "welcome" offers quietly take a large bite between gross and net. Then refund rate by product, because one SKU with a quality issue can drag a whole catalog. Then fulfillment creep - 3PL invoices tend to grow faster than order volume.

The common mistake. Using one blended COGS percentage across the catalog. Compute margin per SKU, or at minimum per hero product. A blended average hides the half of your catalog that loses money on every order, and paid traffic usually lands exactly there.

Step 3: Correct attribution outside the platforms

What to do. Two tests, both free. First, the branded-search stripping test: split your Google Ads results into branded and non-branded search terms. Branded clicks are people who already typed your name - demand that was created somewhere else and captured at the last click. Score branded campaigns separately and watch how much of "Google's" revenue survives. Second, the platform-vs-backend comparison: for each month, line up the total conversion revenue all platforms claim against the new-customer revenue your backend actually recorded. The ratio between those two numbers is your correction factor per channel.

What to look for. In the accounts we've audited, Google Ads typically overstates its contribution by 80-90%, and Meta typically understates by 20-80%. That means the platform you're praising in Monday reporting is usually the one taking credit, and the platform you keep cutting is usually the one creating demand. Every budget reallocation made on uncorrected numbers moves money in the wrong direction.

The common mistake. Buying an attribution tool and treating its model as the truth. A tool is a third opinion with its own assumptions. Your backend is the ledger. Correct the platforms against the ledger, then use tools as a tiebreaker.

Step 4: Compute the five scorecard metrics

What to do. With clean inputs and corrected attribution, compute the five numbers we run before every budget decision on managed accounts:

  • CM3 - contribution margin after all variable costs and all marketing, monthly.
  • nCAC vs first-order gross profit - fully loaded new-customer acquisition cost against the gross profit of the first order it buys.
  • 90-day LTGP:CAC - gross profit a new-customer cohort generates in 90 days, divided by what it cost to acquire.
  • Payback period - how many weeks until a cohort's gross profit covers its acquisition cost.
  • New-vs-returning revenue split - how much of this month's revenue came from customers you paid for this month.

The exact scale/hold/fix/kill thresholds for all five are in our free E-Commerce Scaling Scorecard.

What to look for. The trend, more than the level. CM3 that erodes as spend rises means the scale is fake regardless of what ROAS says. Payback stretching month over month means you're financing growth out of cash you haven't earned yet.

The common mistake. Computing the five metrics once, on a good month. Compute them for all twelve trailing months. One month is a mood; twelve months is a diagnosis.

Get the thresholds before you go further. The free E-Commerce Scaling Scorecard has the exact scale/hold/fix/kill lines for CM3, nCAC, 90-day LTGP:CAC, payback, and revenue split - the same decision tool we run on managed accounts.

Get the Free Scorecard →

Step 5: Find the constraint on the 5-Level Ladder

Every stuck brand has one binding constraint, and it sits on one of five levels: Product, Offer, Ads, CRO, or Retention. Fixing a level above or below the real one burns months and budget. The scorecard metrics from Step 4 point at the level; these are the tell-tale signs on each rung.

Product. Repeat rates flat in a category where customers should reorder, refund rates above category norms, reviews that mention the same flaw again and again, and CAC rising across every channel at once because word of mouth never kicks in. When people who buy once stay away, no ad account fixes it - the audit has to say so.

Offer. The product itself earns strong margins and repeat behavior, but cold traffic won't bite: AOV too low to fund acquisition, conversion healthy only during promotions, and a revenue chart that spikes on discount weekends and flatlines between them. Discount dependence is the loudest tell that the offer, and the price architecture around it, needs rebuilding.

Ads. Organic and repeat business carry healthy contribution margin while paid nCAC exceeds first-order gross profit even after attribution correction. Other signs: one winning angle carrying the whole account, creative volume too low to replace it when it fatigues, and corrected channel math showing one platform's wins funding another platform's waste.

CRO. Traffic is affordable and clicks are strong, but conversion rate sits well under category norms - especially on mobile. Session recordings show drop-offs concentrated on the PDP or in checkout. When the click is cheap and the sale is rare, the constraint lives on the site, and more spend just buys more of the same leak.

Retention. Acquisition math clears the thresholds, but 60- and 90-day repeat revenue runs under what the category supports, email and SMS produce a token share of revenue, and the new-vs-returning split stays pinned toward new. This brand keeps refilling a bucket it never patched, and the fix is cheaper than any of the four levels above it.

The common mistake. Declaring ads the constraint by default because ads are the most visible cost, or attacking all five levels at once. One constraint, fixed properly, moves the whole system. Five half-fixes move nothing.

Step 6: Price the leaks

What to do. Turn every finding from Steps 2-5 into an annual dollar figure. Misallocated spend: the monthly amount flowing to overstated channels, times twelve. Discount stacking: average stacked-discount depth times the orders it touched. Refund drag: the gap between your refund rate and category norm, times orders, times AOV. Retention gap: the difference between your repeat rate and what the category supports, times cohort size, times gross margin per order. Rank the list by dollars.

What to look for. Concentration. In the audits we run, two or three line items usually carry most of the total, and they're rarely the items the team argues about in Slack.

The common mistake. Leaving findings qualitative. "Improve retention" gets a nod in the next meeting and dies there. The same finding with an annual dollar figure attached gets an owner and a budget. The dollar figure is what turns an audit into a decision document.

Step 7: Write the 90-day workplan

What to do. Sequence the fixes by leverage. The binding constraint from Step 5 goes first, funded by the biggest leaks from Step 6. Break the quarter into weekly moves, give every move one owner and one metric it must shift, and set re-measurement checkpoints at day 30, 60, and 90 where you re-run the five scorecard metrics against the baseline you just built.

What to look for. Restraint. The plan should hold the constraint-level fix plus the top two or three priced leaks and nothing else. A 40-item plan is a wish list wearing a spreadsheet.

The common mistake. Jumping to favorite tactics that skip the constraint - new creative when the diagnosis says retention, a landing page rebuild when the diagnosis says offer. The audit earns its keep in exactly this moment: it tells you which work to refuse.

How long this takes

Done properly, this is 20-40 hours of senior-level analysis - someone who can read a P&L and an ad account with equal comfort - spread across two to three weeks of data pulls, follow-up questions, and reconciliation. The first pass runs longest because access and exports need untangling. There is no honest shortcut: an afternoon skim of Ads Manager produces an opinion, and you already have plenty of those. The payoff is that every scaling decision afterward runs on corrected numbers, which makes these the highest-value hours you can spend on the business this quarter.

Or have it done for you

This exact process is our Profit Clarity Audit: the same seven steps, run by us on your data, delivered in 14 days as a board-level document plus a live walkthrough and the 90-day workplan. It's $5,000 at the founding-cohort rate - the price rises to $7,500-$10,000 as cohorts fill - and it comes with a simple Safety Net: go through the full audit and walkthrough, and if you don't feel it was clearly worth what you paid, we refund 100%. We also commit to quantifying at least $75,000 in annual profit opportunity, or 10x the fee, or your $5,000 converts into a credit toward future work.

The results this process produces are public: NookTales went from $30K to $500K/mo and doubled profit in the first 30 days of working with us, and AlgoRX grew from $70K to ~$1M/mo in 14 months at ~6X blended ROAS and ~30% margins. The rest are on our results page. Or start with a free 30-minute Profit Clarity Strategy Call and we'll tell you which step your brand is failing right now.

Run the numbers yourself first. Download the free E-Commerce Scaling Scorecard and score your brand on all five metrics this week - CM3, nCAC, 90-day LTGP:CAC, payback, and revenue split, with the exact thresholds.

Get the Free Scorecard →

Frequently asked questions

Run the full 7-step audit once a year, and re-run the gross-to-net rebuild every quarter. Track the five scorecard metrics monthly - that cadence catches erosion while it's still cheap to fix. Run an unscheduled audit whenever spend rises while cash stays flat, before any major budget increase, and before Q4 planning.

An ad account audit inspects campaign structure, creative, and settings inside one platform, and grades you on that platform's own metrics. A profitability audit reconciles ad spend against your P&L and store backend, corrects attribution across all channels, and covers the whole business: product margins, offer economics, conversion, and retention. An ad account audit can score your ads highly while the business loses money on every new customer. A profitability audit exists to catch exactly that.

Yes. Every step is in this guide and all of the data belongs to you. Budget 20-40 hours of senior-level analysis over two to three weeks, plus the discipline to accept what the corrected numbers say about your own past decisions. The biggest risk of a self-audit is grading your own homework - the leaks you find will often trace back to calls you made. If you want it done in 14 days with an outside set of eyes, that's the Profit Clarity Audit.

Twelve months of P&L from your accounting system, a full order export from your store backend including discounts and refunds, billing records from every ad platform, 3PL and fulfillment invoices, payment processor statements, and revenue reports from your email and SMS platform. If gathering all of this takes more than a week, that delay is itself a finding: your business runs without a single source of financial truth.

Free audits from agencies are pitch documents built to sell you a retainer - that dynamic is the heart of the Agency Incentive Problem. Senior work that reconciles your P&L, backend, and ad spend costs real money. Our Profit Clarity Audit is $5,000 for the full 7-step process delivered in 14 days, at the founding-cohort rate. The price rises to $7,500-$10,000 as cohorts fill.

Want us to run all seven steps on your brand?

Book a free 30-minute Profit Clarity Strategy Call. We'll look at your numbers, tell you which step your brand is failing, and whether the full audit is worth it for you - straight answer either way.

For DTC brands doing $1M+ per year and spending $30K+/month on ads. Earlier than that? Start with the free Scaling Scorecard.