01
Scan every variant, not just product titles
A Shopify SKU belongs to a variant. Build the duplicate list across the full catalog so the same identifier on two different products is not missed.
Duplicate SKUs can be accidental identifier collisions — or an intentional part of a bundle or shared-stock workflow. The safe approach is to find every exact duplicate, understand why it exists, then change only the identifiers that are actually wrong.
StoreCheck reports duplicate SKUs as a High Technical finding. It does not automatically invent replacement SKUs.
What counts as a duplicate?
The duplicate-SKU rule compares non-empty trimmed variant SKUs. It does not lowercase SKUs or strip punctuation before deciding that two identifiers are the same. That matters because Shopify documents case-sensitive SKU matching in relevant workflows.
Read Shopify's current SKU guidanceABC-123 / ABC-123StoreCheck: High duplicate-SKU finding
ABC-123 / abc-123Not grouped as a literal duplicate
ABC-123 / ABC_123Not grouped as a literal duplicate
Review before editing
Ask these questions before you touch production identifiers.
Shopify notes that bundles and some specific workflows can intentionally use duplicate SKUs. Do not change a shared identifier until you understand why it exists.
If an ERP, WMS, 3PL, marketplace, POS, or supplier feed is the operational source of truth, changing Shopify alone can create a mismatch instead of fixing one.
Two listings can represent the same physical inventory in some workflows. A duplicate SKU can be a signal to investigate, not automatic proof that one value is wrong.
Treat SKU changes as identifier changes. Check workflows that look up products or variants by SKU before editing production data.
Five-step remediation
01
A Shopify SKU belongs to a variant. Build the duplicate list across the full catalog so the same identifier on two different products is not missed.
02
StoreCheck flags the same non-empty trimmed SKU when it is assigned to multiple variants. It does not collapse case or punctuation differences into a literal duplicate group.
03
Check bundles, shared-stock conventions, fulfillment systems, ERP mappings, marketplace feeds, and any workflow that might deliberately reuse an identifier before changing it.
04
When a duplicate is accidental, choose the correct unique SKU for each variant in Shopify and keep external inventory, fulfillment, reporting, or marketplace systems synchronized with the same change.
05
Run the catalog audit again to confirm the duplicate group is gone, then verify stock, order, fulfillment, reporting, and integration flows that rely on SKU identity.
An exact non-empty SKU reused by multiple variants becomes a High Technical StoreCheck finding with affected variants and the shared value.
The AI/fix policy for `technical.duplicate-sku` is deliberately never-auto-fix because SKU assignment can affect external operational systems.
StoreCheck only raises missing-SKU warnings when the catalog already uses SKUs, so intentionally SKU-less catalogs are not flooded with identifier warnings.
Duplicate SKU questions
No. Shopify says SKUs are not required, but recommends unique SKUs where you use them because they help inventory tracking, reporting, fulfillment, and integrations.
Sometimes. Shopify documents that bundles and specific workflows can be exceptions to the normal uniqueness recommendation. Treat a duplicate as a review signal and confirm the operational intent before changing it.
Shopify documents case-sensitive SKU matching in relevant search and synchronization workflows. StoreCheck therefore does not label case-only or punctuation-only differences as the same literal duplicate SKU.
No. StoreCheck classifies duplicate SKUs as a High Technical finding and its fix policy does not auto-generate replacement identifiers. Choosing a SKU can affect inventory, fulfillment, ERP, marketplace, and reporting systems, so the change stays review-first.
Duplicate SKU means one non-empty identifier is reused by multiple variants. Missing SKU is a separate StoreCheck rule and is only raised when the scanned catalog already uses SKUs, which avoids flooding intentionally SKU-less catalogs with warnings.
Scan before renumbering