ezomfy
All posts
June 25, 20266 min read

Metaobjects or metafields: the choice that costs you later

Get this wrong and you copy the same designer bio into forty products by hand. One question decides it, and there is an SEO benefit most merchants never hear about.

A

Ashraful

Shopify Select Partner

Detailed view of code and file structure in a software development environment. — Photo by Daniil Komov on Pexels

Short answer: a metafield adds information to something that already exists, such as care instructions on a product. A metaobject creates a new kind of record that several products can point at, such as a designer or a size chart. One question decides it: would you ever type the same value twice? If yes, it is a metaobject. Get it wrong and you end up copying the same designer biography into forty products by hand.

This is a technical decision that turns into a business problem about eighteen months later, which is why it is worth understanding even if you never touch the admin yourself.

The short version: metafields add a field to something that already exists. Metaobjects create a new kind of thing. Choose wrong and you end up copying the same information into forty products by hand, or paying someone to restructure your catalogue after you have already built around it.

Here is how to tell which one you need, and what to ask if a developer proposes one.

What is the difference between a metaobject and a metafield?

A metafield attaches extra information to an existing record. Your product already exists in Shopify; a metafield adds "care instructions" or "fabric composition" or "warranty length" to it.

A metaobject creates a new record type Shopify does not ship with. A designer. A size chart. A store location. A material. Something that exists on its own and that several products can point at.

The distinction that matters: a metafield's value belongs to that one product. A metaobject exists independently and can be referenced by many.

The question that decides it

Ask this: is this information about one product, or is it a thing in its own right that several products share?

If it belongs to exactly one product and nothing else will ever need it, use a metafield. Care instructions specific to one item. That product's assembly time.

If several products share it, and you would be typing the same thing more than once, use a metaobject.

Say you sell furniture from twelve designers. Each product page should show the designer's name, photo, and biography.

With metafields, that biography is copied into every product by that designer. Forty products means forty copies. When the designer updates their bio, you edit it forty times, and you will miss some.

With a metaobject, the designer exists once. Products reference it. Update the bio in one place and every product page changes.

The test is simple: would you ever type the same value twice? If yes, it is a metaobject.

Where does it go wrong?

Almost always the same way, and it is a natural mistake.

Someone starts small. Three products, one designer, a couple of text metafields on the product. It works. The catalogue grows. Now there are twelve designers and 200 products, the same biographies are duplicated across dozens of records, and half of them are out of date because a bio was updated in some places and not others.

Fixing it later means creating the metaobjects, migrating the data, updating every template that reads the old fields, and reconciling the copies that had drifted apart. That is a real project. Done at the start it is an afternoon.

The reverse mistake is rarer but real: building elaborate metaobject structures for information that only ever belongs to one product. That is extra complexity for no benefit, and it makes your admin harder to use for whoever is actually entering the data.

Cases where the answer is clear

Metafield:

  • One-off specifications for a single product
  • A flag or setting that applies to just this item
  • Anything you would never repeat elsewhere

Metaobject:

  • Designers, brands, or makers with several products each
  • Size charts shared across a category
  • Materials or ingredients used in multiple products
  • Physical store locations
  • Certifications, awards, or badges appearing on several products
  • Reusable content blocks: an FAQ set, a shipping notice, a care guide

A reference metafield, which is both: the product carries a metafield whose value points at a metaobject. This is the normal pattern for the designer example. The product has a "designer" field; the value is a reference to the designer metaobject.

The advantages people forget

Two things beyond avoiding duplication.

Metaobjects can have their own pages. Shopify can generate a page per metaobject entry, so your twelve designers become twelve real, indexable URLs. That is twelve pages of content that can rank, built from data you were entering anyway. Metafields cannot do this; they only appear on the product page they belong to.

Structured data comes out cleaner. When your product's brand, material, or size guide is a proper referenced entity rather than a text string copied around, generating accurate schema markup for Google is straightforward. Google can read it, AI search engines can cite it, and it stays consistent because there is one source.

What should you ask before building?

If a developer is proposing either, three questions will tell you whether they have thought it through.

"Will this value ever appear on more than one product?" If yes and they are proposing a metafield, ask why.

"What happens when I need to change it?" The answer should be "edit it in one place." If the answer involves editing several products, you are being sold future work.

"Can this have its own page?" If the information deserves to be findable in search, that changes the answer.

And one for yourself: who is going to maintain this? A structure that is elegant to a developer and confusing to whoever actually enters your products is the wrong structure. If your team will be using it daily, they should see it before it is finalised.

The rule of thumb

Start with metafields for anything genuinely product-specific. Use metaobjects the moment you notice you would be typing the same value twice.

If you are unsure, ask whether the thing has a name. A designer has a name. A store location has a name. "Care instructions for this specific jumper" does not. Things with names are usually metaobjects.

Getting it right at the start costs nothing. Getting it wrong costs a migration.


We build custom Shopify data structures as part of theme and store builds, and we do it before the catalogue is loaded rather than after, because that is when it is cheap. Every build includes full source code handover, so a future developer can read what was done and why.

Not sure whether your catalogue is structured for where you are heading? Book a free 30 minute call and we will look at it. Or see what we build. Related: sections and blocks, and what to specify before a build and collection pagination done correctly.

Frequently asked questions

What is the difference between a metafield and a metaobject in Shopify?

A metafield's value belongs to one record. A metaobject exists independently and can be referenced by many. Care instructions specific to one product are a metafield. A designer with forty products is a metaobject.

How do I decide which to use?

Ask whether you would ever type the same value twice. If yes, metaobject. A second test: does the thing have a name? A designer has a name, a store location has a name. Care instructions for one jumper does not. Things with names are usually metaobjects.

Can metaobjects have their own pages?

Yes, and it is the advantage people miss. Shopify can generate a page per metaobject entry, so twelve designers become twelve indexable URLs built from data you were entering anyway. Metafields cannot do this; they only appear on the product they belong to.

What does it cost to fix this later?

Creating the metaobjects, migrating the data, updating every template reading the old fields, and reconciling copies that drifted apart. That is a real project. Done at the start it is an afternoon.

Can a product reference a metaobject?

Yes, through a reference metafield, and that is the normal pattern. The product carries a designer field whose value points at the designer metaobject. Update the bio once and every product page changes.

A

About the author

Ashraful

Shopify Select Partner, Top Rated Plus on Upwork. 700+ Shopify projects shipped over 7+ years: themes, apps, migrations, speed, Hydrogen. Solo shop, no agency middlemen.

Read the full story

Working on a Shopify project?

That's what I do every day. Pick whichever feels lower-friction.