Skip to main content

Product vs Variant Segmentation: What's the Difference?

Spur lets you segment by Product or Variant. But here's the thing: both options actually use variant IDs. Here's what that means.

Updated over a week ago

When you create a segment in Spur based on shopping behavior, you'll see two options:

  • Product: "Has ordered products"

  • Variant: "Has ordered variants"

At first glance, you'd think "Product" would search by product and "Variant" would search by specific variants like size or color.

But here's what actually happens: both options use variant IDs under the hood.

Why Both Use Variant IDs

When someone places an order on Shopify, the order data doesn't just say "Customer bought Product A." It says "Customer bought Product A, Variant 2 (the blue one, size L)."

Every product on Shopify has at least one variant. Even if your product has no options (no size, no color, nothing), Shopify still creates a default variant for it.

So when Spur looks up orders, we're always working with variant IDs because that's what the order data contains.

What "Product" Segmentation Actually Does

When you select "Product" and choose a product from the dropdown, here's what happens:

  1. Spur looks up all the variants that currently belong to that product

  2. Spur searches for orders containing any of those variant IDs

  3. Spur returns contacts who ordered those variants

So if your product "Cotton T-Shirt" has 3 variants (Small, Medium, Large), selecting the product will find customers who bought any of those 3 variants.

What "Variant" Segmentation Does

When you select "Variant," you're choosing a specific variant instead of the whole product.

Using the same example, if you only want customers who bought the "Large" variant, you'd use variant segmentation and select just that one.

The Problem with Deleted Variants

Here's where it gets tricky.

Let's say 6 months ago, your "Cotton T-Shirt" had 4 variants: Small, Medium, Large, XL.

100 customers ordered XL.

Last month, you discontinued XL and deleted that variant from Shopify.

Now when you create a segment for "Cotton T-Shirt" using Product segmentation, Spur looks up the current variants (Small, Medium, Large). It doesn't know XL ever existed because that variant is gone.

Those 100 customers who bought XL won't show up in your segment.

This happens with both Product and Variant segmentation because both rely on variant IDs. If the variant ID doesn't exist anymore, Spur can't find orders associated with it.

When to Use Product vs Variant

Use Product segmentation when:

  • You want everyone who bought any version of a product

  • You don't care about specific sizes, colors, or options

  • You're running a general promo for the whole product line

Use Variant segmentation when:

  • You want to target people who bought a specific size or color

  • You're running a restock promo for one specific variant

  • You want to cross-sell complementary sizes (e.g., people who bought Small might want Medium next)

What About Collections?

Spur also lets you segment by Collection

Collections work the same way. When you select a collection, Spur finds all products in that collection, grabs all their variants, and searches for orders containing those variant IDs.

Same limitation applies: if products or variants were removed from the collection, historical orders won't show up.

Real Example

You sell skincare products. You have a product called "Night Serum" with 2 variants:

  • 30ml (variant ID: 111)

  • 50ml (variant ID: 222)

Over the past year, 500 customers bought the 30ml and 300 bought the 50ml.

You decide to simplify your catalog and discontinue the 30ml. You delete that variant.

Now when you create a segment for customers who bought "Night Serum," Spur only finds the 300 customers who bought 50ml. The 500 customers who bought 30ml don't appear because variant 111 is gone.

If you want all 800 customers, you'd need to export the segment from Shopify (which can query by product ID) and import it into Spur as a CSV.

Did this answer your question?