Skip to content

Metaobjects

The Nama theme leans heavily on metaobjects for structured, reusable content. Instead of duplicating settings across every section, you create a metaobject entry once in the Shopify admin and connect it wherever it’s needed — on a product, a collection, or a standalone page. Most connections happen through dynamic source on product and collection templates, so the right data shows up automatically per resource.

The canonical field definitions live in metaobject-definitions.yaml at the repo root. What follows is the human-readable version.


Two types work together: individual questions live in FAQ Item entries, and a FAQ Group bundles them into a reusable cluster.

A single question-and-answer pair.

Field Type Description
label Text Admin label for identification
question Text The question displayed to visitors
answer Rich text The answer, supports full rich text formatting
open_by_default Boolean Whether the accordion row starts expanded

A cluster of FAQ items that can be attached to any product or collection.

Field Type Description
section_title Text Admin-facing title (not rendered on the front end)
faq_items List of faq_item The questions in this cluster, in order

Used by: FAQs. Connected via nama.product_faqs on products and nama.collection_faqs on collections, typically through dynamic source.


A numbered walkthrough of product highlights — think “how it works” or “key features.”

One step in the sequence.

Field Type Description
name Text Admin label
label Text Step label shown above the title (e.g. “Step 1”)
title Text Step heading
description Multi-line text Step body copy
image File Media for this step (image or video)

The cluster that groups steps together with optional intro copy.

Field Type Description
title Text Section title
tag Text Eyebrow tag line above the title
heading Text Section heading
description Multi-line text Introductory paragraph
steps List of product_feature_step The steps, in order

Used by: Feature Steps. Connected via nama.product_feature_section on products.


The expandable rows on product pages — specs, materials, shipping details.

A single expandable row.

Field Type Description
name Text Admin label
title Text Row heading
content Multi-line text Row body content
open_by_default Boolean Whether the row starts expanded

A set of accordion items attached to a product.

Field Type Description
name Text Admin label
items List of product_accordion_item The accordion rows, in order

Used by: Main Product (accordion block). Connected via nama.product_accordion_cluster on products.


The spec-comparison grid shown on product and collection pages.

A single stat label (e.g. “Motor Power”, “Weight”). Shared across products.

Field Type Description
label Text The stat name shown in the table header
sort_order Integer Controls display order

One product’s value for a particular stat.

Field Type Description
title Text Admin label
stat Reference to comparison_stat Which stat this row represents
value Text The value for this product (e.g. “1500W”, “4.2 kg”)

The full specification set for a product.

Field Type Description
name Text Admin label
rows List of comparison_row All stat values for this product

Used by: Comparison Table. Connected via nama.comparison_specs on products. The section also reads nama.comparison_products (a product list metafield, not a metaobject) to know which products to compare.


A rich media card for storytelling on product pages — image pair, video, CTA.

Field Type Description
name Text Admin label
title Text Headline
primary_media File Main image
accent_media File Secondary/accent image
description Multi-line text Body copy
cta_label Text Button text
cta_url URL Button destination
vimeo_url URL Video embed URL (Vimeo or YouTube — auto-detected)
site_video_native File Self-hosted video file

Used by: Featured Editorial. Connected via nama.product_featured_editorial on products.


A curated set of blog articles shown on product or collection pages.

Field Type Description
name Text Admin label
title Text Section heading
blog Text Blog handle to pull articles from
tag Text Tag to filter by (e.g. product_nama-j2)
article_1 Article reference First manually picked article
article_2 Article reference Second manually picked article
article_3 Article reference Third manually picked article
article_4 Article reference Fourth manually picked article
cta_label Text “View all” button text
url Text “View all” button destination
card_tag_source Text blog_category group name for card tags (e.g. recipe_type, article_topic)
card_tag_prefix Text Tag prefix for card tag lookup (e.g. type_, topic_)

Used by: Featured Recipes. Connected via nama.product_featured_recipes on products and nama.collection_featured_articles on collections.


User-generated or social media content shown in a horizontal scroll.

One slide — an image or a video with an optional social attribution.

Field Type Description
name Text Admin label
media_type Text image or video
image File Slide image
video File Slide video
poster File Video poster/thumbnail image
autoplay Boolean Whether video auto-plays on scroll
social_handle Text Social media handle (e.g. @namawell)
social_url URL Link to the original post

A cluster of social slides with optional CTA.

Field Type Description
name Text Admin label
title Text Section heading
slides List of social_slide_item The slides, in order
cta_url URL CTA link destination
cta_label Text CTA link text

Used by: Social Slider. Connected via nama.product_social_slides on products.


Side-by-side content-and-media blocks used on mid-tier product pages.

Field Type Description
display_name Text Admin label
tag Text Eyebrow tag line
title Text Heading
body Multi-line text Body copy
button_label Text CTA button text
button_url Text CTA button destination
button_style Text Button style variant
image File Desktop image
image_mobile File Mobile-specific image override
media_position Text left or right
content_width Text Controls the text column width
media_full_bleed Boolean Whether the image bleeds to the edge
text_alignment Text Horizontal text alignment
vertical_alignment Text Vertical alignment of text vs. media

Used by: Text / Image Split. Connected via nama.product_text_image_split (a list) on products, so multiple splits can appear on one page.


People featured in “learn from the experts” sections.

Field Type Description
name Text Educator’s name
bio Multi-line text Short biography
image File Portrait photo

Used by: Educators. Connected via nama.product_educators (a list) on products.


The “complete system” showcase on flagship product pages — a hero product, accessories grid, and collection link.

One accessory card in the system grid.

Field Type Description
display_name Text Admin label
product Product reference The accessory product
image File Card image
hover_image File Hover-state image
override_title Text Title override (falls back to product title)
description Text Short description
cta_label Text Button text

The full system configuration for a product.

Field Type Description
display_name Text Admin label
title Text Section title
description Multi-line text Section intro copy
hero_product Product reference The hero/primary product
hero_image File Hero product image
hero_title_override Text Override for the hero product title
hero_description Multi-line text Hero product description
hero_cta_label Text Hero CTA button text
subtitle Text Accessories section subtitle
collection Collection reference The full accessories collection
collection_link_label Text “Shop all” link text
accessories List of system_block_accessory Individual accessory cards

Used by: Total Kitchen. Connected via nama.system_block on products.


Rich media cards injected into collection product grids at specific positions.

One editorial card placed in the grid.

Field Type Description
title Text Card title
media_type Text image or video
image File Card image
video File Card video
video_poster_image File Video poster frame
copy Text Short body text
link_url URL Card link destination
grid_position Integer Position in the desktop grid (1-based)
mobile_position Integer Position in the mobile grid
column_span Integer How many grid columns the card spans
title_size Text Title size variant

A cluster of editorial cards for one collection.

Field Type Description
title Text Admin label
editorial_cards List of collection_editorial_card The cards

Used by: Main Collection. Connected via nama.collection_editorials on collections. Cards are hidden when filters or sorting are active.


Tag-based filtering configuration for collection pages.

One filter facet (e.g. “Product Type”, “Compatibility”).

Field Type Description
display_name Text Admin label
label Text Label shown in the filter UI
tag_prefix Text Tag prefix to match against (e.g. product_type_)

The complete filter configuration for a collection.

Field Type Description
display_name Text Admin label
filter_groups List of collection_filter_group The filter facets
pill_group Reference to collection_filter_group Which group renders as pill buttons above the grid
exclude_values Text Comma-separated tag values to hide from filters

Used by: Collection Filters. Connected via nama.collection_filter_set on collections.


A three-image collage layout for collection pages.

Field Type Description
display_name Text Admin label
title Text Heading
description Multi-line text Body copy
large_image File The large image (left column)
top_image File Top-right image
bottom_image File Bottom-right image
tag Text Eyebrow tag line

Used by: Photo Medley. Connected via custom.photo_medley on collections.


Short trust signals shown on product pages (free shipping, warranty, etc.).

Field Type Description
content Text Badge text (e.g. “Free Shipping on Orders $50+”)
is_shipping Boolean Whether this is a shipping-specific badge (used for conditional display)

Used by: The product trust badges block on Main Product. Connected via nama.product_trust_badges (a list) on products.


Product card image sets used across collection grids, quick-add modals, and cart.

Field Type Description
name Text Admin label
images List of files Card images (first is default, second is hover)
comparison_image File Image used in the comparison table

Used by: Product cards throughout the theme, the comparison table, mini-cart, and nav featured items. Connected via nama.product_card_images on products.


A product bundle shown as a checkbox on the PDP.

Field Type Description
display_name Text Admin label
title Text Offer headline
product Product reference The bundle product
description_override Text Custom description (falls back to product description)

Used by: The bundle checkbox block on Main Product. Connected via nama.bundle_offer (a list) on products.

A free gift shown in a dropdown selector.

Field Type Description
display_name Text Admin label
product Product reference The gift product
price_override Text Display price override (e.g. “FREE”)

Used by: The promo selector block on Main Product. Connected via nama.free_gift_options (a list) on products.

A product suggestion shown in the cart drawer or cart page.

Field Type Description
title Text Upsell headline
product Product reference The suggested product
disclaimer Text Fine-print text below the upsell

Used by: The cart drawer and cart page. Connected via nama.cart_upsell (a list) on products.


Electrical plug type options shown during variant selection.

Field Type Description
label Text Plug type name (e.g. “Type A — US/Canada”)
image File Plug type illustration

Size guide modal content.

Field Type Description
display_name Text Admin label
disclaimer Rich text Size guide content and disclaimers

Used by: The variant options block on Main Product. Connected via modal.size_guide (a list) on products.


Three types power the recipe blog: ingredients for filtering, recipe types for categorisation, and full recipe entries.

A single ingredient used for recipe filtering.

Field Type Description
single_ingredient Text Ingredient name
exclude_from_filters Boolean Hide this ingredient from the filter UI
single_ingredient_synonyms List of text Alternate names for search matching
sort_order Integer Display order in filter lists

A full metaobject-based recipe. Legacy — unused by the current theme. All recipes are blog articles at /blogs/recipes/. This metaobject type still exists in the admin but should have web pages disabled.

Field Type Description
title Text Recipe title
recipe_type List of blog_category Categories this recipe belongs to (group recipe_type)
made_with List of product references Products used in this recipe
featured_image File Hero image
thumbnail_image File Card thumbnail
body_content Rich text Recipe intro / story
ingredients List of recipe_ingredient_items Structured ingredients for filtering
ingredient_step List of text Ingredient lines as displayed
garnish List of text Garnish items
direction_step List of text Step-by-step directions
notes Rich text Chef’s notes
makes Text Yield (e.g. “2 servings”)
search_tags List of text Tags for internal search
similar_recipes List of recipe_article Related recipe suggestions
meta_description Multi-line text SEO meta description

Used by: Main Recipe Article and Blog Listing. Recipe ingredients are connected via custom.recipe_base_ingredients on articles. Recipe types are connected via custom.recipe_type (which now references blog_category entries with group recipe_type).


A unified category system that powers filtering and navigation across both recipe and editorial blogs.

Field Type Description
title Text Category name
card_label Text Short label for filter pills and cards
image File Category image
description Text Category description
color Colour Accent colour
sort_order Integer Display order
group Text Which taxonomy this belongs to (recipe_type, article_topic, article_category, or recipe_ingredient_items)

Used by: Blog Listing for filter pills and category cards.


Country-level configuration for international shipping messages and region-specific banners.

Field Type Description
continent_name Text Continent name
Field Type Description
country_name Text Country display name
iso_code Text ISO country code (e.g. US, CA, GB)
continent Reference to continent Which continent this country belongs to
featured_country Boolean Whether to feature this country in selectors
top_banner List of text Promotional banner messages for this country
shipping_message Multi-line text Shipping info shown at checkout and on PDP
enable_sale_collection Boolean Whether to show sale collection for this country

Used by: The geo-detection and country-selector components in the header and announcement bar.


Linked content cards used for cross-page navigation (e.g. “Explore more” sections).

Field Type Description
section_title Text Admin label
image File Card image
title Text Card heading
description Rich text Card body copy
url URL Card link destination

A cluster of explore cards.

Field Type Description
title Text Section heading
cards List of explore_card The cards, in order

Used by: Explore Cards.