Metafields vs Metaobjects: A Practical Guide
Alexander Mercer
Sep 2, 2026
Shopify has two ways to store custom data, and teams pick the wrong one regularly enough that it is worth writing down the distinction.
The one-line version: a metafield attaches data to something that already exists. A metaobject creates something that does not exist in Shopify's model at all.
Get it right and your custom content is queryable, reusable and editable by non-developers. Get it wrong and you end up maintaining the same information in fourteen places.
Metafields: extra fields on existing things
A metafield hangs off a resource Shopify already knows about — a product, a variant, a collection, a customer, an order, or the shop itself. It adds a field that Shopify's own model does not have.
A product has a title, a price and a description. It does not have a care instruction, a fabric composition, or a fit note. Those are metafields on the product.
The key property is ownership. The metafield belongs to that product. Delete the product and the metafield goes with it, which is correct — a care instruction for a product that no longer exists is not information, it is debris.
Metaobjects: things Shopify does not have
A metaobject is a custom content type you define yourself. Not a field on something — a thing in its own right, with its own fields, existing independently of any product.
Say you sell furniture and every product page shows the designer. A designer has a name, a biography, a photograph and a country. Twelve products share the same designer.
As metafields, that biography is copied onto twelve products. Update it and you update it twelve times, or you update it once and now eleven products disagree. As a metaobject, the designer exists once, and each product references it. One edit, twelve pages updated.
The test that decides it
Ask whether the data has an existence of its own.
Does it make sense on its own, without the product? A designer does. A size chart does. A shipping zone does. A care instruction for one specific jumper does not — it means nothing detached from the jumper.
Is it shared by more than one thing? If two products can point at the same piece of content, it wants to be a metaobject. If it is unique to each product, a metafield is correct.
Would you ever want a page for it? If a designer, an ingredient or a size guide could plausibly have its own URL, that is a strong signal it is an entity — and metaobjects can have pages.
Where teams get it wrong
Duplicating shared content across products
The most common mistake. A brand story, a size chart, a materials guide pasted into a metafield on every product. It works until the content changes.
Building a metaobject for genuinely unique data
The opposite error. A metaobject holding a single value used by one product adds indirection for nothing. Not everything needs to be an entity.
Skipping the definition
Both support definitions that set the type and validation. Without one you get untyped strings, no validation, and nothing usable in the admin UI. Note that recent platform changes have tightened this — metafields now require a definition to be accessed through the Customer Account API, and invalid metafield queries return errors rather than empty results.
Forgetting storefront access
Data is not automatically readable from the storefront. If your theme needs it, that has to be configured. It is a routine cause of "the data is in the admin but the page shows nothing".
Using either as a database
Neither is built for high-volume transactional records. Order histories, event logs and per-visitor state belong in an application database.
“If two products could point at the same content, it wants to be a metaobject. If it only means something attached to one thing, it is a metafield.”
HelloDevs
Why this matters more than it used to
Online Store 2.0 changed what a theme can do with this data. Sections, app blocks and dynamic sources mean a merchant can bind theme content directly to metafields and metaobjects in the theme editor, without a developer.
That is the payoff for modelling it properly. Structured correctly, custom content becomes something the merchandising team edits themselves. Structured badly, every change is a ticket.
It also matters for apps. An app storing its configuration in a shop metafield gets it delivered to the storefront by Shopify, in the page, with no API call. An app defining metaobjects gives the merchant structured data that belongs to them and survives the app being uninstalled.
A worked example
A skincare brand needs ingredient information on product pages. Each product lists its ingredients; each ingredient has a name, a description, a source and a benefit. Ingredients repeat across products.
Wrong: a long-text metafield on each product containing all the ingredient copy. It works on day one. Six months later the description of one ingredient needs correcting across forty products, and nobody knows which forty.
Right: an Ingredient metaobject with those four fields. A list-of-references metafield on the product pointing at the ingredients it contains. Now the correction happens once, ingredients can have their own pages, and the merchandising team can add a new one without touching a product.
Same content. One is a maintenance liability and the other is a content model.
Getting this shape right early is most of what makes a Shopify build maintainable — it is a core part of our Shopify theme development and web development work.
Where to start
List the custom data on your store. For each item, ask the three questions: does it exist on its own, is it shared, would it ever want a page.
Anything that answers yes to any of them is probably a metaobject sitting in a metafield, and it will keep costing you until it moves.
Migrating is easier before the content grows, and much easier before a theme has been built against the wrong shape.
If you are not sure how your store's data is modelled, our free audit covers it — send us your store URL.
Alexander Mercer
Senior Tech Writer at HelloDevs
Alexander covers software engineering culture, design systems, and frontend developer experience. When not writing, you can find him debugging React or exploring typography design.
Stay Updated
Get raw, honest dev-first tutorials and tech blog articles delivered straight to your inbox once a week.
Our guide
- A Shopify development agency builds and maintains the parts of a store Shopify does not give you out of the box. That means custom themes, apps, integrations with your other systems, and ongoing fixes. HelloDevs does all of this and also publishes its own Shopify apps.
- Yes. We work with merchants across North America, Europe, and Asia. Our process is async-first with scheduled overlap hours, so time zones have never been a blocker for a project.
- It depends on scope. Theme customisations typically start in the low four figures; custom apps and full builds range higher. After a free audit we give you a fixed quote — no hourly surprises.
- Absolutely. Private (custom) apps are a large part of our work — from small workflow automations to full ERP integrations that only your store uses.
- Every project ships with a support window, and most clients stay on a maintenance retainer: monitoring, Shopify update compatibility, and a direct line to the same developers who built it.
- Continuity and coverage. An agency gives you review processes, backup when someone is unavailable, and accumulated platform experience across many stores — with one point of accountability.
Didn't Got your answer?
If you still have questions or need further assistance, feel free to reach out to our team. We're here to help you every step of the way.
Our talk
Let's Connect!
Tell us your requirements and get a professional developer response.



