Shopify Metaobjects: What They Are and How to Use Them to Enrich Your Store

Niko MoustoukasUpdated

Quick summary

Shopify metaobjects let you create custom structured content types (such as team members, press mentions, or ingredients) and reference them from product pages or custom sections. They are defined in Settings > Custom data, populated via the admin, and displayed in themes using Liquid metaobject references or the Online Store 2.0 section editor. Most merchants use metaobjects for press logos, ingredient databases, and staff profiles.

Your Shopify store holds a lot more information than products and collections. You have a team of people you want to showcase. Your products contain ingredients or materials you want to display in a structured way. You run physical locations customers want to find. You have a size guide that needs to appear on dozens of product pages.

Without metaobjects, merchants typically end up hacking this data into product descriptions, creating one-off page sections, or relying on apps that add bloat for a simple job. The result is inconsistent data, hard-to-maintain content, and a store that does not scale well.

Metaobjects are Shopify's answer to this problem. Introduced in late 2022 and steadily improved since, they give you a way to define your own structured data types and connect them to anything in your store. This guide covers everything a Shopify merchant needs to know, from understanding what metaobjects actually are to rendering them in your storefront.

What exactly are metaobjects?

Metaobjects are custom data structures you define yourself inside Shopify. Think of them as mini databases you create for your specific needs. You define a "type" (called a definition), specify what fields each entry should have, then populate entries and connect them to products, collections, pages, or display them as standalone content.

The key difference between metaobjects and regular metafields: metafields attach extra data to existing Shopify resources (a product, a variant, a customer). Metaobjects are independent entities with their own structure that can then be referenced by metafields.

A quick example: you sell skincare products and want to display a full ingredients glossary. Each ingredient has a name, a description, what it does, and a safety rating. With metaobjects, you create an "Ingredient" definition with those four fields, add an entry for each ingredient, then reference those entries from the relevant product metafields. Update an ingredient once and the change flows everywhere that ingredient is referenced.

Without metaobjects, you would be copying and pasting ingredient descriptions into every product page manually.

What can you use metaobjects for?

The use cases are broader than most merchants realise. Here are the most practical ones.

Team members. Add a "Team Member" metaobject with fields for name, role, photo, bio, and LinkedIn URL. Display team cards on an About page without needing a custom app.

Ingredients or materials. As above, ideal for food, beauty, and supplement brands. Lets you maintain a single source of truth for ingredient data across hundreds of products.

FAQs. Create an "FAQ" metaobject with a question and answer field. Reference sets of FAQs from product pages, collection pages, or a standalone FAQ page. Updating one answer updates every place that FAQ appears.

Size guides. Create a "Size Guide" metaobject with measurement fields and a sizing chart. Connect the right size guide to each product via a metafield. Merchants who have done this report reducing size-related returns by 15 to 25 percent by ensuring the right guide always appears.

Store locators. A "Location" metaobject with address, opening hours, phone number, and map coordinates fields gives you a clean, maintainable data source for a store finder page.

Press mentions. Publication name, logo, date, quote, and URL. Display press coverage consistently across your site.

Certifications and accreditations. Badge name, description, issuing body, validity date. Useful for food, medical device, and sustainable product brands.

Recipe cards. For food brands, a structured recipe type with ingredients list, method steps, prep time, and nutritional info.

How to create a metaobject definition in Shopify admin

Log in to your Shopify admin and go to Settings, then Custom data, then Metaobjects. Click "Add definition."

Give your definition a name (for example, "Team Member") and a handle (Shopify auto-generates this from the name but you can customise it). The handle is what you will use in Liquid and when connecting to metafields, so make it clear and lowercase with hyphens.

Next, add fields. For each field you specify:

  • The field name (for example, "Job Title")
  • The field type: single-line text, multi-line text, rich text, integer, decimal, date, true/false, file (images, video), URL, colour, JSON, or a reference to another Shopify resource or another metaobject
  • Whether the field is required
  • Whether it should be translatable (relevant if you run a multilingual store)

One field type worth highlighting is the reference field. This lets you link a metaobject entry to a product, collection, page, media file, or even another metaobject. This is how you build relationships between data types.

Once you have defined your fields, save the definition. Shopify will now show this definition as a content type throughout your admin.

How to add metaobject entries

With a definition created, go back to Content in your Shopify admin (in some admin views this is under a separate "Metaobjects" section in the main nav, or under Content). Select your definition type and click "Add entry."

Fill in the fields you defined. For image fields, upload directly. For reference fields, search and select from existing Shopify resources.

Each entry gets a system-generated ID and a handle you can set manually. That handle becomes part of the URL if you display the metaobject as a standalone page (a feature called metaobject web presence, which you enable per definition).

For bulk data entry, Shopify does not currently offer a native bulk import for metaobject entries via the admin UI. If you need to create hundreds of entries, you will need to use the Admin API or a third-party import tool such as Matrixify (plans from £15 per month), which supports metaobject CSV import.

How to connect metaobjects to products via metafields

Creating entries is only useful if your data ends up somewhere customers can see it. The most common pattern is connecting a metaobject to a product via a product metafield.

Go to Settings, Custom data, Products. Add a new metafield definition. Set the type to "Metaobject" and select your definition from the dropdown. You can also choose whether the field holds a single entry or a list of entries (useful for ingredients or FAQs where one product might reference many).

Once the metafield definition exists, open any product and scroll to the metafields section at the bottom. You will see your new field. Click it to search and select the appropriate metaobject entry or entries.

Do this for every product that should reference that data, and the connection is live.

How to render metaobjects in Liquid

This is where non-developers start to feel uncomfortable, but the core pattern is not complex. Your theme's product template needs a snippet to output the connected metaobject data.

A basic example for displaying a connected team member on a product page:

{% assign team_member = product.metafields.custom.team_member.value %}
{% if team_member %}
  <div class="team-member">
    <img src="{{ team_member.photo | image_url: width: 200 }}" alt="{{ team_member.name }}">
    <h3>{{ team_member.name }}</h3>
    <p>{{ team_member.role }}</p>
    <p>{{ team_member.bio }}</p>
  </div>
{% endif %}

Replace custom with your metafield namespace and team_member with your metafield key. The .value at the end resolves the metaobject reference into the actual entry so you can access its fields directly.

For a list of entries (for example, multiple ingredients), you loop:

{% assign ingredients = product.metafields.custom.ingredients.value %}
{% for ingredient in ingredients %}
  <div class="ingredient">
    <strong>{{ ingredient.name }}</strong>
    <p>{{ ingredient.description }}</p>
  </div>
{% endfor %}

If you are not comfortable editing Liquid files, this is the point to bring in a developer. A competent Shopify developer should be able to add a metaobject display section to your product page in two to four hours.

No-code options via the theme editor

Shopify has made progress on no-code metaobject display. The Dawn theme and most modern themes built after 2023 support metaobject references in the theme editor for certain section types.

If your theme has a "Metaobject" section type, you can add it to pages directly in the theme editor and select which definition and entry to display, with no code changes needed.

You can also use the theme editor to create "metaobject-powered" pages if you enable web presence for your definition. This generates a template file (for example, metaobject.team-member.liquid) that your developer or a theme developer can style once and apply to all entries.

For straightforward display needs, the theme editor route is worth exploring before commissioning any code work.

When can you do this yourself and when do you need a developer?

You can DIY:

  • Creating metaobject definitions in admin
  • Adding and editing entries
  • Connecting metaobject entries to products via metafields in the product admin
  • Using theme editor sections that already support metaobject display
  • Basic no-code display if your theme has built-in metaobject section support

You need a developer:

  • Writing custom Liquid to render metaobject data in specific locations on product, collection, or page templates
  • Building a store locator or filtered directory using metaobject data
  • Creating custom metaobject-powered page templates
  • Bulk importing hundreds of entries via the API
  • Building metaobject-driven filtering or search functionality
  • Integrating metaobject data with third-party systems

A typical metaobject display project (defining the structure, adding entries, and rendering them in one or two locations on a product page) costs between £300 and £800 with a Shopify developer, depending on complexity.

Key actions to take now

  1. Identify one type of structured data your store currently manages inconsistently — ingredients, team members, FAQs, size guides — and create a metaobject definition for it.
  2. Add five to ten test entries to confirm the fields capture everything you need before committing to data entry at scale.
  3. Check whether your theme has a built-in metaobject section type in the theme editor before assuming you need a developer.
  4. Connect the metaobject entries to relevant products via a product metafield definition in Settings, Custom data.
  5. If your theme does not support no-code display, get a quote from a Shopify developer to add a Liquid snippet for your specific use case — it is usually a small, contained piece of work.
  6. For bulk data entry, evaluate Matrixify if you have more than 50 entries to import.

Frequently Asked Questions

Are metaobjects available on all Shopify plans?

Yes, metaobjects are available on all Shopify plans including Basic. There is no plan restriction. The only limitation is that some advanced API-level capabilities (such as high-volume metaobject queries via the Storefront API for headless builds) may be relevant mainly to higher-tier or Plus merchants.

Can I display metaobjects as standalone pages?

Yes. When you create a metaobject definition, you can enable "web presence," which tells Shopify to generate a URL for each entry (for example, /pages/team/gavin-rogers). You then need a Liquid template file for that definition type to control how those pages look. This is ideal for team profiles, press pages, or location directories.

How many metaobject definitions and entries can I have?

Shopify allows up to 20 metaobject definitions per store and up to 10,000 entries per definition. For most merchants, these limits are not a constraint. Very large catalogues or directory-style use cases may need to plan around them.

Is there a way to import metaobject entries without using the API?

Yes. Matrixify (from £15 per month) supports CSV-based import and export of metaobject entries, making it practical for merchants without developer access to populate large datasets. Firepush and a few other data management apps also offer similar functionality.