> For the complete documentation index, see [llms.txt](https://uxsmart.gitbook.io/velare/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://uxsmart.gitbook.io/velare/buy-and-install/create-required-metafields/metaobjects.md).

# Metaobjects

Metaobjects hold reusable pieces of content that you define once and then attach to as many products as you like. Vélare uses them for the three shopper-facing filters on the collection page: **Family**, **Material**, and **Style**. You create the list of labels once, tag each product with the labels that apply, and the storefront filter groups fill themselves.

### Metaobject or metafield <a href="#metaobject-or-metafield" id="metaobject-or-metafield"></a>

Both store extra data on a product, but they solve different problems.

|                   | Metafield                                                                                                     | Metaobject                                                                                                                                               |
| ----------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| What it holds     | <p>A value that belongs to one product only.</p><ul><li>A short description</li><li>A badge wording</li></ul> | <p>A reusable entry shared by many products.</p><ul><li><code>Grain Leather</code> as a material</li><li><code>Shoulder Bags</code> as a style</li></ul> |
| Where you edit it | On the product                                                                                                | Once in **Settings**, then referenced by products                                                                                                        |
| If you rename it  | You edit that one product                                                                                     | Every product using the entry updates at once                                                                                                            |

The two work together here. The metaobject stores the labels, and a product metafield of type **Metaobject** points each product at the labels that describe it.

### Pages in this section <a href="#pages-in-this-section" id="pages-in-this-section"></a>

| Page                                                                                                 | What it sets up                                                             | Metafield key            |
| ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------ |
| [Filter Family](/velare/buy-and-install/create-required-metafields/metaobjects/filter-family.md)     | The product family or line a product belongs to, such as `Mosaic` or `Tote` | `custom.filter_family`   |
| [Filter Material](/velare/buy-and-install/create-required-metafields/metaobjects/filter-material.md) | What the product is made of, such as `Grain Leather` or `Suede`             | `custom.filter_material` |
| [Filter Style](/velare/buy-and-install/create-required-metafields/metaobjects/filter-style.md)       | The type of product, such as `Crossbody Bags` or `Evening Bags`             | `custom.filter_style`    |

### Which order to follow <a href="#which-order-to-follow" id="which-order-to-follow"></a>

Work through the pages from top to bottom. They are independent of each other, so you can stop after one if your catalog only needs that filter. Inside each page the order does matter: create the metaobject definition first, then the product metafield that references it, then tag your products. Doing it the other way round leaves you with a metafield that has nothing to point at.

The theme reads exactly these three keys: `custom.filter_family`, `custom.filter_material`, and `custom.filter_style`. They are hardcoded, so you cannot add a new custom filter metaobject (for example `custom.filter_size`) and expect it to appear in the storefront filters. Stick to the three keys as written on each page.

{% hint style="info" %}
Enter each name, namespace, and key exactly as written on the page, including capitalisation and underscores. Shopify treats a different key as a different metafield, so a typo leaves you with a field the theme is not reading.
{% endhint %}

### Next step <a href="#next-step" id="next-step"></a>

Start with [Filter Family](/velare/buy-and-install/create-required-metafields/metaobjects/filter-family.md). When all three are set up, check how the filters behave on the storefront in [Product grid](/velare/customize-your-pages/collection-page/page-template-sections/product-grid.md).

### Related pages <a href="#related-pages" id="related-pages"></a>

* [Create Required Metafields](/velare/buy-and-install/create-required-metafields.md): how metafields and metaobjects fit together in Vélare
* [Metafields](/velare/buy-and-install/create-required-metafields/metafields.md): the per-product metafields to create before this section
* [Product grid](/velare/customize-your-pages/collection-page/page-template-sections/product-grid.md): filtering and sorting on the collection page


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://uxsmart.gitbook.io/velare/buy-and-install/create-required-metafields/metaobjects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
