> For the complete documentation index, see [llms.txt](https://ce-docs.keywordrush.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ce-docs.keywordrush.com/frontend/groups.md).

# Product groups/variations

Split product output into separate blocks with product groups — assign, display, and show them as tabs.

Groups are the simplest way to split product output into separate blocks — for example, a phone in one group and its accessories in another, or different colors and variations of the same product. (The other way to control exactly what a block shows is to bind specific products to it — see [Choose products](/frontend/gutenberg-blocks.md).)

{% hint style="info" %}
Check the [Smart Groups](/ai/smart-groups.md) feature to create and assign product groups using AI.
{% endhint %}

## Assign products to a group

On the **Added** tab of the product manager:

* **In bulk** — select products, then pick a group from the dropdown, or choose **+ New group…** to create one.
* **Per product** — assign a group (or a new group) on a product's row, or in its **edit drawer**.

<figure><img src="https://4254262503-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M3fnB7iKYwDc1Xhr3H3%2Fuploads%2Fgit-blob-ab604362ac27bbb7a0d36f108095ed0b7bf405ad%2Fgroups-assign.webp?alt=media" alt="Assigning products to a group on the Added tab"><figcaption><p>Assign a group in bulk or per product on the Added tab</p></figcaption></figure>

You can also assign a group **while searching**, using the syntax `keyword -> group name`. After the product is added, it's placed in that group automatically. This syntax also works for [auto-update keywords](/updating-products/updating-the-product-list.md).

## Display one or more groups

To show only certain groups:

* In the **CE Products** block, set the **Product Groups** filter in the block's Data Filtering panel — pick one or more groups. See [The Products block](/frontend/gutenberg-blocks.md).
* Or use the `groups` shortcode parameter, with several groups separated by commas:

```
[content-egg-block template=offers_logo groups="PlayStation 5 Digital,PlayStation 5 Disc Edition"]
```

See [Shortcode parameters](/frontend/shortcode-parameters.md#groups).

## Show groups as tabs

Special group templates render each group as its own tab automatically. Set the tab order with the `groups` parameter, and the tab style with `tabs_type` (`tabs`, `pills`, or `underline`).

```
[content-egg-block template=offers_logo_groups]
[content-egg-block template=offers_list_groups groups="PlayStation 5 Digital,PlayStation 5 Disc Edition"]
```

<figure><img src="https://4254262503-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M3fnB7iKYwDc1Xhr3H3%2Fuploads%2Fgit-blob-3e99befb2252a948c74bcafbbe3fa45c6a22660d%2Fgroups-tabs.webp?alt=media" alt="Products displayed as group tabs"><figcaption><p>Group templates turn each group into a tab</p></figcaption></figure>

## Removing a group

To remove a group, simply unassign it from all products — once no product uses it, the group is deleted automatically.

## Static groups

If you want certain groups to be available for **all posts by default**, use the `cegg_static_product_groups` filter.

Add the following to your theme's `functions.php` (preferably in a **child theme**):

```php
add_filter('cegg_static_product_groups', function ($groups, $post_id) {
    $groups[] = 'Top Picks';
    $groups[] = 'Editor\'s Choice';
    $groups[] = 'Limited-Time Deals';
    return $groups;
}, 10, 2);
```
