Margin analytics vs revenue analytics: why optimising the top line quietly loses money
Most ecommerce analytics tools optimise revenue and ROAS because that is the easiest number to pull from ad platforms. Margin-true analytics optimises CM3, the contribution margin that actually reaches the P&L. Here is what breaks when you confuse the two, with the formulas and worked examples.
There are two philosophies of ecommerce analytics, and most operators have never been told which one their stack belongs to. The first optimises the top line: gross attributed revenue, platform-reported ROAS, conversions claimed inside Meta and Google. The second optimises the bottom line: contribution margin after COGS, returns, discounts, fulfilment, fees and marketing. These produce different rankings, different budget decisions, and different answers to the only question that matters, which is whether an order made money. Revenue and ROAS analytics dominate because the data is cheap to plumb. Every ad platform hands you attributed revenue through an API, the number inflates well in a dashboard, and it requires nothing about your cost structure. But ROAS is gross-revenue-over-spend, computed on a figure that ignores COGS, returns, discounts, the pick-pack-ship, and the payment and platform fees. On a demonstrative D2C cost structure (45% of the order paid for the product, 15% of revenue lost to returns, 10% given away in discounts, plus fulfilment and fees), the dashboard can read 4x while the P&L shows the order lost money. This is a neutral, category-level comparison: revenue/ROAS analytics versus margin-true analytics. It explains why the default exists, what it leaves out, what breaks when you act on it, and what changes when every view is built on contribution margin first. Blufire is the margin-true option, but the categories are real regardless of vendor, and the formulas below are the same ones a CFO would use.
Who each is for
Blufire
Blufire is an Australian analytics platform for ecommerce and service businesses ($5M-$1B turnover), positioned as analytics built on profit, not revenue. Every view is built on true contribution margin (revenue minus COGS, shipping, returns, fees), and the platform computes the number then hands the operator the highest-value move with the dollar impact attached. It is not an ad-ops platform: no managed ads, creative or landing pages.
Revenue / ROAS tools
Revenue/ROAS analytics is a category, not a single vendor: the mainstream default in which the core metric is gross attributed revenue and platform-reported ROAS, sourced cheaply from ad-platform conversion APIs and Shopify last-touch. It optimises the top line because that is the easiest number to plumb. The category includes most dashboard and BI tools that report what the platforms report without recomputing on contribution margin.
Side by side
| Dimension | Blufire | Revenue / ROAS tools |
|---|---|---|
| Core metric | Contribution margin (CM1 = Net Sales - COGS; CM2 = CM1 - fulfilment; CM3 = CM2 - marketing), the profit-true number that hits the P&L | Gross attributed revenue and ROAS (attributed revenue / ad spend), the top-line number platforms report by default |
| What gets optimised | CM3 per order, per SKU, per cohort, per channel; the move that adds the most contribution dollars | Revenue and ROAS targets; the campaign or SKU with the highest reported return, regardless of margin |
| Attribution stance | Platform-reported figures are framed as reported, not real; double-counting is surfaced and deduped to order-level truth, then contribution margin is attributed, never gross revenue from Shopify last-touch | Platform-reported conversions and last-touch credit treated as truth, summed across platforms, double-counting baked in |
| Data sources trusted | Order-level financial truth (net sales, COGS, returns, fees) plus blended business-level signals (MER, blended CAC), with incrementality and MMM as the causal layer | Ad-platform conversion APIs and Shopify last-touch acquisition channel, taken at face value |
| Revenue basis | Net revenue after returns, refunds and discounts, so break-even ROAS is computed on the real number | Gross revenue before returns and discounts, which inflates apparent ROAS because it is computed on the top-line figure rather than net revenue |
| Decision quality | Ranks the order, SKU and channel that fund the business; flags the highest-value move with the dollar impact attached | Can rank the highest-ROAS order that contributes zero margin above the lower-ROAS order that funds payroll |
| Failure mode | Requires real cost data (COGS, fees, fulfilment) to be wired in; richer to set up | Scales sub-break-even campaigns, crowds out profitable SKUs, and looks healthy in the dashboard while margin leaks into the P&L |
| Overhead captured | MER and blended CAC capture agency fees, content production and tool subscriptions that never appear in a channel dashboard | Per-channel only; blended overhead is invisible, so channels can beat break-even ROAS while the business sits below it |
Honest read
Where Blufire is stronger
- Every view is built on TRUE contribution margin (revenue minus COGS, shipping, returns, fees), so the headline number is already P&L-true rather than a gross dashboard figure
- Computes the number, then hands the operator the single highest-value move with the dollar impact attached, instead of presenting a metric and leaving interpretation to the user
- Golden rule: never presents channel, CAC or attribution sourced from Shopify last-touch as truth; platform-reported figures are framed as reported, and double-counting is surfaced rather than summed
- Margin-true by default: optimises CM3, the number that survives to the bottom line, where mainstream tools optimise the top line because it is the easiest to plumb
- CFO-grade lexicon applied to operator decisions: CM1/CM2/CM3, MER, break-even ROAS, blended and new-customer CAC, LTV:CAC, CAC payback, iROAS, MMM
- Quantifies dollar spend, dollar-credited contribution margin, CAC and LTV:CAC and lets the operator decide; no prescriptive reallocate or over-weight verdicts
- Computes net revenue after returns, refunds and discounts before deriving break-even ROAS, so the threshold reflects the real cost structure
Where Revenue / ROAS tools still fit
- Revenue and ROAS are cheap and fast to plumb: every ad platform exposes attributed revenue through an API with no cost data required
- ROAS is a useful in-platform optimisation signal that the ad auction itself responds to, so it has a legitimate role inside campaign management
- Platform-reported conversions arrive in near real time, faster than reconciled order-level financial truth
- Revenue/ROAS dashboards are familiar to most marketing teams and require no COGS, fee or fulfilment data to stand up
- For high-margin categories (70%+ gross margin), the gap between gross ROAS and contribution is smaller, so a revenue lens misleads less
- Platform incrementality and lift tools (Meta, Google) and open-source MMM (Robyn, Meridian) extend the revenue-side stack toward causal measurement
Which should you choose
Choose Blufire if
- You run a $5M-$1B ecommerce or service business where a few points of margin is a material P&L number
- Your gross margin is below ~55%, so a celebrated ROAS can sit below break-even and lose money
- You need the number a commercial team should actually be measured on (CM3), not a vanity dashboard figure
- You want double-counting across Meta and Google surfaced and deduped, not summed into overstated demand
- You want the highest-value move with a dollar impact attached, not a metric you have to interpret yourself
- You need a CFO-grade view that captures agency fees, content and tooling in blended MER and CAC, not just per-channel ROAS
Choose Revenue / ROAS tools if
- You only need an in-platform optimisation signal to feed the ad auction, and the P&L view lives elsewhere
- You sell very high-margin digital products where the gross-to-contribution gap is small
- You have no COGS, fee or fulfilment data wired in and cannot supply it
- You need managed ad operations, creative or landing pages (Blufire is explicitly not an ad-ops platform)
- You want real-time conversion pings for day-to-day campaign babysitting rather than reconciled financial truth