# Product Types and Attributes Learn how to manage Product Types and organize Attributes. A Product Type is a collection of Attributes that acts as a template for Products of the same type or kind. An Attribute is a characteristic of a Product such as color, size, fabric, or any other specification. You can model Product Types and Attributes either from scratch or with the help of [Smart Data Modeler](/merchant-center/ai-agents/sdm-traditional-channels.md), an AI agent in the Merchant Center. Learn more about Product Types in our self-paced [Product data modeling](/learning-model-your-product-catalog/product-modeling/overview.md) module. ## Add a Product Type 1. Go to **Settings > Product types and attributes**. 2. Click **Add product type**. - To create a Product Type manually from scratch, open the drop-down menu and select **Add product type**. - To use [Smart Data Modeler](/merchant-center/ai-agents/sdm-traditional-channels.md), open the drop-down menu and select **Smart Data Modeler**. 3. In the **General Information** section, follow these steps: - For **Name**, enter a unique name for the Product Type. - For **Description**, enter a description for the Product Type. - Optional: For **Key**, enter a unique identifier value for your Product Type. 4. Click **Create product type**. ## Add an Attribute 1. Go to **Settings > Product types and attributes**. 2. Click the required Product Type. 3. On the Product Type details page, click **Add attribute**. 4. On the **Add attribute** page, follow these steps: 1. For **Attribute identifier (name)**, enter a unique identifier for the Attribute. This is an internal identifier and will not be displayed in the storefront. Two Attributes can share the same identifier across different Product Types if they have the same Attribute type. 2. For **Attribute label**, enter localized names for the Attribute. This will be displayed on the Product details page. 3. Optional: For **Attribute description**, enter localized descriptions for the Attribute. This will be displayed on the Product details page. 4. For **Attribute level**, select any one of the following options: The **Attribute level** option cannot be changed after saving the Attribute. - **Product**: to share the values of an Attribute (or a set of Attributes) across all variants of a Product. - **Variant**: to individually store the values of an Attribute (or a set of Attributes) in each Product Variant. Attributes with **Product** level are not supported by [Product Projection Search](/api/projects/product-projection-search.md). 5. If you selected `Variant` as the **Attribute level** in the previous step, then you can choose an Attribute constraint depending on how you want an Attribute (or a set of Attributes) to be validated across all variants of a Product: The **Attribute constraints** field is visible only if you select `Variant` as the **Attribute level**. - **None**: the value can be entered individually for each Variant because the Attribute has no constraints. - **Unique**: the value must be different for each Variant of a Product. - **Same for all**: the value is defined at a Product level and is identical for all Variants of a Product. - **Combination unique**: the combination of values of all Attributes of a given Product must be different for each Variant. 6. For **Attribute type**, select the data type of the Attribute: - **Yes/No (boolean)**: allows to select Yes or No. A boolean Attribute could be, for example, if a product is child-friendly or not. - **Text**: allows to enter a string or (localized) text. A text Attribute could be, for example, the name of an author (if the product is a book). - **Number**: allows to add a numeric value. A number Attribute could be, for example, the weight of a product. - **Money**: allows to set a currency and its numeric value in cents. A money Attribute could be, for example, the value of a stamp (as a product). - **Date/time**: allows to set a date and/or time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. A date/time Attribute could be, for example, to display a specific time for Products related to events. - **Reference**: allows to reference another resource by ID. The available resources are: `category`, `channel`, `key-value-document`, `product-type`, `product`, `review`, `shipping-method`, `state`, and `zone`. - **List (enum)**: allows to select from predefined values. The values can be set by providing a unique enumeration key and a label for the list item that will be a visible and selectable option in a list. At least one **Enumeration Key** and **Line Item Label** must be defined. A list Attribute could be, for example, the different colors of a Product. ![Key and label values defined for an enum.](https://docs.commercetools.com/merchant-center/images/settings/enum-values-table.png) If an Attribute can contain multiple values at the same time, select **Create a set with this type**. If selected, the Attribute can only be optional for a Product. 5. Optional: For **Attribute settings**, select the settings for the Attribute: - (If you selected `Reference` in the previous step) **Type of reference**: choose the resources to reference. - **Searchable**: if selected, the Attribute is indexed for storefront search and affects the Product search results. - **Required**: if selected, the Attribute is mandatory and must be filled for all Products or Product Variants assigned to a given Product Type. - (If you selected `Text` in the previous step) **Allow multiple line field (an expandable field recommended for longer texts)**: if selected, allows to use a multiple line field for the Attribute. Adding a required Attribute to an existing Product Type can make existing Products and Product Variants inconsistent until the required Attribute value is provided. Product Type changes cannot be staged. Before you add a required Attribute to an existing Product Type, plan how to backfill the Attribute value on affected Products. Product updates for affected Products require setting the missing required Attribute value. 6. Click **Add attribute**, and then click **Save**. ## Edit a Product Type and Attribute 1. Go to **Settings > Product types and attributes**. 2. Select a Product Type and update the information for the Product Type or Attribute. You can only update the values for **Attribute label**, **Attribute description**, and **Attribute settings** (depending on the Attribute type). 3. If you updated an Attribute, click **Update attribute**. 4. Click **Save**. ## Use Smart Data Modeler to suggest Product Types and Attributes [Smart Data Modeler](/merchant-center/ai-agents/sdm-traditional-channels.md) helps you automatically create Product Types and Attributes from an uploaded catalog sample. The agent proposes Product Types, Attribute definitions, and Attribute levels for your review before you import them into your Project. You can start Smart Data Modeler from **Settings > Product types and attributes**. ## Delete an Attribute After deletion, the data of the deleted Attributes cannot be recovered. 1. Go to **Settings > Product types and attributes**. 2. Select a Product Type and, in the corresponding row of the Attributes table, click the delete icon. 3. Confirm the action and click **Save**. ## Import Product Types For more information about importing resources into the Merchant Center, see [Import data](/merchant-center/import-data.md). 1. Go to **Settings > Product types and attributes**. 2. Click **Import product types**. 3. In the **Import product types by CSV** window, choose a CSV file on your computer to upload, and click **Upload and preview**. 4. After the file is uploaded and validated, verify the rows and columns to be imported, and click **Continue**. 5. Click **Start import** to confirm the import process. As the import process is a background task, you do not need to wait for it to complete. To check the import status, go to **Operations > Import**. ## Export Product Types See [export Product Types](/merchant-center/export-data.md#export-product-types). ## Manage Attribute Groups By grouping relevant Attributes together, you can alleviate data enhancement workflows—for example, if a set of Attributes must only be edited by the Marketing team, you can create an Attribute Group and grant access to the team for that Attribute Group. Attributes can be shared among several Attribute Groups for easier management. If an Attribute is assigned to an Attribute Group, you must have [editing permissions](/merchant-center/user-permissions.md#products) to edit the Attribute in the Attribute Group. ### Create an Attribute Group 1. Go to **Settings > Product types and attributes**. 2. Click the **Attribute groups** tab, and then click **Add attribute group**. 3. Enter the details for the Attribute Group. - For **Name**, enter localized names for the Attribute Group. - Optional: For **Description**, enter localized descriptions for the Attribute Group. - Optional: For **Key**, enter a unique identifier value for the Attribute Group. 4. From the **Add attributes** drop-down list, add Attributes to the Attribute Group. You can add both Variant Attributes and Product Attributes to the Attribute Group. You can add Attributes to the Attribute Group only if the Project is indexed. To index, go to **Products > Product list** and click **Index my product catalog now**. 5. Click **Create attribute group**. Attribute Groups relevant to a Product Type are also displayed on a Product's details page as individual collapsible panels (in the order of their creation). Unassigned Attributes are displayed under the **Ungrouped** panel. ![Attribute Groups displayed on the Product details page.](https://docs.commercetools.com/merchant-center/images/settings/attribute-groups-in-product-details-page.png) ### Manage Attributes in an Attribute Group 1. Go to **Settings > Product types and attributes**. 2. Select the Attribute Group. - To add an Attribute, from the **Add attributes** drop-down list, add Attributes to the Attribute Group. You can add both Variant Attributes and Product Attributes to the Attribute Group. - To remove an Attribute, click the **Remove attribute from this group** icon in the corresponding row of the assigned Attributes table. 3. Click **Save**. ### Delete an Attribute Group Deleting an Attribute Group will not affect the Attribute definitions. 1. Go to **Settings > Product types and attributes**. 2. Select the Attribute Group and click the **Delete attribute group** icon in the Attribute Group's details page. Attributes that were assigned to the deleted Attribute Group are automatically moved under the **Ungrouped** panel. 3. Click **Save**. ## Related pages - [Area overview page with navigation](/merchant-center.md) - [Next page: Products](/merchant-center/products.md)