Shopify Metafields and Metaobjects Explained: Structuring Product Data the Right Way
Most Shopify stores start with the same data habit: everything that doesn't fit into the title, description or price gets stuffed into tags or typed straight into the product description. It works for 50 products. By 500, you have size charts pasted into descriptions, "material_cotton" and "Material: Cotton" tags living side by side, and a theme that can't show any of it consistently. Shopify metafields and metaobjects exist to fix exactly this, and setting them up properly is one of the cheapest structural improvements you can make to a store.
This guide explains what each one is, how they connect to your theme and filters, how to plan a data model before you start typing, and how to migrate away from messy tags without breaking anything.
What Shopify Metafields Actually Are
A metafield is an extra field attached to something in your store. Shopify gives you a fixed set of fields for a product (title, description, price, SKU, weight, vendor and so on). A metafield adds your own: "fabric composition", "care instructions", "burn time", "country of origin".
Metafields can be attached to more than products. At the time of writing you can add them to variants, collections, customers, orders, pages and the shop itself, among others. Variant metafields help when details differ per size or color.
Definitions matter more than values
The important concept is the metafield definition. A definition tells Shopify the field's name, where it lives (for example custom.care_instructions) and, crucially, its type. You create definitions under Settings, then Custom data, in the admin.
Once a definition exists, the field shows up as a proper input on every product edit page, with validation. That is the difference between structured data and free text. Common types include:
- Single line and multi-line text for short labels and longer notes
- Rich text for formatted content like care guides
- Integer and decimal for numbers such as burn time or wattage
- Dimension, weight and volume for measured values with units
- True or false for yes/no attributes like "vegan" or "gift eligible"
- File for PDFs, spec sheets and images
- Product, collection and page references for linking items together
- Metaobject references for pointing to reusable structured entries (more on these below)
- Lists of most of the above, when a product can have several values
You can add validation rules, such as a minimum and maximum number, a character limit, or a fixed list of allowed choices. Choice lists stop one person typing "Grey" while another types "Gray".
What Metaobjects Add on Top
Metafields store values on a single item. Metaobjects let you define a reusable content type with its own fields, create entries of that type, and then point to those entries from many products.
A simple example: a skincare brand has 40 ingredients used across 120 products. Without metaobjects, every product repeats "Niacinamide: a form of vitamin B3 that..." in its description. With a metaobject called "Ingredient" (fields: name, description, image, benefits), you create each ingredient once. Each product then gets a metafield that is a list of ingredient references. Update the niacinamide description once and it changes on all 30 products that use it.
Good candidates for metaobjects:
- Size charts, one entry per chart, referenced by every product that uses it
- Ingredients or materials, with descriptions, images and certifications
- Designers, artists or makers, with bios and photos
- Care guides shared across a fabric type
- Compatibility data, such as device models a case fits
- Store features like warranty tiers or delivery promises
Metaobjects can also power their own storefront pages if you enable that option, so each designer or ingredient can have a page with its own URL. That is useful for SEO-friendly glossary or "meet the maker" pages without building a separate blog structure.
The rule of thumb
If a value is unique to one product, use a plain metafield. If the same chunk of structured information repeats across many products, make it a metaobject and reference it.
Showing Metafields in Your Theme With Dynamic Sources
On any Online Store 2.0 theme (Dawn and most modern paid themes), you can connect metafields to theme blocks without editing code. In the theme editor, many text, image and collapsible tab settings show a small "connect dynamic source" icon. Click it, pick your metafield, and the block now displays that product's value.
This is how you get a "Care instructions" accordion that shows different content on every product page from a single template. A few practical points:
- Empty values: most themes hide a block when its connected metafield is empty, but not all. Check a product with no value before assuming it looks fine.
- Type compatibility: a text block can only connect to text-compatible metafields. A rich text metafield won't appear as an option for an image setting, for example.
- Metaobject references usually need a small amount of Liquid or a theme section built to loop over the entries. A size chart table or an ingredient grid is typically a custom section, which is a few hours of developer time rather than days.
- Storefront access: metafields used by headless storefronts or certain apps need storefront access enabled on the definition. Check this setting if a value shows in the admin but not where you expect it.
Filtering on Metafields
The other big payoff is filtering. Shopify's free Search & Discovery app lets you add storefront filters on collection and search pages, and product and variant metafields are among the supported filter sources. So "Material", "Heel height" or "Suitable for dogs over 20kg" can become real filters instead of tag hacks.
Some limits to be aware of (check Shopify's help docs for the current list, as it has expanded over time):
- Only certain metafield types can be used as filters. Single line text, numbers, true/false and metaobject references are commonly supported, but not every type is.
- There is a cap on how many filters you can show at once, so prioritize the ones shoppers actually use.
- Filter labels come from the values, which is another reason to use choice lists. Inconsistent spelling creates duplicate filter options.
Metaobject-reference filters are worth a special mention. If "Color" is a metaobject with a name and a swatch image, your filter can show clean swatches rather than a list of text values.
Planning a Metafield Data Model Before You Build
The most common mistake is creating definitions ad hoc. Six months later, three fields mean roughly the same thing. A short planning session up front saves cleanup money.
Step 1: List what shoppers need to decide
Go through your product pages, support tickets and returns reasons. What questions do customers ask before buying? Those answers are your candidate fields. For a furniture store it might be dimensions, assembly required, weight capacity, material and lead time.
Step 2: Decide where each field lives
For each attribute, decide: product or variant? Plain metafield or metaobject reference? Single value or list? Write this down in a spreadsheet with columns for name, namespace and key, type, validation, owner (product or variant), and where it shows on the site.
Step 3: Check Shopify's category metafields first
Shopify's standard product taxonomy assigns a product category, and categories come with suggested attributes (often called category metafields) such as color, size or fabric. At the time of writing these are backed by Shopify-managed metaobjects. Using them where they fit can help with Shopify's own features and channels, so check whether a standard attribute already covers your need before inventing a custom one.
Step 4: Name things for the long term
Keep keys lowercase, descriptive and stable, like custom.burn_time_hours. The display name can change later, but the key is what your theme and any integrations reference. Renaming keys after launch means updating code.
Step 5: Decide who fills it in
Every field needs an owner. If your supplier feed or ERP holds the data, plan for it to be imported or synced rather than typed by hand. If you already sync with other systems, our Shopify integrations work often includes mapping those fields straight into metafields.
Migrating Messy Tags and Descriptions Into Metafields
Most stores aren't starting fresh. Here is the workflow we use to move existing data into structure without breaking the storefront.
- Audit the tags. Export products and pull every unique tag into a sheet. Group them into attributes (material, occasion, season, etc.) and mark the junk.
- Create definitions for the attributes you keep, with choice lists matching your cleaned values.
- Map old values to new. In the sheet, map "cotton", "Cotton", "100% cotton" and "material_cotton" all to "Cotton".
- Bulk import. For small catalogs, Shopify's bulk editor lets you show metafield columns and paste values. For larger catalogs, the product CSV import supports metafield columns at the time of writing, and widely used import apps like Matrixify handle metafields and metaobjects at scale. For 5,000+ products, a script using the Admin API is often the most reliable route.
- Switch the theme over. Point filters and blocks at the new metafields.
- Check automated collections. This is the step people forget. Automated collections that use tag conditions will break if you remove tags. Shopify does support some metafield conditions in automated collections, but check whether your field type is eligible before relying on it.
- Only then remove old tags, and keep tags that apps still depend on (some review, search and marketing apps read tags).
Pulling specs out of descriptions
Extracting specs from free-text descriptions is harder because the data isn't consistent. A developer can usually parse predictable patterns ("Dimensions: 40 x 60 cm") with a script. For truly messy text, an AI extraction step with human spot checks works well, but budget time for review. Wrong data on a product page costs more than missing data.
Realistic Costs and Timelines
For store owners planning a budget, these are typical ranges from our projects:
- Small store (under 300 products), 5 to 10 fields, theme blocks only: a few days of work, often done in-house with guidance.
- Mid-size store (300 to 3,000 products) with metaobjects, custom sections and a tag cleanup: commonly 1 to 3 weeks, roughly $1,500 to $6,000 with an agency, depending on how messy the source data is.
- Large catalog with ERP or PIM sync, filters and several custom templates: 4 to 8 weeks, with costs driven mainly by integration and data cleaning rather than Shopify setup.
The Shopify side (definitions and theme connections) is usually the quick part. Cleaning and mapping existing data is where most of the time goes. If you'd like help scoping it, our Shopify development team handles data models alongside theme work, and more complex product logic sits with our custom Shopify features work.
Common Mistakes to Avoid
- Using untyped text for everything. A number stored as text can't be filtered as a range.
- Near-duplicate fields. Review definitions quarterly and merge overlaps.
- Hard-coding values in Liquid. "Made in Portugal" typed into a template isn't data.
- Ignoring variants. If measurements differ by size, product-level fields mislead shoppers.
FAQ
Do I need a developer to use metafields?
Not for the basics. You can create definitions, fill values and connect them to theme blocks yourself on an Online Store 2.0 theme. You'll usually want a developer for metaobject displays like size chart tables, bulk migrations, and anything involving integrations.
Will metafields slow down my store?
Not in any way shoppers would notice when used normally. They load as part of the page data Shopify already renders. Performance issues come from heavy apps and scripts, not from a sensible number of metafields.
Can I use metafields on a basic Shopify plan?
Yes. Metafield definitions, metaobjects and dynamic sources are available on standard plans at the time of writing. Some limits, such as the number of definitions or entries, can vary, so check Shopify's current documentation if you're planning a very large model.
Should I delete my tags after moving to metafields?
Not immediately. Check automated collections, apps and marketing segments that read tags first. Many stores keep a small, clean set of tags for internal workflows and move shopper-facing attributes to metafields.
If you want a second opinion on your product data structure before you start, book a free 1-hour strategy call through our contact page.
Need help with your website?
Get a free 1-hour strategy call with our team. Clear plan, fixed quote, no obligation.
Get in touch
