Every example and amount on this page is illustrative. It shows the method and is not a benchmark, a quote or advice.

Does Anyone Actually Track Real Profit in Ecommerce?

Yes—but many merchants do not keep one consistent, transaction-level profit number in view. Revenue is immediate and easy to reconcile. Gross margin is useful for judging product economics. ROAS helps a marketer compare campaigns. Cash shows whether bills can be paid. Each measure answers a different question, but none alone tells you what a completed order actually left behind.

The problem is that these figures can describe different populations and different stages of the sale. Revenue may include orders that are later cancelled or returned. Gross margin may stop at product cost, before advertising, shipping, payment fees or other selling costs. ROAS compares attributed revenue with ad spend, not profit. Cash can rise because a customer paid today while inventory, refunds or supplier bills have not yet left the account. The Shopify dashboard has similar limits when the decision depends on profitability rather than sales activity.

Here, “real profit” means the profit actually produced by realized orders: revenue from orders that were delivered and not cancelled or returned, less the product cost and the other costs included in the merchant’s profit model. It is a commercial decision number, not simply the balance in a bank account. At order level, it shows whether a sale created value after the costs required to make and acquire it. At product, collection and customer level, it shows where that value is being created or lost.

That distinction matters because a sale can have positive gross margin and still lose money after acquisition or fulfilment costs. A high-return product can also look healthy until refund value is set against realized revenue; return rate is a profit variable, not just an operational KPI. Similarly, CAC and profit per order should be read together. A useful system therefore keeps realized revenue, product cost, contribution after advertising and net profit connected, rather than asking revenue, ROAS or cash to stand in for all of them.

Why Revenue and ROAS Can Give the Wrong Signal

Revenue measures what customers paid, not what the store kept. Top-line growth can therefore hide weaker economics when the additional orders carry high product costs, shipping, payment fees, discounts, refunds, cancellations or returns. A dashboard can show sales rising while the amount left after fulfilling those orders falls. The Shopify dashboard’s limitations become material when decisions depend on that retained amount rather than the checkout total.

ROAS has a similar blind spot. A 4x attributed ROAS means an ad platform associates $4 of revenue with every $1 of reported ad spend. It does not mean the order produced $3 of profit. Product cost, pick-and-pack, delivery, payment processing, discounts and return handling still come out of that $4. Some orders may also have happened without the ad, so attributed ROAS is not the same measure as total marketing efficiency. This is why CAC versus profit per order matters: the affordable acquisition cost depends on what an order contributes after its other variable costs.

The useful question is not whether revenue or ROAS is improving in isolation. It is whether the incremental orders are profitable after the costs required to deliver them. Returns are especially easy to miss: a reported sale can later become a refund, while outbound shipping and handling costs may already have been incurred. ORVX calculates realized revenue from delivered orders, reports return rate and refund value against revenue, and shows contribution after advertising by product and collection. It also keeps attributed ROAS separate from MER, so ad-platform attribution is not mistaken for the store’s overall economics. For order-level shipping effects, see shipping profitability.

Why the two signals can mislead
SignalWhat it tells youWhat it leaves out
RevenueValue recorded from salesProduct, fulfilment, payment, return and operating costs
Attributed ROASRevenue associated with reported ad spendFull order economics and whether the ad created incremental demand
Profit contributionAmount remaining after defined variable costs and advertisingFixed costs not included in the chosen calculation

The Formula, Stated Plainly

Use one contribution-profit formula consistently at order level: start with sales successfully collected for delivered orders, then subtract every cost required to acquire and complete those orders. The result is the money left from trading activity before broader corporate overhead.

The formula is: collected sales − discounts − refunds − product cost − payment-processing fees − shipping cost − fulfillment cost − marketplace fees − advertising spend = contribution profit.

Each input needs a defined basis. Product cost should come from the cost assigned to the items sold, not the product’s retail price. Shipping and fulfillment should include the costs of getting the order to the customer, while marketplace fees and payment fees should come from the actual order or settlement data. Advertising should be allocated consistently when calculating product, collection or order profitability. If your sales source already reports discounts or refunds net of sales, do not subtract them twice. Returns deserve particular care because a returned order may reverse revenue while still leaving outbound shipping, processing or fulfillment costs; see how returns reach profit.

This is not the same as statutory net income. Contribution profit answers, “What did these orders contribute after their direct and acquisition costs?” Statutory net income also subtracts expenses such as payroll, rent, software, depreciation, interest and income tax, according to the accounting rules and reporting period being used. A store can therefore have positive contribution profit and negative net income, or positive net income for a period while individual orders are unprofitable.

The useful discipline is to label the measure precisely: contribution profit, contribution margin, and statutory net income are different numbers. ORVX calculates gross profit, net profit and their margins from the store’s cost model, while also reporting contribution after advertising at product and collection level.

The contribution-profit calculation
LineWhat it represents
Collected salesCaptured sales for delivered orders
LessDiscounts, refunds, product cost, payment fees, shipping, fulfillment, marketplace fees and advertising
EqualsContribution profit available before broader business overhead

A Worked Example With Real Numbers

Take one delivered Shopify order in the store’s trading currency. The customer buys a product for $140, receives a $20 discount, and pays $10 for shipping. Tax of $12 is collected and remitted, so it is not treated as store revenue.

The order’s realized revenue is therefore $140 − $20 + $10 = $130. Now follow the money instead of stopping at the sales total:

For illustration only, the $79.30 cost total could comprise $50.00 for the product, $12.00 for fulfilment, $4.30 in payment fees, $10.00 in advertising, and $3.00 of allocated operating cost. Each line answers a different question: product cost shows the item’s gross economics, fulfilment shows the cost of getting it out, payment fees reduce the cash retained from the transaction, and advertising shows what was spent to acquire it. Shipping collected is revenue here, but the actual fulfilment or postage charge still belongs in costs; that distinction is central to shipping profitability.

The order produces $130 − $79.30 = $50.70 in contribution profit, a 39.0% margin. That is the amount left after product, fulfilment, payment, advertising and allocated operating costs in this example. If the merchant instead paid $55 to acquire the customer, the order would produce a negative $4.30, even though the sales total and product price had not changed. The $50.70 is therefore the practical pre-break-even CAC ceiling for this order before any further costs not included in the model; the distinction between CAC and profit per order is explained here. If the order is later returned, its realized revenue and refund economics need to be revised rather than left in the profitable cohort. That revision may remove the collected sale, add refund or return-handling costs, and leave some fulfilment or acquisition spend unrecovered. A dashboard that keeps the original order in revenue can consequently overstate both profit and margin; ORVX’s Shopify profit analytics keeps the calculation tied to delivered orders and the merchant’s own trading currency.

The Mistakes That Make Real Profit Look Wrong

Timing mismatches can make a profitable period look weak, or a weak period look healthy. If $10,000 of orders are delivered in March but the related advertising spend is posted in April, March profit is overstated and April profit is understated. The same issue appears when a bulk inventory purchase is treated as March cost even though only part of that stock sold. Match revenue, advertising and the cost of units sold to the orders that created them before deciding whether to scale a campaign.

Blended averages hide the products and customers changing the result. A store can report a 4.0 ROAS while one collection returns $2.40 of contribution after ads and another returns $40. The blended number may support more spending even when the marginal orders are losing money. Product-level and collection-level profitability, as well as customer-level repeat behaviour, show whether growth is coming from economics worth repeating. This is why a store dashboard limited to revenue and aggregate performance can be insufficient; see Shopify Dashboard Limitations.

Omitted costs create false margin. Common omissions include payment processing, pick-and-pack, packaging, shipping subsidies, discounts, duties, refunds and the cost of handling returns. A $100 order with $45 of product cost and $20 of advertising is not $35 of profit if the merchant also absorbs $8 shipping and $3 processing. The result is $24 before any allocated overhead. Shipping needs its own check because charging a customer $10 does not prove the shipment made $10; the carrier charge may be $14. See Shipping Profitability.

Returns should not remain as successful revenue simply because the original payment appeared in Shopify. A $100 sale that is later refunded is not a $100 sale with a small return expense. Treating it that way inflates revenue, order count and acquisition efficiency. Measure return rate by units and refund value against revenue, and connect the cost of returned or unsellable stock to the decision. The ecommerce return rate guide covers that arithmetic.

Tax is another source of distortion. Sales tax or VAT collected for a tax authority is generally not the merchant's operating revenue, while income tax is not the same as the cost of fulfilling an order. Excluding a tax from one figure and subtracting it again elsewhere makes profit too low; counting collected tax as revenue makes it too high. Define the treatment once for the store's jurisdiction and keep the trading currency consistent.

What to Do With the Answer

The calculated profit is useful only when it changes a decision. Start with the maximum customer acquisition cost (CAC) an order can carry. If an order produces $42 before advertising and the business needs to retain at least $10, the practical CAC ceiling is $32. A $38 CAC may look acceptable on revenue or ROAS, but it leaves only $4 against that minimum. See CAC vs profit per order for the calculation.

Use the same number to review prices and offers. A $10 discount reduces profit by $10 unless it creates enough additional profitable orders to offset that reduction. Compare contribution after advertising by product, collection, discount code, and customer type where the data supports it. If a product remains negative after advertising, reduce its spend, change its economics, or stop promoting it. Do not cut a product solely because its first order is weak if repeat customers make the relationship profitable; check customer-level profitability and repeat behaviour first.

Turn this into a reporting cadence rather than a one-time analysis. Review delivered-order profit, return and refund impact, product contribution, and advertising efficiency weekly for operating decisions. Reconcile the period monthly, using one trading currency and consistent order timing, then record the action, owner, and reason. A dashboard should expose product and collection profit, not just sales; Shopify profit analytics provides that view. Keep an exception log for products, campaigns, or offers whose economics changed, so the next review tests a specific decision rather than reopening the entire calculation.

  • Scale only when contribution after advertising remains positive at the proposed CAC.
  • Fix pricing, shipping, returns, or offer structure when a sale is unprofitable before acquisition cost.
  • Reduce or stop spend on products with persistently negative contribution after advertising.
  • Recheck the CAC ceiling after meaningful changes to price, discount, shipping cost, or return rate.

Real profit is not a mysterious finance-only number: it is the amount left after every cost required to acquire, sell and deliver an order is assigned consistently. Once the calculation is stable, use it to set acquisition limits, evaluate products and make growth decisions on the money the business actually keeps.

General information only: tax, duty and import rules change and depend on your situation, so check with an accountant or the official source before acting.