Variants
Variants let you offer a single product in multiple options — such as different sizes, colors, or materials. Avvyr supports two variant modes that change how variants are structured and managed across your catalog.
Variant modes
Avvyr offers two variant modes, configured globally under Settings → PIM. The mode determines how products are grouped and how variants relate to each other.
Parent-Child mode
The Parent-Child mode uses true parent-child relationships with variant axes and attribute inheritance.
- A parent product defines the variant axes (e.g., Size, Color).
- Child variants are created under the parent, each representing a specific axis combination.
- Child variants inherit attribute values from the parent and can override them individually.
- This mode is ideal when variants share most of their attributes and you want precise control over each combination.
Grouped mode
The Grouped mode uses hash-based grouping. Instead of an explicit parent-child relationship, products are automatically grouped based on the Variant Group Attributes configured in PIM settings.
- Products that share the same values for the configured grouping attributes are grouped together.
- Each product in the group is a standalone product with its own complete attribute set.
- This mode is simpler when products are mostly independent but should appear as options of the same item in the storefront.
Changing variant mode
You can switch between modes under Settings → PIM. Select either Grouped or Parent-Child and click Save.
Grouping attributes
Under Settings → PIM, you can also configure:
| Setting | Description |
|---|---|
| Variant Group Attributes | Attributes used to group products into variant groups in the storefront. |
| Listing Group Attributes | Attributes used to determine which variant represents the group in listings. |
| Review Group Attributes | Attributes used to group reviews across variants. |
These settings apply to both variant modes and control how products are grouped in your storefront index.
How parent-child variants work
When using Parent-Child mode, a variant setup consists of:
- Parent product — The product type must be set to Variant during creation. The parent holds shared information like the name, description, and base attributes.
- Variant axes — The attributes used to differentiate variants (e.g., Size, Color). Only select-type attributes marked as variant-axis-eligible can be used as axes.
- Child variants — Individual products linked to the parent, each representing a specific combination of axis values (e.g., Size: M + Color: Blue).
Setting up variant axes
Variant axes are defined on the parent product's Overview tab in the Variant Axes section.
- Open a variant parent product.
- In the Variant Axes card, click the multi-select dropdown.
- Select one or more attributes to use as axes.
Only attributes that meet these criteria appear as options:
- The attribute type is Select (single or multi-select)
- The attribute is marked as variant axis eligible in the attribute template
Creating child variants
Once variant axes are defined, you can add child variants:
- Go to the Variants tab on the parent product.
- Click Add Variant.
- Fill in the required fields:
| Field | Required | Description |
|---|---|---|
| SKU | Yes | A unique SKU for this variant. |
| Name | Yes | The variant's display name. |
| Axis values | Yes | Select a value for each variant axis (e.g., Size: M, Color: Blue). |
- Click Create Variant.
The new variant is created as a child product with:
- Type set to Variant
- Status set to Draft
- A link to the parent product
- Axis attribute values set from your selections
- All other parent attributes marked as inherited
Managing child variants
The Variants tab on the parent product shows a table of all child variants with:
| Column | Description |
|---|---|
| Name | The variant's display name |
| Axis Values | The combination of axis values for this variant |
| Status | Current status (Published, Draft, etc.) |
| Actions | Edit or delete the variant |
Click on a variant to open it in the full product editor.
Attribute inheritance
Child variants inherit attribute values from their parent product. This means you don't need to fill in the same information for every variant.
When editing a child variant:
- Inherited attributes are shown with an Inherited badge.
- You can override any inherited value by toggling the inheritance switch off and entering a custom value.
- Axis attributes (the attributes used as variant axes) are always unique to each variant and cannot be inherited.
Managing inheritance
On the child variant's Variants tab:
- An info alert confirms "This is a variant child."
- Click Go to parent to navigate to the parent product.
- For each non-axis attribute, toggle inheritance on or off.
- Click Save to apply your inheritance settings.
Variant examples
Clothing with size and color
A t-shirt is a good example of a product with two variant axes:
- Parent product: "Classic T-Shirt"
- Variant axes: Size (S, M, L, XL) and Color (Black, White, Navy)
- Child variants: 12 variants (each size × color combination)
Each child variant has its own SKU, stock level, and optionally its own images.
Furniture with material
A sofa might vary only by material:
- Parent product: "Modern Sofa"
- Variant axes: Material (Leather, Fabric, Velvet)
- Child variants: 3 variants, each with different pricing and lead times
Configuring variant axis eligibility
Not all attributes can be used as variant axes. For an attribute to appear as an axis option:
- The attribute type must be Select.
- The attribute must be marked as Variant Axis Eligible in the attribute settings (PIM → Attributes → Attribute → Overview).
Default variant axes in templates
You can pre-configure variant axes at the template level so that new products automatically have axes assigned:
- Go to PIM → Attributes → Templates → Template.
- In the Default Variant Axes section, select which eligible attributes should be used as axes by default.
- When a product is created with this template, the selected axes are pre-filled.
This saves time when most products of a certain type share the same variant dimensions.
Best practices
- Name variants descriptively — Include the axis values in the variant name (e.g., "Classic T-Shirt — M / Black") to make them easy to identify in lists.
- Set up axes before creating children — Define all variant axes on the parent before creating child variants.
- Use inheritance — Let child variants inherit shared attributes from the parent. Only override values that are truly different per variant.
- Keep SKUs systematic — Use a consistent SKU pattern like
TSHIRT-M-BLKto make inventory management easier.