Skip to main content

Overview

Qualification rules determine whether a customer is eligible to receive a specific offer. They are evaluated during the Filter stage of a decision flow and come in two categories: hard qualification (binary pass/fail) and soft fit (0-1 multiplier that adjusts scoring).

Rule Categories

Hard qualification rules produce a binary pass or fail result. If a customer fails any hard qualification rule, the offer is removed from the candidate set entirely.
Rule TypeDescription
segment_requiredCustomer must belong to one or more specified segments
attribute_conditionCustomer attribute must satisfy a condition (e.g., age >= 18, state != "NY")
Example: Segment Required
{
  "ruleType": "segment_required",
  "qualification": "hard",
  "config": {
    "segments": ["credit_eligible", "active_account"],
    "matchMode": "all"
  }
}
Example: Attribute Condition
{
  "ruleType": "attribute_condition",
  "qualification": "hard",
  "config": {
    "attribute": "customer.age",
    "operator": ">=",
    "value": 18
  }
}

Scope

Qualification rules can be scoped to apply broadly or narrowly:
ScopeDescription
globalApplies to all offers across all categories
categoryApplies to all offers within a specific category
Global rules are evaluated first, followed by category-specific rules. If a customer fails a global rule, category rules are not evaluated for that offer.

Decision Flow Modes

When a decision flow reaches the Filter stage, you can control how qualification rules are applied:
ModeDescription
Apply AllAll active qualification rules (global + category) are evaluated. This is the default.
Select SpecificOnly the qualification rules explicitly selected in the flow configuration are evaluated.
SkipQualification rules are bypassed entirely for this flow.
Use Skip mode with caution. Bypassing qualification rules means offers may be recommended to ineligible customers, potentially causing compliance or customer experience issues.

Creating a Qualification Rule

1

Navigate to Qualification Rules

Go to Studio > Qualification Rules in the sidebar.
2

Click Create Rule

Click the + New Rule button.
3

Name the rule

Enter a descriptive name (e.g., “Must be 18+” or “High Propensity for Credit Cards”).
4

Choose qualification type

Select Hard (pass/fail) or Soft (multiplier).
5

Select rule type

Choose the specific rule type: segment_required, attribute_condition, propensity_threshold, or recency_check.
6

Configure parameters

Fill in the rule-specific configuration (segments, attribute conditions, thresholds, multipliers).
7

Set scope

Choose Global or select a specific Category for the rule to apply to.
8

Save

Save the rule. It is immediately active and will be evaluated in all decision flows using the “Apply All” or “Select Specific” mode.

API Reference

Create a Qualification Rule

POST /api/v1/qualification-rules
Content-Type: application/json
Request body:
{
  "name": "Credit Eligibility Check",
  "description": "Customer must be in the credit_eligible segment and at least 18 years old",
  "qualification": "hard",
  "ruleType": "attribute_condition",
  "scope": "category",
  "categoryId": "cat_credit_cards",
  "config": {
    "conditions": [
      {
        "attribute": "customer.age",
        "operator": ">=",
        "value": 18
      },
      {
        "attribute": "customer.segment",
        "operator": "contains",
        "value": "credit_eligible"
      }
    ],
    "matchMode": "all"
  },
  "enabled": true
}
Response (201 Created):
{
  "id": "qr_credit_check",
  "name": "Credit Eligibility Check",
  "description": "Customer must be in the credit_eligible segment and at least 18 years old",
  "qualification": "hard",
  "ruleType": "attribute_condition",
  "scope": "category",
  "categoryId": "cat_credit_cards",
  "enabled": true,
  "createdAt": "2026-03-10T14:30:00Z",
  "updatedAt": "2026-03-10T14:30:00Z"
}

List Qualification Rules

GET /api/v1/qualification-rules
Filter by scope, categoryId, or qualification type using query parameters.

Update a Qualification Rule

PUT /api/v1/qualification-rules/:id

Delete a Qualification Rule

DELETE /api/v1/qualification-rules/:id

Evaluation Order

During a decision flow’s Filter stage, qualification rules are evaluated in this order:
  1. Global hard rules — Any failure removes the offer
  2. Category hard rules — Any failure removes the offer
  3. Global soft rules — Multipliers are accumulated
  4. Category soft rules — Multipliers are accumulated
  5. Final score adjustment — The offer’s base score is multiplied by the product of all soft fit multipliers
For example, if a soft propensity rule returns 0.8 and a soft recency rule returns 0.5, the offer’s score is multiplied by 0.8 * 0.5 = 0.4.