Commerce reporting

Revenue, orders, average order value and refunds from the order events your shop already fires, with the comparison stated honestly when there was no previous period.

The events you already have

An order created, an order refunded, a cart abandoned. A conventional shop fires all of these already, and the integrations translate them, so the first revenue report exists before anybody has configured a chart.

Revenue, orders, and the number between them

Totals and counts are easy. Average order value is where reporting tools quietly disagree with each other, because it depends on whether refunds are subtracted and whether tax is included. Each block states which query it ran, so the answer is checkable rather than a matter of trust.

Refunds treated as data, not as an asterisk

Refunds are their own events and can be reported on directly, including as a rate against orders. A revenue chart that silently nets refunds and one that does not are both defensible; a chart that will not say which it is doing is not.

Breaking down without losing the tail

Group by plan, region or channel, and the bounded dimensions say exactly what went into Other rather than dropping the long tail and letting the total stop adding up.

Point it at your orders

If your shop already fires an event when an order is created, the first commerce report builds itself.

Start free