Key takeaways
- Create metafield definitions in Settings > Custom data > Products.
- Fill in metafield values per product from the product editor page (scroll down).
- Display metafields on the page via Theme Editor dynamic sources or Liquid code.
- Metafields are ideal for structured data: ingredients, materials, certifications, care instructions.
Product metafields let you attach custom data to products beyond the default fields Shopify gives you. Setup takes two steps: define the field once, then fill it in per product.
Why you can trust us
We’ve worked on product data architecture for hundreds of Shopify stores. We also built Fudge, the AI operator for Shopify stores, with a 4.9 rating on the Shopify App Store.
What are Shopify product metafields?
Metafields are custom data fields you define and attach to any Shopify resource (products, collections, pages, customers, orders, etc.).
Examples of product metafields:
- Ingredients list (for food, supplements, beauty)
- Material composition (for apparel)
- Care instructions
- Certifications (organic, fair trade, vegan)
- Custom labels (“Bestseller”, “Staff Pick”)
- Technical specs (wattage, dimensions, compatibility)
The advantage of metafields over putting this content in the description: data is structured and consistent. You define the field once, fill it in per product, and display it anywhere you want on the page.
To feed metafields into your product schema, see How to Add Structured Data in Shopify.
Step 1 - Create a metafield definition
Step 1. Go to Settings (bottom left of Shopify Admin).
Step 2. Click Custom data.
Step 3. Click Products.
Step 4. Click Add definition.
Step 5. Fill in:
- Name - what you’ll call it (e.g., “Ingredients”)
- Namespace and key - a machine-readable identifier (e.g.,
custom.ingredients). Shopify pre-fills this. - Type - choose the data type. Common choices: Single line text, Multi-line text, Rich text, Number. Most types can also be set to hold a list of values.
Step 6. Click Save.
Step 2 - Fill in the metafield value per product
Step 1. Go to Products and open any product.
Step 2. Scroll to the bottom of the product editor. You’ll see a section titled with your metafield name (e.g., “Ingredients”).
Step 3. Click into the field and add your content.
Step 4. Save the product.
Repeat for each product that needs the field filled in.
To generate values across a large catalogue with AI, see AI-Generated Metafields: A Practical Shopify Workflow.
Step 3 - Display the metafield on the product page
You’ve defined the field and filled it in. Now you need to show it to customers.
Option A - Theme Editor (no code)
Step 1. Go to Online Store > Themes > Customize.
Step 2. Navigate to a product page.
Step 3. In the Main product section, click Add block or find a text block.
Step 4. In the block settings, look for a Dynamic source option (a small database icon). Click it and select your metafield from the list.
Step 5. Save. The block will now pull content from the metafield for each product.
This works well for themes that support dynamic sources on product page blocks.
Option B - Liquid code
If your theme doesn’t surface the dynamic source option, you can output the metafield in Liquid:
{{ product.metafields.custom.ingredients }}
Add this in the product page template or a section. If you’re not comfortable editing Liquid, describe what you want to Fudge, such as “Show the material and care metafields in a details tab on the product page”, and it drafts the output in your product template for you to preview. Its AI discovery work can also tell you which details are worth adding in the first place: the materials, sizes and care facts shoppers ask about that your pages don’t mention.
Metafields work on collections too; for an example, see How to Add Custom Text to a Shopify Collection Page.
Useful metafield types and when to use them
| Type | Use case |
|---|---|
| Single line text | Short labels, certifications, single values |
| Multi-line text | Longer descriptions, care instructions |
| Rich text | Formatted content with bold, lists, links |
| List of single line text | Multiple values (e.g., list of ingredients) |
| Number | Dimensions, weights, specifications |
| URL | Link to a document, video, or external resource |
Metafields vs. product description
Both store content about a product, but they serve different purposes.
Description: Freeform content intended for the buyer to read. One field per product.
Metafields: Structured, typed data. Multiple fields per product. Each field has a defined format and can be queried, filtered, or displayed in a consistent way across your whole catalogue.
Use descriptions for narrative content. Use metafields for structured data you want to display consistently.
FAQ
Can I bulk-import metafield values for all my products?
Yes - Shopify's product CSV import supports metafield columns. Export your products first: each metafield column is named like Ingredients (product.metafields.custom.ingredients). Fill in values per product and re-import. Apps like Matrixify and Bulk Edit also support metafield import for non-developers.
What's the difference between a metafield and a metaobject?
A metafield is a single piece of custom data attached to one resource (one product's ingredient list). A metaobject is a reusable structured record - like a "Brand" or "Author" entity - that multiple products can reference. Use metafields for per-product data; use metaobjects for shared records.
Can metafields be used in product variants?
Yes - variants support metafields the same way products do. Go to Settings → Custom data → Variants to add variant-level metafield definitions. Useful for variant-specific care instructions, fit notes, or warranty terms.
Will adding metafields slow down my Shopify site?
No, when used reasonably. Metafields are just additional database fields fetched along with the product - the cost is negligible. Where slowness can creep in is rendering many metafields in a loop with image rendering filters; in that case, optimise the Liquid output, not the metafield definitions.
Can I use metafields for SEO?
Yes - metafields can populate JSON-LD structured data. Output specific metafields (material, color, ingredient) into your product schema to give Google richer product attributes. Describe what you want to Fudge ("inject the 'material' and 'origin' metafields into Product schema") and it drafts the change to the schema block for you to approve. This can earn enhanced search results like ingredient lists or material details in Shopping listings.