Skip to main content

Attribute fields & types reference

Attributes are the custom, taxonomy-driven fields you attach to products — a Color dropdown, a Weight numeric, a Care instructions long-text block. This page is the field-by-field lookup for how an attribute is defined: its Type, its options, its Validation and Display settings, and the edge-case behaviors (numeric precision formatting, delete guards, the grouped listing) that you can't see from the form alone.

For the task of creating and editing attributes, see Manage attributes. For how attributes hang off categories and attribute groups, see How product taxonomy works and Manage attribute groups. To set attribute values on a specific product, see Set a product's categories & attributes.

Before you begin

Managing attribute definitions requires the products scope plus the relevant granular permission: attributes.create, attributes.update, attributes.archive, attributes.delete, or attributes.import. See Product permissions reference.

Data types

Every attribute has a Type that fixes what its value holds and how it's rendered. The default is String.

TypeHoldsNotes
StringShort single-line textThe default. Can be flagged Is Link? to render as a hyperlink. Supports a Character Limit.
LongtextMulti-line or rich textCan be flagged Is HTML?. Supports a Character Limit. Has no Display (options) section.
IntegerWhole numbersSupports Min and Max.
NumericDecimal numbersSupports Min, Max, and Precision (digits). See Numeric precision formatting. A numeric attribute's value can back a relative pricing tier basis.
CheckboxA yes/noThe value always reads back as true or false, never as text. Has no Display (options) section.
DateA dateDate only, no time.
Date & timeA date plus a timeThe Type list in the attribute dialog offers only the six types above. You can set a date-and-time attribute through an import or the API.

Those seven are the complete set — anything else is rejected when you save.

Checkbox always reads back as true or false

A Checkbox attribute's value on a product comes back as a real true/false, not as the 1 or 0 behind it. Aside from the numeric precision formatting described below, Checkbox is the only type whose value is transformed before you see it.

Option lists

Any attribute that isn't Checkbox or Longtext can be marked Has Options? to become a pick-list — for example a Color attribute with a fixed set of swatches.

SettingMeaning
Has Options?Whether the attribute is a pick-list. Turning it on reveals the options list.
Type (in the Display (options) section)Single (pick one) or Multi (pick several). Defaults to Multi.
Allow Custom Value?Whether someone can type a value that isn't on the list.
Option valueThe option text itself, up to 255 characters. Blank lines are ignored when you save.
Option orderThe order the options appear in, taken from the order you list them.

In the dialog you type or paste options one per line into Type or Paste Options; each line becomes one option, in the order given. When you edit, options you take off the list are removed, and options that stay are matched by their text and kept — so reordering or editing around them doesn't disturb them.

The Display (options) section is hidden entirely for Checkbox and Longtext attributes — those types can't have options.

Validation, display & notes

The Validation section holds the limits that apply to the chosen type; the Display (options) section holds presentation settings; Notes is free text for your own reference.

SettingApplies toMeaning
Character LimitString, LongtextMaximum text length.
Precision (digits)NumericDecimal places to format the value to, 0–9.
MinInteger, NumericMinimum allowed value.
MaxInteger, NumericMaximum allowed value.
Is Link?StringRender the value as a hyperlink.
Is HTML?LongtextTreat the value as HTML.
Sort OrderAllThe attribute's own position in a list.
Available for templatesAllSee Template flag.
NotesAllFree-text note, max 255 characters. Internal — never shown on products.

Rules enforced when you save:

RuleApplies to
Required, max 255 characters, and unique across all attributesName
Required, one of the seven typesType
Must be an existing attribute groupAttribute Group
Optional, max 255 charactersNotes

The Validation section is shown for String, Longtext, Numeric, and Integer types only.

Numeric precision formatting

When you read an option value of a Numeric attribute that has Precision (digits) set, the value is formatted to that many decimal places before it's shown.

  • The result is formatted text — precision 2 turns a stored 9.5 into 9.50, and 1234.5 into 1,234.50 with a thousands separator.
  • Because it's formatted for display, it may not reflect the full stored precision — a stored 9.567 read at precision 2 comes back as 9.57.
  • Formatting is applied only when both conditions hold: the type is Numeric and Precision (digits) is set. Otherwise the value is returned exactly as stored.

Grouped & ungrouped attributes

The taxonomy screens list attributes in two buckets:

BucketContents
GroupedEach attribute group with its attributes nested inside, in each attribute's Sort Order.
UngroupedAttributes with no attribute group at all.

To organize attributes into groups, see Manage attribute groups.

Template flag

Available for templates marks an attribute as usable in product templates — the reusable starting points you build products from. It's independent of type, options, and group. Turning it on doesn't change how the attribute behaves on an individual product; it only controls whether the attribute is offered when you build from a template.

What blocks a delete

Deleting an attribute checks whether anything still references it. Two independent kinds of usage are checked:

  1. Products — how many products carry a value for this attribute.
  2. Integration import mappings — any channel import mapping that points an incoming column at this attribute.

By default, either kind of usage blocks the delete. Choosing to delete anyway changes the outcome for one of them, but not both:

SituationDelete anyway?Result
Used by products and/or import mappingsNoBlocked — you get a "currently used" message listing what still references the attribute. Nothing is deleted.
Used by products onlyYesDeleted. The values on those products are detached and the attribute is removed. You're still told how many products were affected, so the impact is never silent.
Used by import mappingsYesStill blocked, with the impact details. Deleting anyway can't bypass this, because removing the attribute would silently break those channel import mappings. Remove or repoint the mappings first.

Whether the delete is allowed or blocked, SKU.io always tells you the impact — how many products are affected, how many import mappings, and which ones — so the consequences are surfaced rather than hidden. There's no separate second confirmation step; that impact summary is the acknowledgment.

To see what a delete would affect before you try it, check the attribute in Manage attributes, which flags whether each attribute can be deleted and why not.

Next steps

Last verified: