Guide

Why Shopify cannot total sales by option value across products

Why Shopify cannot aggregate sales by option value (like color or size) across products, what that means for fashion merchants, and the practical alternatives.

Last updated: July 11, 2026

If you have ever tried to find out how much revenue a specific color, size, or material made across your entire Shopify store, you have run into a real limitation. It is not a settings issue. It is not something a plan upgrade fixes. It is a structural property of how Shopify organizes product and order data.

This article explains what that limitation is, why it exists, and what merchants who need cross-product option reporting actually do about it.

How Shopify organizes product data

In Shopify, every product has a small fixed set of options: typically something like Color, Size, and Material. Each combination of option values becomes a variant. A t-shirt in three colors and four sizes has twelve variants.

Options and their values exist at the product level. "Red" as a color option for Product A and "Red" as a color option for Product B are, in Shopify's data model, two separate things. They share a name, but they have no shared identity in the database.

This is not a flaw. It is a reasonable design for a general-purpose commerce platform. Most Shopify stores do not need to aggregate by option value across products. The platform is built around the questions most stores need most of the time.

What "sales by option value" would require

To total revenue for Red across all products in your store, Shopify would need to:

  1. Look at every order line item.
  2. Find the variant for each line item.
  3. Read the color option value for that variant.
  4. Group all line items where the color option value is "Red" (or whatever name you use for that color in each product).
  5. Sum the revenue.

Steps 1 through 3 are straightforward. Step 4 is where it breaks. Shopify's reporting engine does not have a native way to define "this set of option values all represent the same color family" and group across that definition. Each value is its own row.

Even if every product used exactly "Red" as the option name, you would still get separate rows in a variant-level report. There is no native aggregation that combines them.

In practice, catalogs do not use consistent naming. Suppliers, buyers, and product teams use different names for the same color across seasons and product lines. Scarlet, Merlot, Sangria, Brick, Wine, and Rust are all, in commercial practice, variants of Red. A reporting engine that does not normalize those names will never produce a meaningful color-level total.

What Shopify's reports actually give you

The closest Shopify native report is Total sales by product variant. It gives you a row per variant, with units sold and revenue, for any date range you choose.

You can also use custom report filtering to narrow a report to specific products or product types. But filtering is not aggregation. Filtering by a product type gives you the sales for that type; it does not group by color within that type.

There is one native path worth knowing: newer Shopify reports can use product metafields as dimensions. If you manually tag every product with a color-family metafield, you can group by it. The normalization work, deciding and applying the family for every product and keeping it current, is still yours, by hand.

General-purpose Shopify report builders (Report Pundit, Better Reports, Mipler, and others) can produce more flexible variant-level reports. Some allow you to create custom fields or groupings. For merchants who already use one of these tools and are willing to invest time in configuration, they can get partway toward a color-level view. The remaining gap is naming normalization: these tools report the option value as it exists in the data. Turning "Scarlet," "Merlot," and "Rust" into a single "Red" row requires a configuration step that a general-purpose tool does not handle automatically.

The workarounds merchants use

Manual pivot table. Export your variant sales to CSV. Add a color family column manually. Build a pivot table. This works and costs roughly an afternoon per month for a mid-size catalog. It requires consistent naming decisions and does not handle products where the color is only visible in the product image. We walk through the full method in How to see Shopify sales by color.

Custom report builder configuration. Use a tool like Report Pundit or Mipler to create a custom report with a user-defined grouping. More automated than a spreadsheet, but still requires manual normalization for non-standard color names.

Purpose-built color analytics. HueMetrics is built specifically for this problem. It normalizes color names automatically (including from product images, using color science in the LAB color space), maps every variant to one of 14 standard families, and produces a live revenue ranking across all families. Revenue is measured from the store's own order lines, discount-aware, and net of returns. The full color ranking and 12-month trend lines are available on the free plan, with no card required.

When this limitation matters most

Not every store needs color-level revenue data. For a store with a small catalog or infrequent color decisions, the native variant report is usually sufficient.

The limitation bites hardest in three situations:

Large catalogs. When you have hundreds of products across multiple color families, manual aggregation stops being feasible. The time cost per monthly report grows with catalog size, and the naming normalization problem grows with the number of suppliers and seasons contributing to the catalog.

Active buying decisions. For stores where colorway choices drive reorders, markdowns, and new drops, color-level data is not a nice-to-have. It is the input to a recurring decision. Without it, buying is based on product-level intuition rather than color-level measurement, and dead stock tends to accumulate along color lines before anyone notices.

Category-level analysis. A color that performs well overall may perform differently in tops versus bottoms, or in accessories versus footwear. Seeing color performance inside each product category requires the same cross-product aggregation, one level deeper.

In these situations, the practical choice is between maintaining a manual spreadsheet process and using a tool that automates the aggregation. Both are valid. The decision depends on how often the data is needed and how large the catalog is.

HueMetrics is color analytics for fashion stores on Shopify. It attributes revenue to 14 color families from your own orders, free and in full, then turns winners and laggards into Shopify collections and markdowns you approve before launch. Start free on the Shopify App Store.