Skip to main content

Why Product Segments Sometimes Show Different Results Than Shopify

Your Spur segment shows 50 contacts but Shopify shows 612? Here's why the numbers don't match and what you can do about it.

Updated over a week ago

Why Product Segments Show Different Results Than Shopify

You create a segment in Spur for customers who bought "A2 Low Fat Paneer" in the last 90 days. Spur shows 50 contacts. You run the same query in Shopify and it shows 612 customers.

What's happening?

The Root Cause

Spur and Shopify look up products differently when creating segments.

Shopify: Queries by the root product ID. Even if you changed or deleted variants, Shopify can still find all orders for that product because the product ID itself hasn't changed.

Spur: Queries by variant ID. If you deleted or changed a variant, Spur can't find orders that used the old variant ID anymore.

Here's what that means in practice.

What Happens When You Change Variants

Let's say you had a product called "A2 Low Fat Paneer" with these variants:

  • 500g (variant ID: 123)

  • 1kg (variant ID: 456)

Between January and June, 186 customers ordered the 500g variant. All those orders are stored with variant ID 123.

In July, you decided to restructure your product catalog. You deleted the 500g variant and created a new one with different packaging. The new variant gets a brand new ID: 789.

Now when you create a segment in Spur for "A2 Low Fat Paneer," Spur looks for orders containing the current variants (789). It doesn't find variant ID 123 because that variant doesn't exist anymore.

Those 186 historical orders? They're still in your database, but Spur can't link them back to the product because the variant they reference is gone.

Shopify doesn't have this problem because it can query by the root product ID, which stayed the same even though you changed variants.

Why This Happens

When a customer places an order, the order data stores the variant ID at that moment. It doesn't store the product ID.

So the order looks like this:

  • Order 12345

  • Variant ID: 123

  • Quantity: 1

  • Price: โ‚น200

If you later delete variant 123, Spur loses the connection between that order and your current product catalog. The order still exists, but Spur doesn't know which product to associate it with anymore.

Shopify handles deletes as archives. Even if you delete a variant, Shopify keeps the reference internally so it can still run queries across your entire order history by product ID.

Spur doesn't get that archived data. We only see what's currently active in your product catalog.

How to Verify This Is What Happened

Go to Shopify and look at your product's variant history.

If you see this:

  • Current variants created recently (e.g., September 2025)

  • But orders for this product go back much further (e.g., January 2022)

That's your smoking gun. The variant IDs changed somewhere along the way.

You can also check individual old orders. Look at the variant ID in an order from 6 months ago, then check if that variant ID still exists in your current product setup. If it doesn't, that's why the segment count is off.

What You Can Do About It

Option 1: Export from Shopify, Import to Spur

This is the fastest workaround.

  1. Go to Shopify

  2. Create the same segment (customers who bought Product X in the last 90 days)

  3. Export the results as CSV

  4. Import that CSV into Spur and make a segment out of it

  5. Broadcast to that segment or use that segment as a condition in a flow of your choice (or do whatever you wanted to do with the segment in the first place)

Now you have the full list in Spur, even though Spur couldn't generate it automatically.

Downside: This is a static segment. It won't update automatically. If someone new buys the product tomorrow, they won't be added to this segment. You'd need to re-export and re-import.

Option 2: Unarchive the Old Variant Temporarily

If Shopify lets you unarchive deleted variants, do that. Once the variant is back, Spur will be able to see it again and link old orders to it.

This doesn't always work depending on how Shopify handles your specific deletion, but worth trying.

Option 3: Accept the Limitation and Move Forward

If you don't need those historical contacts urgently, just note that your segment only includes customers who bought the product after the variant change.

For future broadcasts, this might actually be fine. Customers who bought 2 years ago are probably less valuable than customers who bought in the last 3 months anyway.

How to Avoid This in the Future

Don't delete variants if you plan to segment by them later.

If you need to update a product:

  • Edit the existing variant instead of deleting and recreating

  • If you must delete, export relevant segments first

  • Create static segments for important customer groups before making catalog changes

We know this isn't ideal. We're looking at ways to handle this better, but for now, understanding how it works helps you plan around it.

Did this answer your question?