CK Commerce Kitty Help
Support Open app
Catalog

Product Attributes

Attributes are reusable pieces of metadata that describe your products. Use them to track details like brand, material, country of origin, or any other field you need on every product.

What attributes are for

An attribute is a description of a product, not a variant of it. Brand is a good example. A coffee mug has one brand, a t-shirt has one brand. The brand does not change from one version of the product to another. Material, care instructions, weight, and country of origin all work the same way.

Once you create an attribute, it becomes available on every product in the catalog. Filling it in is optional per product, but the field is there for you and your imports to use consistently.

Attributes versus product options

The line between attributes and product options trips people up, so it is worth being explicit.

  • Attributes describe a single product. They do not create variants. A mug with the attribute "Brand: Kitty Co" is still one product.
  • Product options create variants. A t-shirt with size and color options is actually many products, one per size and color combination.

If the value changes the item you ship, it is an option. If the value just tells the customer something about the item, it is an attribute. Color can go either way. If you sell the same shirt in red and blue, color is an option. If you sell one mug that happens to be blue, color is an attribute.

Attribute types

The type determines what kind of value the attribute holds and how the form input looks on the product edit page.

Text

A single-line text input. Use it for short values like a brand name or a model number.

Textarea

A multi-line text input. Use it for longer text like care instructions or warranty language.

Checkbox

A yes or no value. Use it for flags like "giftable" or "fragile".

Integer

A whole number. Use it for counts like pieces per set or thread count.

Float

A decimal number. Use it for measurements like weight or volume.

Date

A calendar date. Use it for release dates, expiration dates, or manufacture dates.

Date Time

A date and time. Use it when you need precision beyond the day.

Select

A single-choice dropdown backed by a list of values you define. Use it when the attribute should always be one of a known set, like a fixed list of brands you carry.

Attribute fields

Code

A unique identifier for the attribute. Used internally, in imports, and in the API. Keep it lowercase and consistent. brand, material, country_of_origin.

Name

The human-readable label shown on forms and in the catalog. This is what you and your team see when editing products.

Type

The attribute type, chosen from the list above. You set this when creating the attribute and it cannot be changed later without deleting and recreating it.

Translatable

Whether the value of this attribute can differ per locale. Turn this on for anything shown to a customer that should be localized, like care instructions. Turn it off for internal or factual values like a SKU prefix.

Required

Whether the attribute must be filled in on every product. Required attributes will block product saves until a value is provided.

Position

Controls the display order on product edit forms. Attributes with higher positions appear first.

How attributes are used

Attributes show up on the product edit form and in the API. During imports, plugins can map channel-specific fields onto your attributes, for example mapping Shopify's vendor field to your brand attribute. During exports, the reverse happens. Attributes are also available in reports and filters, so a field you define once becomes a way to slice your entire catalog.

Plan your attributes early. It is much easier to set up brand and material on day one than it is to backfill them across thousands of products later.

Read more