# Reward fulfillment

> Track every reward members receive, fulfill custom rewards, retry failed ones, and cancel redemptions.

Breadcrumb: Loyalty › Reward fulfillment · Updated: 2026-10-17
Docs index: https://docs.cevoid.com/llms.txt

Reward fulfillment is where you track the rewards members receive from activities, tiers, purchase incentives, and redeemable rewards. Since Cevoid fulfills most rewards automatically, your team uses it to process custom rewards and to follow up on rewards that failed.

Navigate to [Loyalty → Fulfillment](https://app.cevoid.com/program/fulfillment) to manage reward fulfillment.

## How reward fulfillment works

The _Reward fulfillment_ page lists every reward members receive, except points: points go straight to the member's balance and aren't listed.

- **Automatic rewards:** Cevoid creates and delivers discount codes, free products, and badges. They show as _In progress_ while Cevoid creates them, then as _Fulfilled automatically_, or as _Failed_ if something went wrong.
- **Custom rewards:** your team delivers them outside Cevoid. They arrive as _Unfulfilled_ and wait for your team to [mark them as fulfilled](https://docs.cevoid.com/loyalty/rewards/reward-fulfillment#fulfill-a-custom-reward).

**Fulfillment** in the sidebar shows a red count of failed rewards and a count of unfulfilled ones. The [program overview](https://app.cevoid.com/program) also lists rewards that failed or wait to be fulfilled.

The page opens on **Unfulfilled** when there are unfulfilled rewards, otherwise on **All**. The tabs are **All**, **Unfulfilled**, **In Progress** (including rewards being retried), **Fulfilled** (by your team, by Cevoid, or by a third party), **Cancelled**, and **Failed**. The table's columns are _Reward_, _Source_, _Type_, _Member_, _Status_, _Awarded by_, and _Awarded at_. You can search the table and filter it.

## Reward statuses

| Status | Description |
| --- | --- |
| _Unfulfilled_ | The reward is waiting for your team. Custom rewards start here |
| _In progress_ | Cevoid is creating the reward, or your team set it to _In progress_ while handling it |
| _Retrying_ | Cevoid is trying again to deliver a failed reward |
| _Fulfilled_ | Your team marked the reward as fulfilled |
| _Fulfilled automatically_ | Cevoid delivered the reward to the member |
| _Fulfilled by third party_ | Another system delivered the reward |
| _Cancelled_ | The reward was cancelled and won't be delivered |
| _Failed_ | Something went wrong when Cevoid tried to deliver the reward |
| _Failed by third party_ | Another system failed to deliver the reward |

## Reward details

Open a reward to see its details in the _Reward fulfillment_ drawer. You can also open it from the member's profile, on the **Loyalty** tab, or from a redeemable reward's page.

| Section | What it shows |
| --- | --- |
| _Fulfillment_ | _Status_, _Failed reason_ for a failed reward, _Created at_, _Fulfilled at_, and _Fulfilled by_ (Manually, Cevoid, or Third party) |
| _Recipient_ | The member and their email |
| _Source_ | Where the reward came from, such as an activity, a redeemable reward, a tier entry reward, or a purchase incentive, and the member's _Market_ |
| Discount code details | The _Code_ with **Copy code**, whether it's one-time or multi-use, its _Code status_ (Active, Used, or Expired), and when it _Expires_ |

Use the _Status_ dropdown to set a reward to **Unfulfilled**, **In progress**, **Fulfilled**, or **Cancelled**. The dropdown is locked for rewards fulfilled automatically or by a third party.

## Fulfill a custom reward

When a member earns a custom reward, it appears on the _Reward fulfillment_ page as _Unfulfilled_ for your team to process.

1. Navigate to [Loyalty → Fulfillment](https://app.cevoid.com/program/fulfillment)
2. Open a custom reward with **Unfulfilled** status
3. Verify the member and reward details
4. Deliver the reward to the member outside of Cevoid
5. Click **Mark as fulfilled**

**From a profile:**

1. Navigate to [Profiles](https://app.cevoid.com/profiles) and open the member's profile
2. Click the **Loyalty** tab
3. Open the menu on the reward's row
4. Click **Mark as fulfilled**

## Retry a failed reward

A failed reward always has a _Failed reason_ that says what happened, and for discount codes whether a code was created. A connection failure, for example, is usually temporary. Read it before you retry.

1. Navigate to [Loyalty → Fulfillment](https://app.cevoid.com/program/fulfillment)
2. Open a reward with **Failed** status
3. Read the _Failed reason_
4. Click **Retry fulfillment**. The status changes to _Retrying_.

**Retry fulfillment** shows for rewards that are _Failed_ or _Retrying_, as long as the member is still in your program.

## Cancel a reward

Cancelling gives the member back the points they spent on a [redeemable reward](https://docs.cevoid.com/loyalty/rewards/redeemable-rewards.md). Only rewards bought with points can be cancelled this way: activity, tier, and purchase incentive rewards cost the member nothing, so there's nothing to give back.

A failed redemption keeps the member's points until you retry or cancel it. Cevoid never refunds points automatically.

1. Navigate to [Loyalty → Fulfillment](https://app.cevoid.com/program/fulfillment)
2. Open the redeemed reward
3. Click **Cancel reward**
4. Click **Cancel reward** in _Cancel this reward?_. The member's points are refunded and the reward isn't delivered.

Selecting **Cancelled** in the reward's _Status_ dropdown asks for the same confirmation.

> [!WARNING]
> Cancelling a reward can't be undone. A cancelled redemption can't move to another status.

To give back points for an undelivered redemption, cancel the reward instead of [adjusting the member's points](https://docs.cevoid.com/profiles.md#adjust-a-members-points). A manual adjustment adds new points with a new expiry date and counts toward tier progress. A cancellation returns the original points with their original expiry.

## Customer experience

Members see their rewards in the _My rewards_ widget. Until a reward is delivered, it shows "This reward is being processed." and no code. Once Cevoid or your team fulfills it, the member sees the reward, and for discount codes and free products the code with **Copy code**.

**Related emails**

- [Reward Fulfilled](https://docs.cevoid.com/loyalty/setup/program-emails-and-triggers.md#reward-fulfilled)

## Related articles

- [Available rewards](https://docs.cevoid.com/loyalty/rewards/available-rewards.md)
- [Redeemable rewards](https://docs.cevoid.com/loyalty/rewards/redeemable-rewards.md)
- [Profiles](https://docs.cevoid.com/profiles.md)
- [Challenges](https://docs.cevoid.com/loyalty/activities/challenges.md)

---

Canonical: https://docs.cevoid.com/loyalty/rewards/reward-fulfillment
