Metafields
Six of Strata’s features read product metafields: the scale drawing, the spec sheet, the made-to-order lead times, the size guide, the star rating and numbered editions / pre-orders. Metafields are how a single product template can describe a whole catalogue — the block lives in the template, the values live on each product.
Nothing here is required. Every block that reads a metafield renders nothing at all when the data is absent, so the theme works on day one and gets more informative as you fill it in.
You choose the namespace. The theme never has a metafield key written into its code: each
block or setting names the key, and the keys below are only the ones the theme suggests and the
ones our demo stores use. If your store already keeps measurements in specs.width, point the
blocks at that instead and nothing else changes.
The full list
Section titled “The full list”| Feature | Namespace and key | Shopify type | Where it appears | Without it |
|---|---|---|---|---|
| Size reference | custom.width |
Dimension | Product page, Size reference block — the left-to-right measurement | Not drawn; the other dimensions still are |
| Size reference | custom.height |
Dimension | Same block — the bottom-to-top measurement | Not drawn |
| Size reference | custom.depth |
Dimension | Same block — the slab behind the front face | The drawing is flat instead of a box |
| Size reference | all three missing | — | — | The whole block renders nothing |
| Spec sheet | custom.material |
Single line text | Product page, Spec sheet — the Material row | That row is dropped |
| Spec sheet | custom.weight |
Weight | Spec sheet — the Weight row | That row is dropped |
| Spec sheet | custom.care |
Single line text | Spec sheet — the Care row | That row is dropped |
| Spec sheet | custom.width / custom.height / custom.depth |
Dimension | Spec sheet — the Dimensions row. The same values as the drawing, not a second copy | That row is dropped |
| Spec sheet | no values at all | — | — | No table is shown |
| Made to order | custom.production_status |
Single line text — made or ready |
Product cards (badge) and the Production status block. Forces the status whatever the stock says | The status follows stock: out of stock + “continue selling” = made to order |
| Made to order | custom.made_days |
Single line text — 3-5 or 4 |
Badge and block: that product’s own production time | Falls back to Production time in Theme settings → Product cards → Badges, and to the block’s Made to order numbers |
| Made to order | custom.ready_days |
Single line text — 1-2 or 1 |
Production status block: that product’s own ready-to-ship time | Falls back to the block’s Ready to ship numbers |
| Size guide | custom.size_guide |
Rich text (plain text works too) | Product page, Size guide panel — the per-product part, first | The panel shows only the fixed text, the page and/or the ring table; with none of them, no button |
| Rating | reviews.rating |
Rating (Shopify’s standard definition; every reviews app writes it) | Stars on product cards (Theme settings → Product cards → Show rating) and the Rating block on the product page; AggregateRating in the page’s structured data |
No stars anywhere, nothing in the structured data |
| Rating | reviews.rating_count |
Integer (standard definition) | The review count next to the stars | Stars without a count; no AggregateRating |
| Editions | custom.edition_size |
Integer | Badge on cards and a line in Production status: “Edition of 12”; 1 = “One of a kind” |
No edition badge or line |
| Editions | custom.edition_number |
Integer | Turns the badge and line into “3 of 12” | “Edition of 12” |
| Pre-order | custom.release_date |
Date | While the date is ahead the product is sold as a pre-order: badge “Pre-order · ships 12 Dec”, the same day in Production status and on the cart line, and a timeline counted from that day | The stock decides the status, as usual |
Where the theme lets you name the key yourself:
| Key named in | Setting | Default |
|---|---|---|
| Theme settings → Product cards → Badges | Production time metafield | custom.made_days |
| Theme settings → Product cards → Badges | Forced status metafield | custom.production_status |
| Theme settings → Production | Release date metafield | custom.release_date |
| Theme settings → Product cards → Badges | Edition size metafield / Edition number metafield | custom.edition_size / custom.edition_number |
| Product page → Size guide | Per-product metafield (the Page setting takes a page reference metafield too, via dynamic source) | custom.size_guide |
| — | reviews.rating / reviews.rating_count are read as they are: the standard keys every reviews app uses |
fixed |
| Product page → Size reference | Width metafield / Height metafield / Depth metafield | custom.width / custom.height / custom.depth |
| Product page → Spec sheet | Row 1–6 metafield (several keys, comma-separated, are joined with ×) | custom.material / custom.weight / custom.width, custom.height, custom.depth / custom.care |
| Product page → Production status | Force status, Ready to ship: ships in, Made to order: ships in, via dynamic source | — |
Features that use no metafields
Section titled “Features that use no metafields”The Material guide deliberately uses none. A shop sells the same few materials across its whole catalogue, so they are blocks in the template — see that chapter for why. Live personalization and the 3D spotlight use no metafields either: one is a line item property, the other is product media.
Creating the definitions
Section titled “Creating the definitions”Metafield definitions are created once per store. Values are then filled in per product.
- In the Shopify admin, go to Settings → Custom data.
- Click Products.
- Click Add definition.
- Fill in:
- Name — what you want to see in the admin, e.g. “Width”.
- Namespace and key — click Edit next to the generated key and set it to
customandwidth. (Shopify suggestscustom.widthby itself for a definition named “Width”.) - Description — optional, but it is what your future self reads.
- Select type → Dimension for width, height and depth; Weight for weight; Single line text for material, care, production status and the day ranges.
- Leave validations alone unless you want them. For Dimension you may set a minimum of 0.
- Save.
- Repeat for each row of the table above that you want to use.
Filling in the values
Section titled “Filling in the values”Open a product in Products, scroll to the Metafields card at the bottom, and fill in the fields. A Dimension field has a number and a unit selector; a Weight field likewise.
For a large catalogue, use the bulk editor: select products in the product list, click Bulk edit, then Add columns and choose your metafields. Or export a CSV, fill the metafield columns and re-import.
Pointing a block at a metafield
Section titled “Pointing a block at a metafield”Every block that reads product data — Size reference, Spec sheet, Size guide, Production status,
the badges — has a setting that names the metafield it reads, as namespace.key. The defaults are
the keys in the table above, so with those definitions there is nothing to connect: create them,
fill them in, and the blocks show the values. Named your definitions differently? Type your key
into the setting.
The theme editor’s dynamic source icon (the small database symbol at the end of a text field) still works for any other text setting — a heading, a label — but a block’s data never depends on it.
Why a key and not a dynamic source
Section titled “Why a key and not a dynamic source”A dynamic source can only point at a definition that exists: a template that carries one is rejected by Shopify on any store without that definition (“Dynamic source does not exist”), and the Theme Store installs a theme on stores that have none yet. A key is only a name — a product without that metafield simply shows nothing — so Strata’s templates install anywhere and start showing data the moment the definitions exist.
Suggested order of work
Section titled “Suggested order of work”- Create
custom.width,custom.height,custom.depth(Dimension) — the scale drawing is the feature customers notice. - Measure your products, in the bulk editor.
- Add the Size reference block — it reads them as they are.
- Then, if you want the technical table:
custom.material,custom.weight(Weight),custom.care, and the Spec sheet block. - Only if your lead times differ per product:
custom.production_status,custom.made_days,custom.ready_days. A single global production time in Theme settings is enough for most shops.
© 2026 Bevel · Shopify is a trademark of Shopify Inc.; Bevel is an independent theme studio.