Sales by Customer
Sales by Customer lists the customers who bought in a date range, with how many orders each placed and how much they spent, biggest first.

How It’s Calculated
Each row is one customer. The columns are:
- Customer: the customer’s first and last name. With no name, it shows their email, or “(unknown)” with neither.
- Email: the email on their orders.
- Orders: the number of orders they placed in the date range.
- Average Order Value: their sales before returns, divided by Orders. Sales before returns are Gross Sales minus discounts, plus shipping and tax. If your prices include tax, the tax isn’t added again.
- Gross Sales: each item’s price times its quantity, before discounts, shipping, tax and returns.
- Total Sales: their sales before returns, minus the money you refunded them in the date range.
The table opens with the highest Total Sales first. It shows at most 1,000 customers. A customer with refunds in the range but no orders in it isn’t listed.
With Show totals row on in Report settings, the table ends with a row of totals for the customers shown. Its Average Order Value is Gross Sales divided by Orders, so it can differ from the average of the rows above it.
What Counts
- An order counts on the day it was placed, in your store’s time zone. A refund counts on the day you made it.
- Orders that were canceled, or whose payment was voided or expired, don’t count.
- Orders from every sales channel count, including point of sale. Sales Channel limits the report to one.
- With a Segment picked, only orders from customers in that segment count.
- With Filters set, only matching orders count.
- Amounts are in your store’s currency. Reporting Methodology explains these rules in more detail.
A customer is a combination of their customer ID, email, first name and last name. A customer whose orders carry different emails shows as one row per email. An order with no customer shows as its own row, by the email on the order.
Refunds are taken off only for a row that has all four of those: an ID, an email, a first name and a last name. A row missing any of them, such as a guest or a customer with no last name, shows Total Sales before returns, whatever you refunded.
Refunds on orders placed more than 2 years before the start of the range don’t count.
This report has no Compare control and no chart.
What Good Looks Like
There’s no target. Compare the first rows with the totals row to see how much of your sales a few customers bring in. Then check whether the same names stay near the top from one range to the next.
Set a long range, such as Last year, to find your best customers. A short range shows who bought recently, which isn’t the same group.
A high Total Sales from 1 order is a large single purchase. Many orders with a modest Average Order Value is a regular.
What to Do About It
- Your top customers: thank them, or reach them first with a new product. Build a custom segment from a rule on a customer’s total sales, then sync it to your email or ad platform.
- A few customers hold most of the sales: you depend on them. Customer Loyalty shows whether your best customers are still ordering.
- A customer far above the rest: check whether it’s a wholesale customer or a reseller. Use Filters to leave them out and see your usual customer.
- Many top customers with one order: see how many customers come back in Cohort Retention.
Where to Find It
- Sales by Customer: open Reports and look under Sales.
- Customer Loyalty: customers grouped by how recently and how often they buy.
- Customer LTV: what each group of customers is worth over time.