Grouping Product Variants

Grouping product variants in the data feed that share the same basic set of attributes can help you improve your search results.

Say you have these items in your feed:

  1. PLAIN round-neck t-shirt (size: S, colour: blue)
  2. PLAIN round-neck t-shirt (size: M, colour: blue)
  3. PLAIN round-neck t-shirt (size: L, colour: grey)

These are indeed three different products, and when looking for "round-neck t-shirts", the three would show up in the search results:

Grouping products variants

However, you may prefer the user to obtain just one PLAIN round-neck t-shirtt search results with all three variants of colours and sizes available in the facets' panel of your search results.

This way, when the user looks for a "round-neck t-shirt", only one "PLAIN round-neck t-shirt" result is shown, but "blue" and "grey" colours and "S", "M" sizes are available at the facets panel.

Grouping variants example

Group variants as a single item

Using Doofinder, you can set this up in the following simple steps:

1.Go to Search Engines > Settings > Indices > Configuration of your Admin Panel and enable the "Group variants as a single item" option in the pop-up window and click save.

Grouping variants in the feed

2.Ensure the products you want to be grouped share the same group_id field in your data feed.

You're good to go!

Using the 'group_id'

Alternatively, you may use the de-facto standard by Google from the data feed: the item group id. Through this, all items with the same group_id attribute are considered variants of the same item.

Consequently, when you check the "group products by group_id", all products that share the same group_id attribute are displayed as one product only in the search results. Still, all their variants (like colour or size), if defined as filters, are displayed in the filters panel.

Please note that updating the group_id of an item will affect the grouping.

🗒 Note: If you are indexing through API, make sure the value for `group_id` is a string.

Marking an item as 'group leader'.

Follow the Leader

If there's an item with the field group_leader set to "true", that item will be chosen as the group representative in search results (if there are no other relevant sort criteria involved). All other items in the group, must have the group_leader field set to 'false'. This way, the leader will be differentiated from the rest.

🗒 Note: If you are using the API, you need to set a boolean value for `group_leader`. Currently, we accept a pure boolean or string, example: true, false, "true", "false".

Lastly, the field name could be in two formats:

Text Format


Grouping items: For product type feeds, you can use the group ID, `group_id. This will work for every data type (not just the "product" data type).

Marking an item as the group leader: You use the group_leader field.

or

XML Format


Grouping items: For product type feeds, You can go with group_id. This will work for every data type (not just the "product" data type).

Marking an item as the group leader: You need to use group_leader.