Product data: metafields for specifications, codes and downloads
Chisel shows tool and hardware details from product metafields. This guide lists each metafield the theme reads, how to create its definition in Shopify admin, how to fill it, and how to point the theme at a different key. It also covers the manual Specification row block, which needs no metafields.
Before you begin
- You need access to Shopify admin with permission to edit custom data.
- Each metafield is set per product. Create the definition once, then fill it for each product.
- A metafield set to a blank value shows nothing on the storefront. A blank setting in the theme turns that feature off.
The metafields the theme reads
The table lists the default keys. Each key is a theme setting, so you can change it (see "Point the theme at other metafields").
| Default key | Admin type | Used for |
|---|---|---|
custom.specs |
JSON | Specification tables and the compare table |
custom.key_specs |
List of single line text | The short spec line on product cards and rows |
custom.mpn |
Single line text | Part number shown in the Code block |
custom.downloads |
List of files | Downloads rows |
custom.in_the_box |
List of single line text | The In the box list |
custom.accessories |
List of products | The accessories ledger |
custom.lead_time |
Single line text | Back-order text, such as "Back in 5 days" |
custom.notice |
Multi-line text | A compliance or safety notice next to the buy button |
The theme also reads two metafields whose keys are fixed. They are not in the Product data settings:
| Key | Admin type | Used for |
|---|---|---|
custom.compare_group |
Single line text | Only products with the same value are offered in "Compare with similar" |
custom.volume_note |
Rich text | A manual note shown with the volume price table |
1. Create the metafield definitions
Create each definition once. Repeat the steps for every row in the table above.
- In the Shopify admin, go to Settings > Custom data > Products.
- Select Add definition.
- Enter a Name, such as "Specifications".
- Set Namespace and key to the namespace and key from the table, for example
customandspecs. - Choose the Type from the table, such as JSON or List of files.
- Select Save.
Repeat for each metafield you plan to use. You can skip any metafield you do not need. The theme hides that feature when the product has no value.
2. Fill in the metafields
Open a product in the Shopify admin. Scroll to the Metafields section and fill in each field.
Specifications (custom.specs)
The specifications field takes JSON. Use groups, with each row as a pair of a label and a value:
[
{
"group": "Motor",
"rows": [
["Voltage", "18 V"],
["No-load speed", "0 to 2,000 rpm"]
]
},
{
"group": "Battery",
"rows": [
["Battery type", "Lithium-ion"],
["Runtime", "45 minutes"]
]
}
]
- Paste the JSON into the field. Check that every bracket and quote is in place.
- Keep units in the value text, as in "18 V".
- Save the product.
The theme also accepts a flat object with one group, such as {"Voltage": "18 V", "Weight": "2.4 kg"}. Use the grouped form when a product has more than one group of details.
Rows with an empty value are not shown.
Key specifications (custom.key_specs)
- Add up to three short lines, one per entry. Examples: "18 V", "2.0 Ah", "Brushless".
- The theme shows the first three values, joined with a middle dot.
Manufacturer part number (custom.mpn)
- Enter the manufacturer's part number. Keep the exact spelling from the data sheet.
- If this field is blank, the theme shows the product's barcode in the Code block instead. The variant SKU is always shown as Code.
Downloads (custom.downloads)
- Upload data sheets, manuals or certificates in the Shopify admin under Content > Files.
- Add the files to this field.
- The theme shows each file with its file type and size. If a file has alt text, the theme uses it as the label on the download row. Otherwise it uses the file name.
In the box (custom.in_the_box)
- Add one entry for each item in the package, such as "Drill body", "Battery" or "Charger".
- Keep entries short. The theme shows them as a plain list.
Accessories (custom.accessories)
- Choose the products that fit this product. Use only products that are in your store.
- The theme shows them as an accessories ledger on the product page. It leaves these products out of the "Compare with similar" section.
Lead time (custom.lead_time)
- Enter the text to show for a sold-out product, such as "5 days" or "3 weeks".
- When the variant is out of stock, the theme shows "Back in stock:" followed by your text. For example, "Back in stock: 5 days". The text is not shown for products in stock.
Product notice (custom.notice)
- Enter the notice text, such as a safety warning or a compliance note.
- Line breaks are kept. The notice shows where the Notice block sits in the product information section. Add that block in the theme editor if it is not already there.
Compare group (custom.compare_group)
- Enter the same short value on every product that should be compared with each other, such as "cordless-drills".
- Products with a different value, or no value, are not offered in Compare with similar.
Volume note (custom.volume_note)
- Use this field only when the store does not have B2B catalogs with quantity price breaks. See the volume and trade pricing guide.
- Write the note as rich text. The theme shows it under the volume table. The note is text you write; the theme does not calculate prices from it.
3. Point the theme at other metafields
Use this when your store already has metafields with other keys.
- Open the theme editor. Select Customize on the Chisel theme.
- Open the theme settings and go to the Product data group.
- Read the paragraph at the top: enter each metafield as
namespace.key. Leave a field blank to turn that feature off. - Change a field, for example Specifications metafield, to
my.specs. - Select Save.
The setting names are:
- Specifications metafield
- Key specifications metafield
- Manufacturer part number metafield
- Downloads metafield
- Package contents metafield
- Accessories metafield
- Lead time metafield
- Product notice metafield
The theme reads each key the same way it reads the default key. The field type must still match what the theme expects. A metafield of the wrong type may show nothing or may show raw text.
Only the eight product data settings can be renamed. The two fixed keys, custom.compare_group and custom.volume_note, always use their default names.
4. Use the manual Specification row when you have no metafields
If you do not want to use metafields, add rows by hand in the theme editor.
- Open a product in the theme editor.
- Open the product template and select Product information.
- Select Add block and choose Specification row.
- Enter a Label, such as "Voltage", and a Value, such as "18 V".
- Add one block for each row.
All Specification row blocks in the section share one table. The table appears where the first row sits. Rows with an empty Value are not shown.
To fill a value from data you already have, select the dynamic source option on the Value field, if the editor offers it for that field, and choose the metafield you want. This lets a store reuse existing product data without copying it into the table.
The Specifications block is different. It reads the specifications metafield. Use it for the grouped table. Its Heading and Rows before Show all settings are in the block. Rows past the limit sit behind a Show all specifications control.
Checks before you publish
- Open one product on the storefront. Confirm that the specifications, the Code line and the downloads appear.
- Confirm that a product with a blank metafield shows no empty box or heading.
- If a value does not appear, check the key in Product data, then the type in Settings > Custom data > Products.