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. Once you understand the two-step setup, they’re one of the most powerful tools in Shopify’s native toolkit.
Why you can trust us
We’ve worked on product data architecture for hundreds of Shopify stores. We also built Fudge — an AI storefront editor with a 5.0 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.
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, 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.
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 and it will add the output for you.
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.