Add custom fields to products and variants
Record details like material, care instructions, or weight in your own terms, choose which ones shoppers see, and use them to filter products and build collections.
Custom fields let you store extra details about a product or a variant that don't have a place in the standard form – a material, a care guide, a weight, a list of scent notes. You decide what each field is called, what kind of value it holds, and whether shoppers can see it.
They replace the old free-text variant attributes. Existing attributes keep showing on your storefront, and are converted to custom fields the first time you open the product in the editor.
Where to find them
Open Catalog → Custom fields to create and manage your fields. (They used to live under Settings; they moved to Catalog next to your products.) You fill in the values on each product's edit page, in the Custom fields section.
Create a field
- Go to Catalog → Custom fields and add a new field, or choose Create new field from a product's Custom fields section.
- Pick whether it is for products (each product holds one value) or variants (each variant holds its own value).
- Give it a name, and pick a type.
- Save.
Note: The type and the key (the short identifier made from the name) can't be changed once the field exists. Everything else – the name, description, options, and the settings below – can be edited later. A key uses lowercase letters, digits,
-and_.
You can create up to 128 fields for products and 128 for variants.
Field types
| Type | Use it for |
|---|---|
| Single-line text | A short value such as a brand line or a model name |
| Multi-line text / Rich text | Longer text such as care instructions |
| List of single-line texts | Several short values, such as scent notes |
| Integer / Decimal | Numbers such as a pack size or a rating |
| Measurement | A number with a unit, such as 1.5 kg |
| Yes / No | A true-or-false detail such as "Organic" |
| Date / Date and time | Dates such as a harvest date |
| URL | A link, such as a manual |
| Color | A color picked from a color picker |
| Choice / List of choices | A value picked from options you define, such as Wool, Cotton, Silk |
Choices store the option itself, so renaming an option later doesn't break the products that use it. Removing an option archives it – products that already hold it keep the value.
Choose what shoppers see
Each field has three settings:
| Setting | What it does |
|---|---|
| Shown on storefront | Shoppers (and your storefront's public API) can see the field. Off by default, so internal notes such as supplier costs never appear by accident. |
| Usable as filter | Shoppers can filter product lists by this field. Available for choices, numbers, measurements, and yes/no fields, and only while the field is shown on the storefront. |
| Translatable | Text values can be translated into your store's other languages. Available for text fields. |
You can also hide a single value without hiding the whole field: the field stays visible for other products, but not for this one.
Fill in values on a product
- Open the product.
- In Custom fields, choose Add field and pick a field, then enter its value. Drag to reorder fields.
- For variant fields, fill in each variant. Copy custom fields to all variants applies the same values to every variant at once.
- Save the product.
Use Clear to remove a value you no longer want.
When variants get recreated
Adding or removing an option (like a new size) makes the product's variants be recreated. Your variant custom field values are carried over automatically: when you add an option, each old variant's values are copied to the new variants it became. If you remove an option and the merged variants disagree, the oldest variant's value is kept – and if any values would be lost, you're asked to confirm before saving.
Translate custom fields
If the Translations module is on, you can translate field names, descriptions and option labels on the field itself, and translate text values on each product's Translations tab. An empty translation means "use the original value". You can also translate missing values with AI, which runs only when you ask for it or when you switch on a new language.
Filter products and build collections
Fields marked Usable as filter (and shown on the storefront) become filters on your storefront's product lists.
You can also build a collection from them: in a collection, choose By custom field values and add rules – any of these values, a number range, or yes/no. A product is included automatically when it matches every rule. If a rule's field is later archived or stops being a filter, the collection shows no products until you fix or remove that rule, so a broken rule never shows the wrong products.
Text fields can't be filtered directly. To make a text field filterable, open it and use Convert, which turns the distinct texts into choices and rewrites the values for you. Near-duplicates such as "Wool" and "wool " are suggested as one option.
Import and export with CSV
Product CSV files have one column per custom field. When you import a file with columns that match no existing field, you're asked to pick a type to create each new field or skip the column before the import starts. New fields from an import are not shown on the storefront until you turn that on. See Import products in bulk.
Archive or delete a field
Deleting a field archives it: it disappears everywhere but keeps its values, and you can restore it as it was. To remove it for good, purge an archived field and confirm the number of values that will be deleted.