Defining a field
Create a field from Stores → Custom fields. Each definition has:- a name, which is what you see in the dashboard,
- a handle (lowercase letters, numbers and underscores), the key your backend pushes values against,
- a type, which fixes the shape of the values it holds.
The handle and the type are immutable once the field exists: values are stored per type, and your backend is already pushing against the handle. The name and, for a select, its options can be edited later. Deleting a field removes it and its value on every store.
An app can define up to 20 custom fields. The list shows how many are in use and how many stores have a value for each field. Search the list by name or handle. Global search jumps to a field from anywhere in the organization.
Setting values
Three ways, all writing to the same value:- By hand, on a store’s profile. Emptying a field removes its value, and a blank text value is never stored, so “unset” stays distinguishable from “empty”.
- From your backend, with the custom field values API. The create screen shows the exact call for the field you’re defining. See Custom field values from your code.
- From an automation, with the Populate custom field action, so a value can be set or cleared when something happens. See Populate custom field.
What they unlock
- Segments can filter on a custom field, with the operators that field’s type allows, so “onboarding stage is not complete” becomes a targetable audience.
- Automations can start from a Custom field changes trigger, on any field or one specific field.
- Reports treat custom fields as reportable attributes of a store.