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:
Spur looks up all the variants that currently belong to that product
Spur searches for orders containing any of those variant IDs
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.


