Custom data
Add your own fields to products, variants, collections, customers and orders — for anything the built-in fields don't cover.
Every store eventually needs to record something the standard fields have no room for: fabric composition, allergens, warranty length, a supplier reference, a delivery window. Custom data lets you define those fields once and then fill them in wherever they apply.
Defining a field
Open Settings → Custom data and choose Add field. A definition has three important parts:
- What it attaches to. A field belongs to one kind of record: a product, a product variant, a collection, a customer or an order.
- Its type. This decides how the value is entered and validated — text (single or multi-line), whole number, decimal number, true/false, date, date and time, URL, money, colour, rating or JSON.
- Whether it is visible on the storefront. Off by default. Leave it off for internal notes; turn it on only for values customers should actually see.
Storefront visibility is the publish switch
A field marked storefront-visible has its values sent to your public storefront. Anything you would not print on the product page — cost notes, supplier codes, internal flags — should stay off.Choosing the right type
- Single-line text for short labels: material, origin, SKU of a supplier.
- Multi-line text for care instructions or a longer note.
- Whole number / decimal number for counts and measurements. Numbers sort and compare correctly; the same value stored as text does not.
- True/false for a flag such as “hand made” or “fragile”.
- Date or date and time for harvest dates, release dates, expiry.
- URL for a certificate or spec sheet hosted elsewhere.
- Money for a second monetary value like a deposit or an RRP.
- Colour and rating for values a theme can render directly.
- JSON for structured data an app or your own code will read. Use it last — the other types stay readable to whoever inherits this store.
Filling in values
Once a definition exists, the field appears on the records it applies to. Open a product, customer or order and set the value there — you are not editing the definition, only that record's value. Records where the field is irrelevant can simply be left empty.
Editing and deleting definitions
You can rename a definition or change its storefront visibility at any time; the change applies immediately, including unpublishing a value from the storefront. Deleting a definition removes the field and the values stored under it, so export anything you still need first — see Data export.
Showing custom data on your storefront
Storefront-visible values ride along with the product or collection data your theme already receives, so a theme or app can display them on the page. If you only need the value for internal reporting, leave visibility off and read it from your data export instead.
Related
- Products & catalog — the built-in product fields, before you add your own.
- Build apps & themes — reading custom data from the API.