A Shopify metaobject is a custom content type that you define yourself to create truly structured databases in your store. Where a metafield adds data to an existing resource, a metaobject creates an autonomous, reusable entity that the theme calls upon request.
For us, the arrival of metaobjects is the biggest revolution we've experienced in site development and design since our beginnings on Shopify in 2017-2018. This guide explains what concrete changes they bring, how to create them, and details two real cases we've deployed: Cabania's centralized FAQ and Swiss Line's partner spa locator.
Table of Contents
What is a Shopify metaobject?
A metaobject is a data structure that you design from scratch: you define a list of fields (a model), then you create as many entries as needed based on that model. A metaobject entry lives independently of products and collections, and can be displayed on any page, either via the theme editor or via dynamic Shopify sections.
Concretely, a "Partner Spa" metaobject model could contain fields for name, address, city, phone, photo, and opening hours. Each spa becomes an entry. The theme then reads this database to display a map, a filterable list, or a dedicated page. It's a database, managed within the Shopify admin, without an external server or app.
Metaobject vs. Metafield: The Difference
The distinction can be summarized in one sentence: a metafield attaches data to an existing resource, while a metaobject creates content that didn't exist before. The two can be combined, with a reference type metafield pointing to a metaobject.
| Question | Metafield | Metaobject |
|---|---|---|
| Nature | Field added to an existing resource | Autonomous entity that you create |
| Example | Product dimension | A spa profile, an FAQ question |
| Reusable across multiple pages | No, linked to its resource | Yes, called wherever needed |
| Good reflex | Enrich an existing record | Build a content database |
If your need is to enrich an existing product or collection, we recommend reading our guide dedicated to Shopify metafields. This page focuses on cases where you want to create a complete content structure.
Why it's a revolution for our projects
Since our beginnings on Shopify in 2017-2018, no platform evolution has transformed our approach to site design as much as this one. Before metaobjects, every reusable structured content item posed a dilemma: hardcoding it into the theme (fragile, lost with any update), entering it as HTML on a page (impossible to reuse elsewhere), or installing a dedicated application (another subscription, data hosted by a third party).
Metaobjects have eliminated this dilemma. We model the structure once, enter the data in the admin, and the theme uses it as many times as necessary. The result, in our projects, can be summed up in three words: leaner, more flexible, less expensive. Fewer third-party applications to pay for and maintain, centralized data in the store, and site evolution that no longer breaks anything. This shift now allows us to deliver fully native, administrable sites.
How to create a metaobject step-by-step
Creation is code-free, in the same place as metafields:
- Open Settings, then Custom data. At the bottom of the screen, the Metaobjects section lists your models.
- Add a definition and name your model (e.g., "FAQ Question" or "Partner Spa").
- Compose the list of fields using the same types as metafields: text, rich text, image, date, reference, true/false. This is the skeleton of your database.
- Create your entries: each entry is a line of data filled according to the model (a question, a spa, a team member).
- Display entries in the theme, via a dynamic source in the editor for simple cases, or via a dedicated Liquid section for lists and generated pages.
For models intended to have their own page (a spa, an author, a store), Shopify allows automatic generation of a page per entry from a dedicated template, just like for products.
Real-world case: Cabania's centralized FAQ
Before metaobjects, an FAQ was often built into the theme (with the risk of losing everything in an update) or directly into the HTML code of a page, with no possibility of reuse. For Cabania, our brand of cabin beds, we grouped all the store's questions into a single "FAQ Question" metaobject model.
The decisive advantage: the same question can be assigned to multiple pages without any copy-pasting. The question about delivery times appears on the product page, the delivery page, and the general FAQ, but it only exists once. You correct it in one place, and it updates everywhere. This is what we've been deploying on Cabania and most of our projects for three to four years, and it's also an ideal foundation for structured data markup.
Real-world case: A store locator without an app
Historically, a store locator relied on an application that managed a CSV import of stores, with data stored on the app's server. Today, we simply create a "Store Location" metaobject model and a dedicated page template, and we manage everything from the admin.
This is exactly what we implemented for Swiss Line and its Golden Circle network of partner spas: each spa is a metaobject entry, with its contact details and location, and the site displays the list and locations without any third-party application. The result for the brand: all data centralized in the store, one less app subscription, and updates as simple as adding a line to a spreadsheet.
Metaobject or third-party app?
The question now arises for almost every content application. Our decision matrix:
- Structured content specific to your brand (FAQ, store locations, team members, ingredients, testimonials): almost always a metaobject. The data stays with you, and recurring costs disappear.
- Complex business functionality (payment, logistics, loyalty, verified reviews): specialized application, because the value is in the service, not just in storage.
- The simple test: if you're only paying for an app to enter and display data, a metaobject does the job for zero dollars a month.
This logic guides each of our Shopify creations and redesigns: fewer apps, more native features, a faster and cheaper site to maintain.
Best practices and naming conventions
A poorly designed metaobject quickly becomes unmanageable. Our agency rules, refined project after project:
- One model per business concept, never a catch-all model: an FAQ, a store location, and a testimonial are three distinct models.
- Clear naming convention: explicit model and field names, in French, consistent from one project to another, so the client can navigate it alone.
- The right field type from the start: a reference rather than text when one metaobject needs to call another, which avoids duplicates.
- Document usage: note which page displays which model, so that future redesigns remain simple.
The only real limitation: like metafields, a metaobject doesn't display itself; it needs to be connected within the theme. This is precisely the architectural work we undertake on each project, to deliver a store that you can then administer independently. To delve deeper, our ultimate Shopify guide places metaobjects within the broader platform.