Shopify Sales Report by Product

A Shopify sales report by product shows how much each product sold, in units and in money, for a period you choose. Shopify's Analytics has one built in; the orders export lets you go further, by variant, vendor, product tag or state.

Upload your Shopify orders export and ask "revenue by product last quarter" — or by vendor, variant or state — and get the table and chart in one answer.

In Shopify Analytics

Go to Analytics → Reports and open Sales by product (called Total sales by product in newer stores). Set the date range at the top, then Export for a CSV. It shows net quantity, gross sales, discounts, returns and net sales per product. It is quick, but it cannot combine product with state or customer in one table.

From the orders export in Excel

Orders → Export → CSV. Each line item is its own row, so insert a PivotTable with Lineitem name in Rows and a Line total column (Lineitem quantity × Lineitem price, minus Lineitem discount) in Values. Add Vendor or Shipping Province as Columns to split it further. Leave out orders whose Financial Status is refunded, or subtract Refunded Amount.

By product tag, collection or vendor

The orders export carries Vendor but not product tags or collections. For a report by tag, export Products too and match on SKU; in DataMimi you upload both files and ask for revenue by tag, and it joins them on SKU for you.

See it on a sample file

What DataMimi shows for a Shopify orders export

2,343 rows, Jul 2025 – Aug 2026. Computed by DataMimi from a sample export with the same columns as yours — the data is invented, the figures are exactly what the app produces from it.

Open this sample in DataMimi

What this export contains

Name
Created at
Financial Status
Lineitem name
Lineitem sku
Lineitem quantity
Lineitem price
Lineitem discount
Discount Amount
Refunded Amount
Vendor
Shipping Province

What usually goes wrong with it

  • Line revenue is not in one column

    The export gives Lineitem quantity and Lineitem price separately, and order-level discounts are not split across lines, so there is no ready revenue-per-product column.

    DataMimi It calculates line revenue from quantity, price and line discount, and shows the formula under the table.

  • Refunds still in the file

    Refunded orders remain in the export, so a plain sum overstates what each product actually earned.

    DataMimi It reads Financial Status and Refunded Amount and says whether refunds were subtracted.

  • The same product under several names

    Renamed products and variants appear as different Lineitem names over time, splitting one product across several rows.

    DataMimi It groups by SKU when names differ and lists the names it merged.

  • Tags and collections are elsewhere

    Product tags live in the products export, not the orders export, so a report by tag needs two files joined.

    DataMimi It joins the products export to the orders on SKU when you upload both, so tags and collections can be used.

Common questions

How do I get a sales report by product in Shopify?

Analytics → Reports → Sales by product, set the date range and export. For more detail, export orders as CSV and group line items by product.

How do I run a sales report on Shopify?

Open Analytics → Reports, pick a report such as Sales over time or Sales by product, set the date range and export it as CSV.

Can I see Shopify sales by product tag?

Not in the orders export alone. Export Products as well and match on SKU, or upload both files to DataMimi and ask for revenue by tag.

Does the product report include refunds?

Shopify's report shows returns separately. In the orders export, refunded orders stay in; filter on Financial Status or subtract Refunded Amount.

How do I get sales by product and state together?

Use the orders export: Lineitem name in rows and Shipping Province in columns in a PivotTable, or ask DataMimi for revenue by product by state.

Try it with your own file

DataMimi reads the file you actually have — merged cells, headers below row one, totals pasted at the bottom — and shows which rows and columns every number came from.

Ask about your file

More in Ecommerce and marketplace exports