Custom category metafields don't hold swatch data?

I’m trying to add extra color swatches to the product page.

I’m trying to set these up so they work like the color category metafield but just can’t seem to be able to make these options contain the swatch.color or swatch.image in the product data. They are set up and show like the color option which works fine, is it actually not possible to make custom category metafields that contain swatch data? e.g the timber color you see here

Hello @Jake_Clifford ,
In Shopify, here’s the key thing:
The built-in product options (like your Color variant option) automatically use Shopify’s native swatch feature if your theme supports it — the theme looks at the option name (like Color) and renders swatches based on variant values.

However, metafields are different. They’re just extra data fields — they don’t automatically link to Shopify’s variant system or built-in swatch logic. So by default:

Metafields can store swatch data (like a hex code or an image reference).

But the theme’s swatch code won’t automatically look at metafields — you’d need to customize your theme’s Liquid to read the metafield and render swatches.

If you want swatches that behave like your Color option, you must make them actual variant options (like Material or Timber Color).

  • If you keep them as metafields, you need to:
  • Store the color/image in the metafield.
  • Add custom Liquid to loop over it.
1 Like

Hey Jake, I believe it should be possible to utilize custom metaobject entries for swatches but I believe they may need to use the values color and image specifically in order for the Liquid swatch object to be able to utilize them.

With what you have shared it is not clear if that is how you set up the metaobject entries, assuming that is what the Timber colours are.

1 Like

@Jake_Clifford - do the techniques described above work for you?

Has anyone figured this out? I also have created a custom metaobject with both color and image fields and am using that as a variant option. The swatch object doesn’t seem to come through on the product_option.values in the liquid template. It only seems to work with the preset category metafields.

@Liam-Shopify @mikecorpcomm The solution I found was to change the product category, add one of the preset category metafields for the new category that contains color, then change back to the original category.

Is this really not possible to do? Surprised that you can’t create a custom swatch that isn’t predefined. How are you supposed to create a different type of swatch that isn’t color e.g. a pattern, whilst still tagging the product with the colors so that it will come up when searching/filtering?

Seems like a big feature gap.