Blog · Board and management reporting
An ecommerce dashboard should connect traffic and orders to the contribution left after returns and channel costs. This worked US retailer example shows the source totals, calculations, checks and a variation where advertising cost changes.
Ecommerce dashboards should connect sessions, orders and returns to the contribution each channel leaves behind. Revenue alone can favor a channel that consumes most of its gross profit in advertising and fulfillment.
Use a compact operating display supported by checked source totals. The ecommerce reporting method covers preparation of the detailed sales package; this example focuses on what a manager should see and do with the finished numbers.
Consider an illustrative US home-goods retailer reviewing September 2026. Its marketing manager must decide whether paid search deserves more budget. The finance lead wants the answer after merchandise refunds, product costs and the channel's variable expenses.
The display covers only tracked online-store sales assigned to paid search or email. Sessions belong to mutually exclusive channel groups. Orders use the same channel assignment, and every illustrated order belongs to a session in the period. Other channels stay outside this example rather than being folded into a misleading company total.
Use the same time zone and reporting window for traffic and orders. Costs below are supplied amounts assigned to these channels, not estimates inferred from the traffic share. Refunds relate to the illustrated sales, and product cost is already net of approved recoveries.
The traffic export provides sessions and sessions with purchases. The order and refund exports provide distinct orders, merchandise sales, allocated discounts and merchandise refunds. Finance supplies net product cost, fulfillment expenses, transaction fees and marketing expenses.
| Input measure | Paid search | Included total | |
|---|---|---|---|
| Sessions | 20,000 | 10,000 | 30,000 |
| Sessions with purchases | 500 | 400 | 900 |
| Distinct orders | 520 | 400 | 920 |
| Gross merchandise sales (USD) | 52,000 | 40,000 | 92,000 |
| Discounts (USD) | 2,000 | 1,000 | 3,000 |
| Merchandise refunds (USD) | 5,000 | 2,000 | 7,000 |
| Net product cost (USD) | 24,000 | 18,000 | 42,000 |
| Fulfillment expense (USD) | 4,000 | 3,000 | 7,000 |
| Transaction fees (USD) | 1,500 | 1,000 | 2,500 |
| Marketing expense (USD) | 12,000 | 2,000 | 14,000 |
Orders and purchasing sessions intentionally differ. Some sessions contain multiple orders. Shopify's behavior-report documentation distinguishes sessions completing checkout from order counts and defines conversion as the share of sessions resulting in a purchase.
Refunds here exclude tax and customer shipping charges. They measure the merchandise revenue reversed, not the count of physically returned items. Shopify's sales-report documentation distinguishes physical returns from broader financial reversals; retain that distinction when labeling a returns tile. Covirage is not affiliated with Shopify.
Use these definitions consistently:
Session conversion = Sessions with purchases / Sessions
Net merchandise sales = Gross merchandise sales − Discounts − Merchandise refunds
Gross profit = Net merchandise sales − Net product cost
Channel contribution = Gross profit − Fulfillment − Transaction fees − Marketing expense
Contribution margin divides channel contribution by net merchandise sales. Refund burden divides merchandise refunds by sales after discounts, before refunds. It describes this period's dollars; it is not a physical unit-return rate or a forecast of future returns.
| Dashboard measure | Paid search | Included total | |
|---|---|---|---|
| Session conversion | 2.50% | 4.00% | 3.00% |
| Net merchandise sales (USD) | 45,000 | 37,000 | 82,000 |
| Merchandise refund burden | 10.0% | 5.1% | 7.9% |
| Gross profit (USD) | 21,000 | 19,000 | 40,000 |
| Channel contribution (USD) | 3,500 | 13,000 | 16,500 |
| Contribution margin | 7.8% | 35.1% | 20.1% |
Conversion is displayed to two decimal places and other percentages to one. Calculations retain unrounded values.
Paid search sales are $52,000 less $2,000 less $5,000, or $45,000. After $24,000 of product cost, gross profit is $21,000. Subtract $4,000, $1,500 and $12,000 of channel expenses to reach $3,500 of contribution.
Email follows the same steps: $40,000 less $1,000 less $2,000 gives $37,000 of sales. Subtracting $18,000 of product cost gives $19,000 of gross profit; the remaining expenses leave $13,000 of contribution. The distinction between gross and contribution margin matters before calling a channel profitable.
Place net sales, purchasing sessions, refunds and contribution at the top. Follow with the channel table and an exception note naming the owner and next review date. A channel label should lead readers back to the supporting order and expense rows.
Here, email leaves more contribution despite lower sales. That supports investigating paid-search acquisition cost, the purchased product mix and refund reasons before increasing budget. It does not prove that moving spending to email would reproduce email's existing results: the audiences and purchase intent may differ.
Use reporting dashboards for period comparisons and exception ownership. Keep unrelated operational measures off this page unless they explain the channel decision.
Suppose the paid-search invoice is $16,000 rather than $12,000. Every traffic, order, revenue and other cost input stays unchanged.
| Paid-search measure | Original | Higher advertising cost |
|---|---|---|
| Marketing expense (USD) | 12,000 | 16,000 |
| Net sales (USD) | 45,000 | 45,000 |
| Gross profit (USD) | 21,000 | 21,000 |
| Contribution (USD) | 3,500 | -500 |
| Contribution margin | 7.8% | -1.1% |
The additional $4,000 turns contribution negative while revenue and conversion remain unchanged. Across the included channels, contribution falls from $16,500 to $12,500. A sales-only display would miss the change entirely.
Reconcile the dashboard sales bridge: $92,000 less $3,000 less $7,000 equals $82,000. Then $82,000 less $42,000 equals $40,000 of gross profit, and subtracting the displayed fulfillment, fee and marketing totals leaves $16,500 of contribution.
Upload a sample of your own commerce, traffic and cost files; Covirage maps the columns, and its tools compute and check the supplied channel figures. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account and set up your business.
See revenue driver analysis for the supporting questions behind the channel comparison.
Start with sessions, purchasing sessions, distinct orders, net merchandise sales, merchandise refunds, gross profit and contribution after defined variable costs. Add the period, comparison basis and owner. Include a metric only when someone can act on a change in it.
An order export supplies the purchases but usually lacks the sessions that did not buy. Bring a traffic export with the same period and channel definitions. For session conversion, count sessions containing purchases rather than assuming every order represents a different purchasing session.
No. Contribution here is net merchandise sales less product cost, fulfillment, transaction fees and assigned marketing cost. Corporate salaries, rent and other fixed expenses remain outside it. State the included costs so the dashboard is not mistaken for the company's income statement.