# Product attributes, combinations and specifications

Catalog

GrandNode has two kinds of attributes, and mixing them up is the most common catalog mistake. **Product attributes** are choices the customer makes when buying - size, colour, engraving text, a gift wrap checkbox. They can change the price, weight and stock. **Specification attributes** are facts about the product - material, fit, battery life. The customer does not choose them; they are shown in a specification table and used for filtering in categories.

![The Fieldstone Oxford Shirt product page with a required Size drop-down and Color squares next to the Add to cart button](https://grandnode.com/Plugins/Theme.GrandNodeCom/Content/kb/catalog/sf-fieldstone-oxford-shirt.webp)

On the storefront: Size is a drop-down, Color is a set of colour squares. Both are product attributes.

### Product attributes

Attributes are defined once under **Catalog → Products attributes** (Size, Color, Engraving...) and then added to each product that uses them.

![The Product attributes list with Capacity, Color, Engraving, Graphics, Grind, Material, Memory and more](https://grandnode.com/Plugins/Theme.GrandNodeCom/Content/kb/catalog/product-attribute-list.webp)

Catalog → Products attributes: the shared definitions.

#### Add an attribute to a product

1. Open the product and click the **Product attributes** tab, sub-tab **Attributes**.
2. Click **Add new attribute**, choose the attribute, a **Control type**, optionally a **Text prompt** shown instead of the attribute name, and whether it **Is required**.
3. Save, then edit the row to add its values (for a drop-down, radio list, checkboxes or squares).

![The Product attributes tab of Fieldstone Oxford Shirt with Size as a required drop-down list and Color as required color squares](https://grandnode.com/Plugins/Theme.GrandNodeCom/Content/kb/catalog/product-edit-attributes.webp)

Two attributes on one product: a drop-down and colour squares.

| Control type | Use it for |
|---|---|
| Drop-down list, Radio list | One choice from a list (size, grind). |
| Checkboxes, Read-only checkboxes | Several optional extras; read-only shows included extras that cannot be removed. |
| Color squares, Image squares | A visual choice; each value has an RGB colour or a picture. |
| Textbox, Multiline textbox | Free text such as an engraving; set minimum and maximum length in the validation rules. |
| Date picker | A date the customer picks, for example a delivery or event date. |
| File upload | A file the customer sends (a logo to print); limit extensions and size in the validation rules. |
| Hidden | A value set by a plugin or a default, not shown to the customer. |

#### Attribute values

Each value has a **Name**, a **Price adjustment** (added to the product price, for example +5 for XXL), a **Weight adjustment**, a **Cost**, **Is pre-selected**, a **Display order**, and for squares a colour or picture. A value can also show a different product picture when chosen, or be linked to another product (the value type "associated to product"), which adds that product to the cart with the chosen quantity.

#### Conditions

The **Condition** link on an attribute makes it appear only when another attribute has a given value - for example show "Engraving text" only when "Engraving" is ticked.

### Attribute combinations

When stock or the SKU differs per variant (the shirt in size M, blue), use the **Attribute combinations** sub-tab. Mark the attributes that take part with the **Combination** switch in their settings, then click **Generate all possible combinations** or add them one by one.

| Field | What it does |
|---|---|
| Stock quantity | Stock for this exact variant. Used when the product's inventory method is *Track inventory by product attributes* (Inventory tab). |
| Allow out of stock orders | Lets customers order this variant when it is sold out. |
| SKU, MPN, GTIN | Identifiers of the variant; feeds and structured data use them. |
| Overridden price | A fixed price for this variant instead of price plus adjustments. |

### Specification attributes

Define them under **Catalog → Specification attributes**: an attribute (Material) with its options (Cotton, Wool, Linen).

![The Specification attributes list: Color family, Material, Connectivity, Battery life, Capacity, Fit, Season and more](https://grandnode.com/Plugins/Theme.GrandNodeCom/Content/kb/catalog/specification-attribute-list.webp)

Catalog → Specification attributes.

On a product, open **Specification attributes** and click **Add product specification**. Choose the attribute type **Option** to pick one of the defined options (filterable), or a custom text or HTML value for facts that are unique to the product.

![The Specification attributes tab of Fieldstone Oxford Shirt with Color family Blue, Material Cotton, Fit Slim and Season All season, all filterable and shown on the product page](https://grandnode.com/Plugins/Theme.GrandNodeCom/Content/kb/catalog/product-edit-specifications.webp)

Four specifications, each allowed for filtering and shown on the product page.

- **Allow filtering** - the option becomes a filter on category, brand and collection pages.
- **Show on product page** - the value appears in the product's specification table.

### Tips and common mistakes

- Do not use a product attribute for a fact the customer does not choose; it adds a pointless required field to the product page. Use a specification.
- If a required attribute has no values, the product cannot be added to the cart.
- Combinations only restrict stock when the inventory method is set to track by attributes.

### Related

- [Prices and inventory](https://grandnode.com/catalog-prices-inventory)
- [Product types](https://grandnode.com/catalog-product-types)

- [Web page](https://grandnode.com/catalog-attributes)
