CSVwise
Store matches / What is a store match?

What is a store match?

A store match (also called a handle collision) happens when a product in your CSV uses the same Handle as a product that already exists in your store. The store-match check is a Pro / Studio feature that tells you about it before you import, so a bulk update doesn't quietly do something you didn't intend. The collision check appears in the app as the Store matches section on the Fix issues stage.

Why handles are unique

In Shopify, a product's Handle is also its URL. The product Premium Coffee Mug with handle premium-coffee-mug lives at your-store.myshopify.com/products/premium-coffee-mug.

Because that URL has to be unique, Shopify enforces uniqueness on Handle across your entire product catalog. What Shopify does with a matching handle depends on one checkbox in its import dialog:

  1. "Overwrite products with matching handles" ticked. The existing product is updated with the data from the imported row. Fields your CSV leaves blank can be cleared.
  2. Unticked (the default). Shopify skips the row entirely and logs "Ignored line #-## because handle already exists." The existing product is untouched, and the new row never lands.

Either outcome can be the one you wanted. The problem is finding out afterwards. That's what the store-match check is for.

How CSVwise detects store matches

When you upload a CSV on Pro or Studio, CSVwise:

  1. Cleans up the handles in your CSV (after the auto-fixes run).
  2. Asks Shopify which of those handles already exist in your store.
  3. Lists every match in a Store matches section on the Fix issues stage.

Store matches sit above Errors and are informational, not a problem to fix. They never block the download. The section explains itself:

"These rows match products you already sell. Shopify updates them only if you tick 'Overwrite products with matching handles' when you import, otherwise it skips them."

Each card reads:

"3 rows in this file match products that already exist in your store (3 unique handles). Keep them to update those products when you import, or remove them to leave your existing products exactly as they are."

Under Found in: each sample shows the data-row number and the matching handle. Click a row number to jump the live preview to it.

Deciding what to do with a store match

You have two choices, and neither one blocks you.

Keep the rows (intentional update)

Do nothing. The rows stay in your cleaned CSV. When you import, tick Overwrite products with matching handles in Shopify's import dialog and the matching products get updated.

This is the right move for bulk price updates, vendor renames, image URL refreshes, and tag standardization: any change where you want the existing product to be updated.

Remove the rows (you didn't mean to touch those products)

Click Remove these N rows from the cleaned CSV on the Store matches card. Those rows are left out of the generated file, so the products already in your store stay exactly as they are. They stay visible in the preview with a strikethrough, and Restore all rows brings them back.

You can then give the products unique handles in your source CSV and re-upload.

Rename the handles

If the match is "two products that happen to have similar names," rename the handles in your source CSV (for example, tote-bagtote-bag-canvas and tote-bag-leather) and re-upload. CSVwise will re-check the new handles against your store.

Plan availability

The store-match check requires the Pro or Studio plan, because it has to ask Shopify about your live catalog. On Free the check is skipped silently and no Store matches section appears, so you won't know in advance which rows overlap with products you already sell.

PlanStore-match check
FreeNot available
Pro ($19/mo)Included
Studio ($49/mo)Included

How long it takes

CSVwise checks handles in batches so the request doesn't overwhelm Shopify, and larger files take proportionally longer. The check blocks the Fix issues stage until it finishes: CSVwise shows an Analyzing your file… banner with a progress estimate, and the auto-fix toggles, the preview, and the Generate button appear once the check completes.

If you toggle a fix that changes handles, CSVwise rechecks against your store and shows "Rechecking handles against your store…" below the toggles until it settles.

If Shopify is briefly unreachable during the check, the section is skipped rather than blocking your cleanup. Whether you can finish your cleanup doesn't depend on Shopify being available. The check is advisory.

Related