Skip to main content

Overview

Outcome types define the vocabulary of customer interactions that Kaireon tracks. Every time a customer interacts with a recommendation — viewing it, clicking it, converting, dismissing it, or complaining — that interaction is recorded as an outcome with a specific type. Outcome types drive reporting, contact policies, behavioral metrics, and experiment analysis.

Key Fields

FieldTypeDescription
keystringUnique machine-readable identifier (e.g., click, conversion)
namestringHuman-readable display name
descriptionstringDescription of when this outcome is recorded
classificationenumSentiment classification
categoryenumInteraction category

Classification

ValueDescription
positiveCustomer showed interest or took a desired action
negativeCustomer explicitly rejected or had a bad experience
neutralInformational interaction with no clear sentiment

Category

ValueDescription
impressionThe customer was exposed to the recommendation
responseThe customer took an action in response to the recommendation

System Defaults

Kaireon ships with 10 built-in outcome types that cover the most common interaction patterns:
KeyNameClassificationCategory
impressionImpressionneutralimpression
clickClickpositiveresponse
conversionConversionpositiveresponse
not_interestedNot Interestednegativeresponse
opt_outOpt Outnegativeresponse
deferDeferneutralresponse
dismissDismissnegativeresponse
shareSharepositiveresponse
saveSavepositiveresponse
complaintComplaintnegativeresponse
System default outcome types cannot be deleted or modified. They are always available across all tenants.

Custom Outcome Types

You can create custom outcome types to capture domain-specific interactions: Examples:
KeyNameClassificationCategoryUse Case
quote_requestedQuote RequestedpositiveresponseInsurance: customer requested a quote
appliedAppliedpositiveresponseBanking: customer started an application
scheduled_callScheduled CallpositiveresponseAdvisory: customer booked a follow-up
forwardedForwardedpositiveresponseCustomer forwarded the offer to someone
expiredExpiredneutralimpressionOffer expired before customer saw it

How Outcome Types Are Used

Respond API

When recording interactions via the Respond API, you specify the outcome type key. Kaireon validates it against the registered outcome types.

Contact Policies

The outcome_based contact policy rule type references outcome types to suppress offers (e.g., suppress for 90 days after a complaint).

Behavioral Metrics

Behavioral metrics aggregate interactions by outcome type (e.g., count of click events in 7 days).

Experiments

A/B test analysis uses outcome types to calculate conversion rates and uplift (typically comparing impression to conversion).

Creating a Custom Outcome Type

1

Navigate to Outcome Types

Go to Studio > Outcome Types in the sidebar.
2

Click Create Outcome Type

Click the + New Outcome Type button.
3

Define the key

Enter a unique machine-readable key (lowercase, underscores allowed). This cannot be changed after creation.
4

Set name and description

Enter a human-readable name and description explaining when this outcome should be recorded.
5

Choose classification

Select positive, negative, or neutral.
6

Choose category

Select impression or response.
7

Save

Save the outcome type. It is immediately available for use in the Respond API and throughout the platform.

API Reference

List Outcome Types

GET /api/v1/outcome-types
Response:
{
  "data": [
    {
      "key": "impression",
      "name": "Impression",
      "description": "Customer was shown the recommendation",
      "classification": "neutral",
      "category": "impression",
      "isSystem": true
    },
    {
      "key": "click",
      "name": "Click",
      "description": "Customer clicked on the recommendation",
      "classification": "positive",
      "category": "response",
      "isSystem": true
    },
    {
      "key": "quote_requested",
      "name": "Quote Requested",
      "description": "Customer requested a price quote",
      "classification": "positive",
      "category": "response",
      "isSystem": false
    }
  ]
}

Create a Custom Outcome Type

POST /api/v1/outcome-types
Content-Type: application/json
Request body:
{
  "key": "quote_requested",
  "name": "Quote Requested",
  "description": "Customer requested a price quote for the offered product",
  "classification": "positive",
  "category": "response"
}
Response (201 Created):
{
  "key": "quote_requested",
  "name": "Quote Requested",
  "description": "Customer requested a price quote for the offered product",
  "classification": "positive",
  "category": "response",
  "isSystem": false,
  "createdAt": "2026-03-10T14:30:00Z"
}

Delete a Custom Outcome Type

DELETE /api/v1/outcome-types/:key
Only custom outcome types can be deleted. System defaults are permanent. Deleting an outcome type does not remove historical interaction records that used it.