
Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag storeBased on the information about product catalog management in Sanity, I'd recommend adding SKU directly to your individual product documents rather than creating a separate document type. Here's why:
Direct SKU approach (recommended):
*[_type == "product" && sku == "ABC123"][0]Why this works better:
If you need to query across multiple document types:
You can use a GROQ query that searches multiple types at once:
*[_type in ["productType1", "productType2", "productType3"] && sku == $sku][0]Or if you want to find all documents with a specific SKU regardless of type:
*[defined(sku) && sku == $sku]When you might consider a separate SKU document:
The separate document approach only makes sense if:
But for most product catalogs, the direct approach is cleaner and more maintainable. As mentioned in the structured content patterns for e-commerce guide, storing SKUs directly on product documents (often within variant arrays) is the standard pattern in e-commerce implementations.
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.
Content operations
Content backend


The only platform powering content operations
By Industry


Tecovas strengthens their customer connections
Build and Share

Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag store