Shopify "Validation failed: options are not unique": Fix

Shopify's product importer shows Validation failed: options are not unique when one product in your CSV has two variants that can't be told apart. Every variant needs its own combination of option values, and two of them share one.

Why does Shopify say "Validation failed: options are not unique"?

Shopify's common import issues page gives two causes.

Two variants have the same option values. Shopify's example is two medium products, both in black. In a CSV that looks like this:

URL handle Title Option1 name Option1 value Option2 name Option2 value SKU
linen-shirt Linen Shirt Size M Color Black LS-M-BLK
linen-shirt Size M Color Black LS-M-BLK-2

The SKUs differ, but SKU isn't an option, so Shopify sees two M / Black variants on one product.

The same handle is used twice. If the option values are unique, Shopify's help says the product could be duplicated elsewhere in the CSV with the same handle. Every row with that handle becomes part of one product, so a second copy of the product, or a different product given the same handle, adds variants that clash with the first.

Supplier files cause both in a few common ways:

How do I fix "options are not unique" in my CSV?

  1. Find the rows. Sort the file by handle, then by each option value column. Duplicates land next to each other. In Excel you can also add a helper column that joins handle and option values (=A2&"|"&D2&"|"&F2) and highlight it with Conditional Formatting, then Highlight Cells Rules, then Duplicate Values.
  2. Decide what each pair is.
    • The same variant listed twice: delete one row.
    • Two real variants that differ in something else, like fit or material: add that as another option (Shopify allows up to 3 options per product), or put the difference into an existing option value (M Slim, M Regular).
    • Two different products sharing a handle: give one of them a new handle and its own title.
  3. Import again. If Shopify names another product, repeat these steps for it.

How does Csvio catch duplicate variants?

Csvio checks every product for repeated option combinations before anything is sent to Shopify, so you see the problem on the mapping screen instead of in a failed import.

Csvio groups rows into products by the handle column when you map one, otherwise by the product title. So the second cause from Shopify's help applies here too: two different products with the same title in a file without handles become one product, and if their options overlap, Csvio flags it before the import.

Can I try Csvio on the file Shopify rejected?

Csvio's free plan imports 30 products a month across up to 3 imports. Upload the file Shopify rejected and the mapping screen shows any product with duplicate variants before you confirm.

← Back to all posts