RROAS BREAK

Unit economics

Ecommerce Variable-cost Checklist

Audit every pre-ad variable cost into one and only one Break-even ROAS input before setting an acquisition ceiling.

60-second answer

One cost, one input, one period.

Start with net product revenue before the separately modeled return loss. Then map each cost that changes with an order into exactly one calculator input. Use the same period, currency, order population, and revenue boundary throughout the audit.

Contribution before ads = aov - cogs - ship - other - (aov x fees %) - (aov x returns %)

Break-even ROAS = aov / contribution before ads

Boundary: Fixed overhead, tax treatment, cash timing, and accounting classification require separate judgment. This checklist is a planning control, not tax or accounting advice.

Audit template

Record evidence before entering a number.

Create one row per source and cost behavior. Every row needs a source, period, currency, owner, amount or rate, destination tool input, and review status. Keep the raw amount traceable even when several rows roll into other.

GroupSource / period / currencyOwner / amountTool input / status
Revenue deductionsOrder report / month / USDAnalytics / discount per orderaov / needs review
Product and inboundInventory ledger / month / USDOperations / landed unit costcogs / needs review
FulfillmentCarrier and 3PL invoice / month / USDOperations / cost per ordership / needs review
Payment and platformSettlement or contract / effective range / USDFinance / scope, base, fixed component, tiers, and refund treatmentfees + other / needs review
Refunds and returnsMature refund cohort / month / USDFinance / loss rate and handlingreturns + other / needs review
Service and otherSupport or vendor log / month / USDService owner / cost per orderother / needs review
  1. Duplicate check: Trace every component to one destination and search totals for a second copy.
  2. Fixed-variable check: Include costs caused by the modeled order; keep rent, salaries, and baseline subscriptions outside unless deliberately allocated.
  3. Missing-zero check: A zero needs an owner and evidence. Blank, unavailable, and genuinely zero are different statuses.
  4. Fee-schedule check: Record provider, source, scope, fee base, fixed component, tier thresholds, refund treatment, effective dates, and review date.
  5. Effective-rate check: Reconcile actual fees and model revenue for the same period, currency, and order population before entering a blended percentage.

Source examples

Platform fields are evidence, not the completed model.

GA4 ecommerce events can carry transaction value, currency, discounts, items, and refunds; its reporting schema exposes revenue and refund metrics. Reconcile those fields to the commerce ledger before treating them as net revenue.

Shopify GraphQL's InventoryItem.unitCost can support the product-cost row, but it does not prove landed COGS or include fulfillment, payment, return, and service costs. Shopify Refund records can expose refund line items, transactions, order adjustments, and refunded totals; use a mature, same-basis cohort.

Stripe balance transactions expose fields such as amount, fee, net, currency, and reporting_category. Reconcile the settlement population to orders and separate percentage fees from fixed per-transaction amounts before mapping them.

Worked audit

The complete view moves break-even from 1.67x to 2.80x.

This fictional USD order starts with $135 gross item revenue and a $15 discount, so the chosen aov is $120 before the separately modeled return loss. Product and inbound cost is $48, fulfillment is $9, other variable cost is $7, payment fees are 3% or $3.60, and expected refunded revenue is 8% or $9.60.

StepCalculationResult
Net product revenue before return loss$135 - $15$120.00
Total pre-ad variable cost$48 + $9 + $7 + $3.60 + $9.60$77.20
Contribution before ads$120 - $77.20$42.80
Contribution margin$42.80 / $12035.7%
Break-even ROAS$120 / $42.802.80x

A COGS-only view leaves $72, reports a 60% margin, and suggests 1.67x break-even ROAS. It overstates the acquisition budget by ignoring $29.20 of other pre-ad variable cost.

At 3.00x ROAS, ad spend is $40 per order. Contribution after ads is $42.80 - $40 = +$2.80 per order. Each $1,000 of spend buys 25 same-basis orders and produces +$70 contribution profit under these inputs.

Open the audited $120 order

Fee structure sensitivity

Compare fixed, percentage, and tiered fees on one cost boundary.

Keep the same fictional $120 order, $48 product cost, $9 fulfillment, $7 other non-fee variable cost, and 8% return-loss allowance. The fee-free contribution and acquisition ceiling are $46.40. The rows below change only the payment or marketplace fee structure; they are modeling inputs, not current provider rates or industry benchmarks.

Illustrative fee structureFee calculation and tool mappingContribution / allowable CPABreak-even ROAS
Per-order fixed component$2.00; add to other ($7 + $2)$44.402.70x
Percentage fee$120 x 3% = $3.60; fees=3$42.802.80x
Tiered feeFirst $60 x 2% + next $60 x 5% = $4.20; effective fees=3.5$42.202.84x

Each fee dollar reduces contribution and break-even allowable CPA by one dollar: $2.00, $3.60, and $4.20 below the $46.40 fee-free ceiling. A per-order fixed component is variable in this model because the order triggers it; monthly subscriptions and baseline overhead stay outside this table. If captures, retries, or refunds create multiple fixed charges, divide the matched period's actual fixed-component total by matched orders instead of assuming one charge per order.

Tier rule: Do not multiply the highest marginal tier by all revenue. When tiers depend on monthly volume, category, region, or payment route, calculate actual total fees divided by same-basis model revenue for the matched settlement period and record the weighted effective rate.

Maintenance rule: Store the contract or settlement source, provider or marketplace, region/category/route scope, fee base, fixed component, tier thresholds, refund and chargeback treatment, effective start/end, and last review date. Recheck after any contract, route, mix, or refund-policy change.

Six-group map

Give each cost one destination.

Audit groupWhat belongs hereCalculator input
1. Revenue deductionsDiscounts, promotions, cancellations, and other deductions used to reach the declared revenue basis.aov
2. Product and inboundUnit purchase or manufacturing cost, inbound freight, duty, and saleable-unit preparation.cogs
3. FulfillmentPer-order pick, pack, postage, packaging, and merchant-funded delivery.ship
4. Payment and platformPercentage processing or marketplace charges go to fees; per-order or mixed charges go to other.fees + other
5. Refunds and returnsExpected refunded revenue goes to returns; reverse logistics and unrecovered product loss go to other.returns + other
6. Service and otherVariable support, fraud, warranty, handling, or per-order software costs not already assigned.other

Refund rule: If aov already includes mature refunds, set returns to zero for that loss. If returns carries expected refunded revenue, do not deduct it again from aov or other.

Page boundary: This checklist audits input coverage. The contribution margin guide explains why the margin sets an acquisition ceiling; the profit formulas guide connects approved inputs to CPA, POAS, MER, and payback.

Operating review

Reconcile the model whenever the cost path changes.

  1. Choose a period old enough for refunds and return handling to mature.
  2. Normalize currencies before calculating per-order amounts or rates.
  3. Reconcile order counts across analytics, commerce, fulfillment, and settlement sources.
  4. Assign an owner to each row and record whether it is verified, estimated, missing, or genuinely zero.
  5. Re-run the audit after price, product mix, supplier, carrier, payment route, marketplace, or return policy changes.

Decision limit: A complete historical cost model does not prove future ROAS, demand, attribution incrementality, inventory availability, or cash-flow capacity. It only makes the acquisition ceiling internally consistent with the declared inputs.

Definitions and sources

Use official fields, then document the modeling choice.

The sources below describe platform fields and records. The six-group mapping, one-destination rule, contribution boundary, and fictional calculations are ROAS Break modeling choices rather than GA4, Shopify, or Stripe accounting guidance.

Checklist copied