> For the complete documentation index, see [llms.txt](https://help.accentuate.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.accentuate.io/use-case-guides/food-and-beverage/ingredients-metafield.md).

# Ingredients Metafield

### Prerequisites

Before you begin, make sure you have:

* An active Shopify store
* Accentuate Custom Fields installed from the Shopify App Store
* Staff permissions to access Apps in your Shopify admin
* (Recommended) An Online Store 2.0 theme, which allows metafield values to be displayed via the theme editor without touching code

***

### Key Concepts to Know First

Scope — The Shopify object the metafield attaches to. For Ingredients, this will be Products.

Namespace & Key — The unique identifier for your field. The namespace groups related fields (e.g. custom) and the key is the specific field name (e.g. ingredients). Together they form custom.ingredients, which is the address used in your theme to pull the value.

Field Data Type — Controls what kind of data the field holds. For Ingredients, a Multi-line text field is recommended. Food and beverage ingredient lists are often long, detailed, and product-specific. They may also include sourcing information, allergen callouts, or percentage composition. A free-text field allows your team to document the complete ingredient list for each product without being restricted to predefined options. If you want to support formatting such as bold allergens or numbered steps, choose Rich Text instead.

***

### Step-by-Step Guide

Step 1 — Open ACF from your Shopify Admin Go to your Shopify Admin, click Apps in the left sidebar, and open Accentuate Custom Fields. You'll land on the ACF dashboard, which shows the Metafields and metaobjects section with cards for Products, Shops, Metaobjects, and Customers.

Step 2 — Open Product Metafields In the Products card, click the Metafields button. This takes you into the Product Custom Fields screen where you can see all existing fields listed with their types and manage your definitions.

Step 3 — Add a New Section Click the + Add section button in the top-right area of the Product Custom Fields screen. An Add Section modal will open across two pages.

Page 1 — Basic Details:

* Title: Ingredients — displayed in bold as a visual header when editing product values (1–50 characters, no HTML)
* Name: ingredients — must be unique within your Product fields (3–64 characters, letters, digits, underscores or dashes only)
* Description: Optionally add a note like Complete list of ingredients in this product, including allergens and sourcing information — supports Markdown
* Color: Leave as the default #dfe3e8, or choose a colour to visually distinguish this section from others in your Food & Beverage field setup
* All fields in this section apply to: Leave as All types unless you want to restrict this to specific product types (e.g. only for beverages, only for snacks, etc.)
* Make visible to the Storefront API: Leave checked (default) — this makes the ingredients accessible in themes and custom storefronts

Click Next to continue.

Page 2 — Advanced Settings:

* Repeatable section: Leave unchecked — ingredients are a single list per product, not a repeating block.
* Include value of first text field: Optionally check this — since the field is a text field, showing a preview of the first ingredient in the section header when collapsed can help your team quickly identify products when scanning.
* Show as collapsed when editing: Optionally check this — ingredient lists can be lengthy, so collapsing the section by default keeps the product edit page tidy. Editors can expand it when needed.
* Hide section: Leave unchecked — checking this would make the section invisible in the editor entirely.
* Show section even if empty: Optionally check this if you want the Ingredients section to always appear on products, even before an ingredient list has been added.
* Exclude from layout: Leave unchecked — only tick this if you want the section excluded from ACF's layout editing tools.

Click Done to save the section.

Step 4 — Add the Ingredients Field Once the section is saved, click + Add field to add the actual field inside it. Fill in the details:

* Label: Ingredients
* Namespace: accentuate (ACF's default, or use your own e.g. food)
* Key: ingredients
* Field Data Type: Select Multi-line text — this gives your team a spacious text area to paste or type the complete ingredient list per product. If you want to support formatting such as bold allergens or bullet-pointed ingredient categories, choose Rich Text instead.

Step 5 — Save Click Save. Your Ingredients field will now appear inside its section on every product edit page in your Shopify admin, giving your team a dedicated space to enter the complete ingredient list for each product.

***

### Populating Ingredients Values on Products

One by one: Open any product in Shopify Admin, scroll to the Ingredients section added by ACF, paste or type the complete ingredient list into the text area, and save. This is the most practical method since each product's ingredient list is unique and should be verified against the product label or manufacturer information.

CSV import: Use the Export button to download a CSV template, fill in the ingredients column for each product row, then re-import via the Import button. This is useful when migrating ingredient data from an existing product database or supplier information.

***

### Displaying Ingredients on Your Storefront

Theme Editor (no code, OS 2.0 themes): Go to Online Store → Themes → Customize. Open a product template, click Add Block, select an ACF or Metafield block, choose the Ingredients field, position it on the page (typically in a product details section or inside a collapsible accordion), and save. It will display automatically for any product with ingredients documented.

Liquid Code (all themes): Add this to your product template file where you want the ingredients to appear:

For Multi-line text:

`{% if product.metafields.custom.ingredients %}`

&#x20; `<div class="ingredients">`

&#x20;   `<strong>Ingredients:</strong>`

&#x20;   `<p>{{ product.metafields.custom.ingredients.value }}</p>`

&#x20; `</div>`

`{% endif %}`

For Rich Text:

`{% if product.metafields.custom.ingredients %}`

&#x20; `<div class="ingredients">`

&#x20;   `<strong>Ingredients:</strong>`

&#x20;   `{{ product.metafields.custom.ingredients.value }}`

&#x20; `</div>`

`{% endif %}`

If you used a custom namespace (e.g. food), replace custom with your namespace name.

***

### Tips & Best Practices

* Copy ingredients directly from the product label — always source the ingredient list from the official product label or manufacturer's documentation. Never guess or paraphrase. Food ingredient lists carry legal and safety weight in most markets.
* List ingredients in descending order by weight — in most countries, food ingredients must be listed in order from highest to lowest percentage by weight. Maintain this order when entering ingredients in ACF.
* Bold or highlight allergens — use Rich Text formatting to make allergens stand out. Bold major allergens (milk, peanuts, tree nuts, soy, sesame, fish, shellfish, eggs, wheat, celery, mustard, etc.) so they're immediately visible to customers with allergies.
* Include sub-ingredient declarations where required — if an ingredient is a compound (e.g. "Natural flavours (contains milk)"), include the full declaration as required by law in your market.
* Add percentage composition if available — for premium or specialty products, including percentage composition helps customers understand the product better. For example: "Organic Cocoa Butter (45%), Organic Cacao Solids (30%), Organic Cane Sugar (25%)".
* Note sourcing and certifications — if ingredients are organic, fair trade, non-GMO, or from specific regions, note this: "Organic Cacao Beans (Fair Trade Certified)", "Honey (Raw, Unfiltered)".
* Use Rich Text for complex ingredient lists — if a product has many ingredients or complex declarations, use Rich Text with headers or bullet points. For example:
* Base Ingredients: Flour, water, salt
* Allergens (in bold): Contains Wheat, Eggs
* May Contain: Tree nuts, sesame
* Keep a master label document — maintain an internal reference library of all product labels or ingredient sheets from your suppliers. Use this as your source of truth when populating ACF.
* Update when formulations change — monitor for ingredient changes from your suppliers. Product reformulations happen periodically, and outdated ingredient lists can have serious consequences for customers with allergies.
* Include storage and handling notes if relevant — for some products, you might add preparation notes: "Ingredients: (Raw honey should not be given to infants under 12 months)".
* Distinguish between ingredients and allergens — if you have a separate Allergens / Dietary Tags metafield, use Ingredients for the complete ingredient list, and use that field for allergen callouts and dietary claims. This keeps both fields focused.
* Use consistent formatting — decide on a standard format (comma-separated, bulleted list, paragraph style) and apply it uniformly across your product range for a professional, consistent storefront appearance.
* Avoid the shopify namespace — it is reserved by Shopify and can cause conflicts. Use custom or a brand-specific name like food.
* Multi-language stores — ACF supports translatable metafields. Mark Ingredients as translatable if you serve markets that require ingredient names in local languages or have different allergen declaration requirements.
* Ensure legal compliance — food ingredient labeling is heavily regulated. Ensure your ingredient lists comply with local regulations (FDA in the US, EFSA in Europe, CFIA in Canada, etc.).

***

### Quick Reference

| Setting          | Value                                                                       |
| ---------------- | --------------------------------------------------------------------------- |
| Scope            | Products                                                                    |
| Section Title    | Ingredients                                                                 |
| Section Name     | ingredients                                                                 |
| Field Label      | Ingredients                                                                 |
| Namespace        | custom                                                                      |
| Key              | ingredients                                                                 |
| Full Identifier  | custom.ingredients                                                          |
| Field Data Type  | Multi-line text (or Rich Text for formatted lists with allergen emphasis)   |
| Storefront API   | Enabled (checked by default)                                                |
| Liquid Reference | {{ product.metafields.custom.ingredients.value }}                           |
| Critical         | Always copy directly from product label; list in descending order by weight |
| Best Practice    | Bold or highlight major allergens for visibility                            |
| Best Practice    | Use Rich Text for complex ingredient lists with allergen callouts           |

***

For further details, visit the official ACF documentation at help.accentuate.io

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.accentuate.io/use-case-guides/food-and-beverage/ingredients-metafield.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
