Skip to main content

What is a Policy Group?

A Policy Group is the top-level container for a set of related business rules. Think of it like a Git repository — it holds multiple versions of your rules and manages their lifecycle. Each policy group has:
  • A unique name (e.g., tiered-discount, fraud-detection)
  • A priority that determines execution order when multiple groups apply
  • A status that controls whether the group accepts traffic

Group Status

Disabling a group immediately stops all traffic to it. Use this as an emergency kill switch when you need to halt rule execution without modifying rules.

Creating a Group

In the Console, navigate to Policies → New Policy Group and fill in:
  • Name: A descriptive, unique identifier
  • Description: What this group of rules does
  • Priority: Lower numbers = evaluated first (1 is highest)

Execution Mode

When several policy groups share an Execution Group, the Execution Mode (activationMode) controls how many of those groups run. It counts groups, not rules — every rule of a winning group fires. When using EXCLUSIVE or MAX_N mode, the Priority Strategy (activationStrategy) ranks the competing groups. HIGHEST_PRIORITY is the only strategy — the group with the lowest priority number wins.
An Execution Group with only one member never competes, so the mode has no effect until a second group joins the same Execution Group.
Execution Mode applies at the group level — controlling competition between groups that share the same Execution Group (activationGroup). For rule-level conflict resolution within a single version, see Mutex Groups.

A/B Testing

Policy groups support A/B testing to compare two versions’ performance with live traffic. To start an A/B test, you need a currently deployed (live) version, a test version (must be ACTIVE/published), and a traffic percentage to route to the test version (1–99%). The remaining traffic continues to the live version. A/B tests produce execution logs for both versions, so you can compare their performance in the History tab. Those are the conditions on the group. There is one more on the request: every execution call has to carry context.trafficKey, or the split never happens and the test version stays at 0%. See Traffic Identity Key.

Next Steps

Policy Versions

Learn how versions work inside a group.

A/B Testing

Set up traffic splitting between versions.