Reference

Theme data formats

Two sections read a metafield the theme cannot create for you. Both formats are positional, so the order of the columns matters and the labels do not.

custom.size_guide — Size guide #

Type: multi-line text, on the PRODUCT.
One line per size. Five cells, separated by |. Only the first is required.

# Cell Meaning Renamed by
1 Name The size's name, printed as the card's heading
2 Second column Any short fact about the size dims_label
3 Measurement range min - max, optionally with a unit measure_label
4 Tags Comma-separated; each becomes a pill tags_label
5 Fifth column Any second short fact weight_label

The column ORDER is fixed. Renaming a column is a labelling job in the section's settings; reordering one would silently reinterpret every product already written.

Column 3 must be a numeric min - max range for the slider to appear. A product whose rows have no range still renders its cards, without a slider — which is correct, because there is then nothing to match against.

Copy-paste sample (a shoe, sizes in EU):

EU 40 | 40 | 24.8 - 25.4 cm | Standard, Wide | 248 g
EU 41 | 41 | 25.4 - 26.0 cm | Standard | 255 g
EU 42 | 42 | 26.0 - 26.7 cm | Standard, Wide | 262 g
EU 43 | 43 | 26.7 - 27.3 cm | Standard | 270 g

With the section's column labels set to Measurement Foot length, Second column EU size, Fourth column Width, Fifth column Weight.

custom.spec_groups — Spec groups #

Type: list of metaobject references, on the PRODUCT.
Needs a metaobject definition first, because a group is a small record and Shopify has no other way to store one:

Field Type Holds
title single line text The group's heading, e.g. MATERIALS
rows multi-line text One Label: Value per line
note single line text Optional footnote under the group
layout single line text tiles, columns, list or benefit

Definition handle: spec_group. Product metafield: custom.spec_groups, type "list of metaobject references", pointing at that definition.

Row syntax inside rows:

Upper: Engineered mesh
Midsole: Supercritical EVA | 34 mm stack       <- text after | is a sub-line
Outsole: Rubber, 4 mm lugs

A line with no colon renders as a value with no label, which is what a package-contents list wants. A group with no rows renders nothing at all, so the section can sit in the template permanently and appear when it is filled.

Copy-paste sample for one group:

title:  MATERIALS
layout: columns
rows:   Upper: Engineered mesh
        Midsole: Supercritical EVA | 34 mm stack
        Outsole: Rubber, 4 mm lugs
note:   Measured on a size 42.

Spec table rows — Spec cells block, Rows field #

Not a metafield: a textarea on the product page's Spec cells block. One row per line:

metafield_key | Label | icon

metafield_key is looked up on the product under custom — first as typed, then with a spec_ prefix, then in a legacy specs namespace. Label is what prints; leave it out and the key prints instead. icon is optional and names one of the theme's glyphs: ruler, scale, bolt, clock, layers, link, shield, tag, star, check.

demo_drop | Drop | ruler
demo_stack | Stack | layers
demo_weight | Weight | scale
If a row does not print

The theme hides a row whose key it cannot resolve rather than printing an empty one. Check the key against the product's actual metafields, watch for trailing spaces, and see the troubleshooting entry on the support page.