Is Sanity a good choice for storing products and does it support variable products?

5 replies
Last updated: Mar 25, 2024
Hi,
I’m making a website for a client that is currently selling products on their website but is moving to a marketing website with a product catalog, and no sales. Is Sanity a good choice for storing products? and does Sanity support variable products and so on? Right now they are using WooCommerce, so I could technically just continue using it, but I hate working with headless WooCommerce.
AI Update

Sanity is actually an excellent choice for your use case! Since you're moving away from selling products directly and focusing on a marketing website with a product catalog, Sanity gives you much more flexibility than headless WooCommerce without the baggage of unnecessary commerce features.

Yes, Sanity fully supports product variants and complex product structures. You can model your product data exactly how you need it. For variable products (like a t-shirt with different sizes and colors), you'd create a schema with arrays of variant objects. Here's a simple example:

{
  name: 'product',
  type: 'document',
  fields: [
    {name: 'title', type: 'string'},
    {name: 'description', type: 'text'},
    {
      name: 'variants',
      type: 'array',
      of: [{
        type: 'object',
        fields: [
          {name: 'size', type: 'string'},
          {name: 'color', type: 'string'},
          {name: 'sku', type: 'string'},
          {name: 'price', type: 'number'},
          {name: 'image', type: 'image'}
        ]
      }]
    }
  ]
}

The beauty of Sanity is that you define your own schema, so you're not locked into WooCommerce's product structure. You can model exactly what makes sense for your marketing catalog.

Real-world examples: Companies like Baggu manage products with 10-80 nested items in complex parent-child relationships, and Occo Spices handles tiered pricing and bundle products—all through Sanity's flexible schema system.

Why Sanity beats headless WooCommerce for your case:

  • No commerce bloat: You won't have cart, checkout, or payment processing code cluttering your setup when you just need a product catalog
  • Better content modeling: Create exactly the product structure you need without WordPress/WooCommerce limitations
  • Superior editing experience: Sanity Studio is purpose-built for structured content with real-time collaboration, revision history, and a modern interface
  • Performance: Sanity's Content Lake delivers content through a global CDN, much faster than WordPress
  • Future flexibility: If they ever want to add e-commerce back, Sanity integrates seamlessly with major platforms

Since you mentioned WooCommerce, it's worth noting that Sanity can function as a Product Information Management (PIM) system, giving you centralized product data that can flow to multiple channels—perfect for a marketing-focused product catalog.

If you ever need ecommerce later: Sanity Connect for Shopify offers bi-directional sync that automatically syncs products, product variants, and collections. This means you could have product data in Shopify for potential future sales while using Sanity to manage all the rich marketing content around those products. The sync happens in seconds and supports both headless and traditional storefronts. You can get started quickly with their Shopify template:

npm create sanity@latest -- --template shopify

The platform supports everything you'd need for a product catalog: rich media management, SEO fields, structured content patterns for e-commerce, and the ability to create custom product hierarchies. Plus, the developer experience is vastly better than wrestling with WordPress/WooCommerce APIs.

Yes, totally possible with Sanity. For a simple example, you can initialize a new Studio via the CLI and select the Ecommerce example. That’ll show you how to handle the content model.
The Ecommerce example just said Shopify. I’m not really interested in using that. Possible without?
Your content model isn’t dependent on what tools you’re using, which is why I mentioned that it’s a good example of how to handle the content model. It’s not dependent on Shopify.
Ok, great. Thanks!
You’re welcome!

Sanity – Build the way you think, not the way your CMS thinks

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.

Was this answer helpful?