Product Types consist of Attributes, and together these form the templates you will use to model your products.
After completing this page, you should be able to:
- Distinguish a Product Type from an Attribute.
When beginning a project, it is important to consider which aspects of your products will map to Product Types, Products, Attributes, and Product Variants. How you choose to define your products has an effect on store performance, load time, ease of product catalog management, and more.
- Pants
- Shoes
- Shirts
- Accessories
In a clothing store, creating Product Types for different types of pants – shorts, long pants, cropped pants, etc. – is not beneficial, because the attributes of the different product types are similar. In this case, it would be better to use one Product Type for all pants and to store additional information as Attributes.
Many Projects only have one generic Product Type, but Product Types can be as broad or granular as needed. Pushing all information into one Product Type can lead to a complicated data model with high payloads and poor performance.
Product Types: keep in mind
Keep the following in mind when thinking about what Product Types to create:
- Product Types are a template of attributes that you can use to create Products.
- When you create a new Product, it must have a Product Type. After you've selected a Product Type for a Product, you cannot change it later.
- Once a Product Type is in use, you cannot deleted it without deleting all Products using the Product Type first.
- Product Types are generally restrictive: if you need flexibility, consider using a Category.
Product Types: helpful questions
When creating your data model’s Product Types, ask the following questions:
- What are the major groupings of products in your catalog?
- Could you model a given Product Type as a Category? Categories often provide more flexibility than Product Types in terms of providing front-end capabilities like faceted search.
Attributes
An Attribute is a property or feature of a Product. Every product consists of a collection of attributes. For example, a T-shirt might have the following Attributes:
- Colors
- Sizes
- Fabric
A Product or Product Variant can only use the Attributes defined in its Product Type.
You can add Attributes to a Product Type at any time, but you should be careful when removing Attributes that have values on Products. When doing so, the respective Attribute will be removed from all Products of the related Product Type by a background process together with its values.
Attributes: keep in mind
Don't overcomplicate your Product Types with too many Attributes. You can add Attributes at any time, but removing Attributes that are already in use can be difficult.
Attributes: helpful questions
When modeling Attributes for a Product Type, ask the following questions:
- What is the purpose of this Attribute? Try to avoid creating Attributes that don’t have a clear use case that feeds into the front-end experience or touchpoints, even if they exist in another system in your company.
- Can an Attribute apply to more than one item? In general, avoid single-use Attributes.
- How many Attributes will remain empty with specific Products? If there are many Products with a lot of empty Attributes, then it would be better to create a separate Product Type.