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

# When a reward goes missing

> Revert, then redeem: the two clicks that put a removed free gift back.

OPENSUBS PLATFORM

Loyalty rewards ([Set up rewards](https://docs.opensubs.com/platform-v2/run/set-up-rewards.md)) come in two kinds: free gifts the subscriber redeems, and discounts that apply to the next order by themselves. Everything you need is on the subscription's page.

**1. Read the reward's state first**

* Open the subscription and find the **Reward history** card: every reward this customer earned, with a status.

| Status | Meaning |
| - | - |
| **Available** | Earned, not yet used. |
| **Redeemed** | On the upcoming order. |
| **Processed** | Billed onto an order, with a **View order** link. |

* The **Customer** card shows the running count of recurring orders toward rewards.

> [!TIP]
>
> **Checkpoint:** the status names your case; the steps below match.

![Reward history: discounts and free gifts with Redeemed and Processed statuses, Revert on a redeemed gift.](https://mintcdn.com/opensubs-docs/T6NpYT9MdOxqnOk5/images/platform-v2/run/23-reward-history.png?fit=max\&auto=format\&n=T6NpYT9MdOxqnOk5\&q=85\&s=fc7fc275985df5ddad2f503592ecbd36)

**2. Put a removed free gift back**

* The scenario: the gift line is gone from **Items**, but **Reward history** still reads **Redeemed**.
* Click **Revert** on the gift's row and confirm; the reward returns to **Available**.
* In **Available rewards**, above the history, click **Redeem** and confirm with **Add gift**. The line returns to **Items** at zero, marked **Free Gift**.

> [!WARNING]
>
> **Don't re-add the gift with Add product.** That creates a paid line: the subscriber gets billed for their own reward.

> [!TIP]
>
> **Checkpoint:** the gift is back at zero, history row **Redeemed** again.

![Available rewards: an earned free gift one Redeem away from the subscription.](https://mintcdn.com/opensubs-docs/T6NpYT9MdOxqnOk5/images/platform-v2/run/24-available-rewards.png?fit=max\&auto=format\&n=T6NpYT9MdOxqnOk5\&q=85\&s=e6732d393e431df3f9b7130d962f06d8)

**3. A gift that vanished after an order isn't missing**

* A gift belongs to one order: once billed, the line leaves the subscription by itself and the history row reads **Processed**, with a **View order** link. Nothing to fix.
* Merging subscriptions strands gift lines on the retired subscription; an unshipped gift there still reads **Redeemed**, and **Revert** works from the surviving subscription. **Unable to revert the reward gift** means the retired contract is no longer editable in Shopify: raise it with whoever runs your code.

> [!NOTE]
>
> **Not every free gift is a reward.** A save-offer gift from your cancellation flow looks identical but has no Reward history row, so Revert and Redeem never show for it.

**4. The discount that never appeared**

* Amount-off and percentage-off rewards apply themselves and show on the **Payment summary** card as **Reward Discount**, good for one order.
* A customer with several subscriptions gets the discount on whichever bills next: check the siblings first.
* Remove buttons on the **Payment summary** target promo codes, not reward discounts.
* A discount that couldn't land yet applies as renewals advance; one that gave up shows on **Settings > Operational health** ([When an alert opens](https://docs.opensubs.com/platform-v2/run/when-an-alert-opens.md)).

> [!TIP]
>
> **Checkpoint:** one subscription shows **Reward Discount**, or Operational health explains why not.

**5. When Redeem is refused**

* "Reward not found" usually means it was redeemed already: refresh and re-read the history.
* "Unable to add reward gift" usually means the gift product or its variant no longer exists; the history row falls back to "Free gift" with no price. Restore the product in Shopify and redeem again.
* If the product is gone for good, pick a new gift for the tier under **Settings > Rewards** and make this subscriber whole.

> [!TIP]
>
> **Checkpoint:** the gift redeems clean, or the refusal is identified.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.