> ## 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.

# Stacking rules and categories overview

> Control how multiple incentives interact in a single redemption with stacking rules and categories

When customers use more than one incentive in a single order, stacking rules and categories control how they interact. They define application order, compatibility between campaigns, discount calculation, and limits on how many incentives can apply.

## What you can configure

Use stacking rules and categories to define how campaigns behave when combined.

<CardGroup cols={2}>
  <Card title="Manage categories" icon="folder" href="/orchestrate/manage-categories">
    Create categories, set hierarchy, and define how campaigns behave when combined. Assign campaigns to categories to control stacking.
  </Card>

  <Card title="Stacking rules" icon="layer-group" href="/orchestrate/stacking-rules">
    Configure global settings such as application order, validation policy, discount calculation, and limits.
  </Card>

  <Card title="Using stacking rules and categories" icon="lightbulb" href="/orchestrate/using-stacking-rules-and-categories">
    See practical scenarios that show how stacking rules and categories work together.
  </Card>
</CardGroup>

## Key concepts

These concepts help you understand how stacking rules and categories work together.

* **Categories**: group campaigns and define how they interact when used together.
* **Stacking rules**: define default behavior for validation and redemption requests.
* **Hierarchy**: defines priority between categories when **Hierarchy priority** is used. A lower number means higher priority.

## Category stacking eligibility

Each category has a stacking eligibility that defines how it interacts with other categories.

* **Common**: follows standard rules. Stacks with **Common** and **Always stackable**, but not with **Never stackable**.
* **Never stackable**: blocks **Common** categories in the same redemption. Still stacks with **Always stackable** and other **Never stackable** categories.
* **Always stackable**: always joins the redemption stack if valid. Stacks with all categories, including **Never stackable**.

## How categories interact

The table below shows how different category types behave when combined.

| Category A       | Category B       | Result         |
| ---------------- | ---------------- | -------------- |
| Common           | Common           | Stack together |
| Common           | Never stackable  | Do not stack   |
| Common           | Always stackable | Stack together |
| Never stackable  | Never stackable  | Stack together |
| Never stackable  | Always stackable | Stack together |
| Always stackable | Always stackable | Stack together |

<Tip>
  Use the **Compatibility guide** in the **Stacking rules** view to preview how categories interact before assigning campaigns.
</Tip>

## Why stacking rules matter

Stacking rules help you control how incentives combine and prevent unexpected results.

You can use stacking rules to:

* **Prevent over-discounting**: limit how many incentives apply in one request.
* **Protect exclusive offers**: use **Never stackable** categories to block **Common** campaigns.
* **Ensure required incentives apply**: use **Always stackable** for campaigns that should always be included.
* **Control discount order**: choose between request order and hierarchy priority.
* **Handle edge cases**: define behavior for failed validation, rollback, or no-effect incentives.

## What's next?

To start using stacking rules, first create categories and then configure global settings.

Start with [Manage categories](/orchestrate/manage-categories) to create your category structure. Then configure [Stacking rules](/orchestrate/stacking-rules) to define global behavior. See [Using stacking rules and categories](/orchestrate/using-stacking-rules-and-categories) for real-world examples.
