> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voucherify.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Product collections

> Learn how to group products into static or dynamic collections

Product collections group products based on shared attributes or specific criteria. These collections are key for modeling product-specific validation rules, such as limiting a promotion to a specific category or defining loyalty earning rules for certain items.

## Collection types

Voucherify offers two types of collections to manage your inventory effectively:

* **Static collection**: A fixed group of up to 20 products that remains unchanged after saving.
* **Dynamic collection**: A flexible group that automatically updates in real-time based on filter criteria.

<Tip>
  <Badge color="green">Use cases</Badge>

  Use **static collections** for fixed sets of items, such as holiday bundles.

  Use **dynamic collections** when products should be added or removed automatically based on rules.
</Tip>

<Info>
  You can create up to 100 product collections in each project.
</Info>

## Create a static collection

Static collections are ideal for fixed sets of items, such as a "Holiday bundle."

<Note>
  Adding a product to a static collection automatically includes all its associated SKUs.
</Note>

To create a **Static collection**, go to **Campaign hub** > **Product collections**. **Create collection** in the top-right corner.

<Steps>
  <Step title="Name">
    Name your collection.
  </Step>

  <Step title="Mark items">
    Mark the checkboxes next to the products you want to include in the collection.
  </Step>

  <Step title="Finalize">
    **Save as collection** and select **Static collection**.

    <Warning>
      Once saved, a static collection cannot be edited or updated with new products.
    </Warning>
  </Step>
</Steps>

A new product collection is added with a unique ID.

## Create a dynamic collection

To create a **Dynamic collection**, go to **Campaign hub** > **Product collections**.  **Create collection** in the top-right corner.

<Steps>
  <Step title="Name">
    Name your collection.
  </Step>

  <Step title="Define filter criteria">
    Apply filters (such as price, category, or metadata) to define your collection criteria.
  </Step>

  <Step title="Finalize">
    **Save as collection** and choose **Dynamic collection**.
  </Step>
</Steps>

A new product collection is added with a unique ID.

<Tip>
  <Badge color="green">Experiment</Badge>

  If you need to quickly update which products belong to a **Dynamic collection** that's used in a **validation rule**, for example, edit the collection and change filters.
</Tip>

### SKUs and dynamic collections

In dynamic collections, validation is performed separately for products and SKUs.

An SKU doesn't automatically enter a dynamic collection just because its parent product matches the filters. Each SKU must individually meet the filter criteria to be included.

## Predefined collections

Every Voucherify project includes a predefined collection called All Products. This collection automatically includes all items added to your account and items sent in API requests. You can use it when you need validation rules to apply to every item in a customer’s order.

## Related features

Product collections can be reused across campaigns, rules, and developer workflows. The features below show how collections connect to other parts of Voucherify.

<AccordionGroup>
  <Accordion title="Use collections in validation rules">
    You can use product collections in [validation rules](/optimize/validation-rules-reference) to control when a promotion applies. For example, you can check if an order contains any item from a collection or make sure all items in the cart belong to the same collection.
  </Accordion>

  <Accordion title="Developer setup: Product collections API">
    You can manage product collections using the [Product Collections API](/api-reference/product-collections/product-collection-object). This includes creating collections, updating their rules, and keeping collections in sync with external systems.
  </Accordion>
</AccordionGroup>
