Shopify Metaobjects: Structuring Custom Content Without Apps
Shopify metaobjects let you define and structure custom content types directly in the Shopify admin — no third-party app required. Team members, size guides, ingredient lists, FAQs — all of it can live as structured, reusable data. Metaobjects closed a long-standing gap in Shopify's content model, giving merchants a way to build records that themes can pull into any section, on any page.
Shopify metaobjects let you define and structure custom content types directly in the Shopify admin — no third-party app required. Team members, size guides, ingredient lists, FAQs — all of it can live as structured, reusable data. Metaobjects closed a long-standing gap in Shopify's content model, giving merchants a way to build records that themes can pull into any section, on any page.
If you've ever hard-coded a size chart into a Liquid template, or paid a monthly fee for a "custom fields" app, metaobjects probably replace that workflow for free. This guide covers what metaobjects are, how they differ from metafields, how to define one in the admin, and how to reference it in Liquid — plus where DTC brands actually use them in production.
Mumbai-based DTC brands scaling past their first 100 SKUs run into this problem constantly: content that should be a five-minute edit instead needs a developer and a deploy. If your theme already needs this kind of structuring work, our custom Shopify theme development team builds metaobject-driven sections as standard practice.
What Are Shopify Metaobjects?
A metaobject is a custom content type with its own set of fields, stored natively in Shopify and independent of any product, page, or order. Think of it as a mini content model: define "Team Member" once with fields for name, photo, role, and bio. Then create as many team member entries as you need, each reusable across the storefront.
Before metaobjects, storing structured content that wasn't tied to a product meant one of three workarounds: abuse page templates, hard-code data into Liquid, or pay for a custom-fields or page-builder app. Metaobjects moved that capability into Shopify's core data model, so the content survives theme changes and doesn't depend on a third-party app staying in business.
Each metaobject definition lives under Settings > Custom data > Metaobjects in the admin. Once defined, editors fill in entries through a normal admin form. No code needed for content entry — only for wiring the definition into the theme the first time.
This matters more than it sounds. Most stores under 50 products get by fine with hard-coded content. Past that, every size chart update or new FAQ becomes a support ticket to a developer — and that ticket queue is exactly what metaobjects eliminate.
Metaobjects vs Metafields: What's the Difference?
Metafields extend an existing resource — a product, collection, page, or variant — with extra fields. Metaobjects create an entirely new, standalone content type. A product metafield might store a "care instructions" text block on that one product. A metaobject stores something that doesn't belong to any single product — a store locator entry, a brand value, a size chart shared across 40 products.
The two work together constantly. A common pattern is a product metafield of type "metaobject reference" that points to a shared metaobject entry. Every product in a women's tops category can reference the same "Size Chart — Women's Tops" metaobject instead of duplicating the same measurement table 40 times over.
| Aspect | Metafields | Metaobjects |
|---|---|---|
| Attaches to | An existing resource (product, page, collection, variant, order) | Nothing — it's its own standalone entity |
| Best for | Extra data on one specific record | Reusable, structured content shared across the store |
| Example | A product's "fabric weight" field | A "Store Location" entry with address, hours, map link |
| Can reference other data? | Yes, including metaobjects | Yes, including products, other metaobjects, and files |
| Where entries are made | On the resource's own admin page | A dedicated admin section under Custom data |
A useful rule of thumb: if the content belongs to one thing, use a metafield; if the content is a thing on its own, use a metaobject. Ingredient lists that apply to a single product are metafields; an "Ingredient" entity with a name, function, and sourcing note that's referenced by dozens of products is a metaobject.
Step 1 — Define a Metaobject in Shopify Admin
Go to Settings > Custom data > Metaobjects and click Add definition. Give it a name (for example, "Size Guide"), which Shopify converts into a machine-readable type handle used in Liquid.
Add fields one at a time, choosing a type for each: single-line text, rich text, number, file for images, URL, or a reference to another metaobject or product. A size guide definition might include fields for "Chart Title" (text), "Measurement Table" (rich text or JSON), and "Fit Notes" (text).
Save the definition, then click Add entry to create your first actual record. Editors without any coding background can add, edit, or delete entries here going forward — this is where the "without apps" value shows up day to day.
Step 2 — Reference Metaobjects in Liquid
Once entries exist, pull them into a theme section using Liquid's metaobject objects. Fetch a single entry with shop.metaobjects[type][handle], or loop through all entries of a type with shop.metaobjects[type].values.
Fields on the entry are accessed the same way you'd read a metafield, through .value or the field's system type. Rich text fields need the metafield_tag or equivalent rich-text rendering filter to output formatted HTML instead of raw JSON.
For product-linked metaobjects, like a size chart tied to a category, the product's own metafield holds a reference. The theme resolves it with product.metafields.custom.size_guide.value, which returns the connected metaobject entry directly. This is the pattern that lets one size chart definition serve every product in a collection without duplicating markup.
Step 3 — Build the Theme Section Around the Data
Design the section as a template that loops or conditionally renders based on whatever metaobject entries exist, rather than hard-coding content into the section file. A "Team" section, for instance, should loop through every entry of type "team_member" and render a card for each. Adding a new hire then becomes a content edit, not a code change.
Add the metaobject reference as a theme setting where it makes sense. Merchants can then pick which size guide or FAQ set applies to a given page from the theme customizer, without touching Liquid. This keeps content control with the merchant and cuts down on support requests back to your developer.
Test with at least three entries of varying length — a short bio versus a long one, a two-row size chart versus a ten-row one. This confirms the section's spacing and layout hold up under real content, not just the tidy example you built it against.
Step 4 — Publish and Maintain
Metaobject definitions and entries publish independently of theme deploys. Content teams can add a new FAQ or store location without a developer touching code or pushing a release. This separation is one of the biggest operational wins over the old "hard-code it into Liquid" approach.
Revisit field types periodically. Shopify has expanded metaobject field types since launch, including better file and reference handling. A definition built two years ago may benefit from a field-type upgrade — moving a plain-text measurement table to a proper list field, for example.
Real DTC Use Cases for Metaobjects
Size charts are the most common starting point. Apparel and footwear brands define one "Size Chart" metaobject per fit category and reference it from every relevant product. Updating a single measurement then fixes it storewide, instantly, instead of editing 40 product descriptions one by one. This alone often justifies the migration for a growing apparel catalogue.
Ingredient and formulation breakdowns work the same way for beauty and food brands. Each ingredient becomes its own metaobject entry with a name, function, and sourcing note, and products reference the ones they contain. Shoppers get a consistent, filterable ingredient page instead of a paragraph repeated with small variations across the catalogue — the same content-first thinking behind our headless Shopify guide for skincare and beauty brands building out product storytelling.
Store locators and stockist directories are a natural fit, since each location is a standalone record with an address, hours, and map link, unrelated to any single product. A locator section loops through every "Store Location" entry and plots it. New locations get added as a content task, not a deploy — useful for a Mumbai brand adding its fifth or sixth retail partner mid-quarter.
Testimonials and team pages follow the identical pattern: a "Testimonial" or "Team Member" metaobject type, one entry per person, referenced or looped into whichever page needs them. Brands that used to pay for a testimonials app subscription just to manage a rotating list of quotes can often retire it entirely.
FAQ sections benefit particularly on product and collection pages. A shared "FAQ" metaobject type lets support and marketing teams add or reorder questions without a code change. The same entries can then be reused across multiple product pages that share a common question set, keeping answers consistent instead of drifting apart over time.
When You Still Need an App or Custom Build
Metaobjects handle structured content, not workflow logic. They won't run a quiz, calculate a personalised recommendation, or process a form submission on their own. For that kind of interactivity, you're still looking at custom JavaScript or an app, though the metaobject can supply the underlying data the app or script reads from.
Very large, relational datasets are the other edge case — think a marketplace-style catalogue with thousands of cross-referenced records. That volume can strain what the Liquid layer comfortably renders at request time. A headless Shopify build querying the Storefront API directly is often a better fit past that scale. For most single-brand DTC stores, though, native metaobjects handle the content volume without performance concerns.
Need a theme built around structured content from day one instead of retrofitted later?
See our custom Shopify theme development servicesMigrating an Existing Theme to Metaobjects
If your store already has size charts or FAQs hard-coded into Liquid templates, migration is a content-modelling exercise before it's a coding one. Define the metaobject structure first, then rebuild the section to read from it. Budget time to audit every place the old hard-coded content appears — duplicated data tends to drift out of sync across pages over time.
Run the migration in parallel with your existing sections rather than replacing them outright. Build the new metaobject-driven section, populate a handful of entries, and compare rendered output side by side before cutting over the whole catalogue. This catches field-mapping mistakes while the blast radius is still small — a two-week buffer is usually enough for a catalogue of a few hundred SKUs.
Agencies doing this work regularly fold it into broader Shopify theme customization engagements. The section rebuild and the content migration are easier to scope and price together than as two separate projects.
Have a Liquid theme full of hard-coded content that should be editor-managed?
Get started with a free consultationFrequently Asked Questions
Do Shopify metaobjects cost extra?
No, metaobjects are a native Shopify feature included on standard plans, with no separate app subscription required. The only cost is developer time to define the structure and build the Liquid sections that render it.
Can metaobjects replace all my custom-fields apps?
In most cases, yes, for structured content storage — size guides, FAQs, testimonials, and similar entities. Apps that add workflow logic, quizzes, or complex calculations still serve a purpose that metaobjects alone don't cover.
Do metaobjects work with any Shopify theme?
Metaobjects work with any theme built on Online Store 2.0, which covers all current Shopify themes. Older, pre-2.0 themes need an upgrade before metaobject references can be added to sections.
How many metaobject entries can a store have?
Shopify enforces generous limits on metaobject definitions and entries that comfortably cover typical DTC catalogue needs — most stores never come close to the ceiling. Extremely high-volume, relational use cases are the main scenario where a headless approach becomes worth evaluating instead.
Can customers see metaobject data directly, or does a developer have to build the display?
Metaobject data only appears on the storefront once a developer references it inside a Liquid section or template. Creating the entry alone doesn't display anything on its own. This one-time build cost is what makes every future content edit free of developer involvement.