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

# Incentive Notifications

> How to notify customers about earned rewards, tier changes, and expiring incentives.

Incentive notifications are the comms that close the loop between earning and action. A customer who earns a reward but never hears about it won't come back to spend it, the notification is part of the incentive.

## Common incentive notification types

| Notification           | Trigger                                         | Timing                             |
| ---------------------- | ----------------------------------------------- | ---------------------------------- |
| Welcome reward issued  | Profile created                                 | Immediately on join                |
| Reward earned          | Transaction completed                           | Within minutes of purchase         |
| Tier upgrade           | Tier attained                                   | Immediately on attain              |
| Tier at risk           | Anniversary approaching with insufficient spend | 30-60 days before anniversary      |
| Reward expiry reminder | X days before expiry                            | Configurable (typically 14 days)   |
| Benefit issued         | Benefit created on profile                      | Immediately on issue               |
| Birthday reward        | Birthday approaching                            | Typically 3-7 days before birthday |
| Balance summary        | Scheduled campaign                              | Monthly or quarterly               |

## How notifications are triggered

Incentive notifications are sent via **Reactions**. Each reaction can include a `target.send` action that fires a notification payload to your connected comms platform (Klaviyo, Salesforce Marketing Cloud, Braze, etc.).

The typical flow:

1. Event fires (e.g., `transaction.completed`, `tier.achieved`, `reward.expiring`)
2. Reaction evaluates any conditions
3. `target.send` action fires with the relevant event context
4. Comms platform receives the payload and sends the email/SMS/push notification

## Reward earned notification

The most common incentive notification. Configure this as a reaction on `transaction.completed`:

```json theme={null}
{
  "event": "transaction.completed",
  "actions": [
    {
      "type": "target.send",
      "target_handle": "klaviyo-reward-earned",
      "sort_order": 1
    }
  ]
}
```

The target payload should include:

* Customer first name
* Reward amount earned this transaction
* Total reward balance
* Balance expiry date (if applicable)
* CTA linking to Profile Portal or your eCommerce account page

## Tier change notification

Configure on `tier.achieved` to celebrate upgrades:

```json theme={null}
{
  "event": "tier.achieved",
  "actions": [
    {
      "type": "target.send",
      "target_handle": "klaviyo-tier-upgrade",
      "sort_order": 1
    }
  ]
}
```

The event context for `tier.achieved` includes the tier handle and name, which lets you personalise the message to match the tier (Gold, Platinum, etc.).

## Expiry reminder notification

Omneo can fire a reaction on a scheduled basis to find customers with rewards expiring soon. Use an **Automation** (scheduled reaction) that runs daily and filters for profiles with a reward expiry within the next 14 days:

```json theme={null}
{
  "type": "automation",
  "schedule": "0 8 * * *",
  "filters": [
    {
      "attribute": "reward_expires_in_days",
      "operator": "<=",
      "value": 14
    }
  ],
  "actions": [
    {
      "type": "target.send",
      "target_handle": "klaviyo-expiry-reminder"
    }
  ]
}
```

<Note>
  The exact filter attribute names for reward expiry reminders depend on your Omneo configuration. Confirm with your Omneo team which aggregation fields are available for expiry-based scheduling.
</Note>

## Tier at risk

Notifying customers when they are at risk of losing a tier is one of the highest-impact retention tactics available. The message should be specific: "You need to spend \$X more before \[date] to keep your Gold status."

The data required comes from the profile's aggregations (spend\_12m, tier attain threshold, anniversary date). This data is available in the event context for automations targeting tier-holding profiles.

## Notification content best practices

**Be specific.** "You earned a \$12.50 reward" beats "You've been rewarded." Specificity makes the value feel real.

**Show the running balance.** Customers who can see their accumulating balance are more motivated to continue.

**Give the expiry date.** Always show when rewards expire. Urgency drives redemption. Redemption drives return visits.

**Make the CTA frictionless.** Link directly to the checkout page or the Profile Portal balance view. Don't make the customer hunt.
