# Return Transaction

The **Return Transaction** trigger fires when a return related to a member’s previous purchase is recorded in Open Loyalty. This campaign behaves independently—it does **not** mirror or revert original reward campaigns, but lets you configure a **separate reward or penalty flow** specifically for returns.&#x20;

***

### 🎯 When This Trigger Fires

This trigger activates when:

* A return transaction is submitted via API or admin interface, and
* The return is matched to an existing purchase associated with a member.

***

### ✅ Why Use This Trigger

* **Account Accuracy**: Automatically deducts points or balances when items are returned.&#x20;
* **Fraud Prevention**: Prevents exploitation by reversing rewards on returns.&#x20;
* **Program Integrity**: Ensures return-based adjustments don’t affect member tiers or campaign counters from the original purchase campaign.&#x20;

***

### 🛠️ Step-by-Step Setup

{% stepper %}
{% step %}
**Add Campaign**

Go to **Campaigns** or **Referral Campaigns** → ***Add campaign*** → select **Return Transaction** trigger.
{% endstep %}

{% step %}
**Set Basic Campaign Details**

* Name, Description, Translations
* Start/End Date, Display Order, Visibility (Everyone / Segment / Tier)
* **Campaign Status** – The campaign will start only if it is active
  {% endstep %}

{% step %}
**Add Transaction Item Filer**

Use filters to refine which items in the transaction count toward campaign conditions or effects.

* Select filters such as brand, category, SKU, and custom item attributes.
* In the next step, you will be able to refer to these items only in the campaign rules.

{% hint style="info" %}
For more information on how to create and use a transaction item filter, please refer to this section of the User Guide: [transaction-item-filters](https://help.openloyalty.io/main-features/campaigns/campaigns-and-referral-campaigns/creating-campaigns/transaction-item-filters "mention")
{% endhint %}
{% endstep %}

{% step %}
**Add Rules**

* **Condition**: (optional) e.g.,
  * *Transaction.grossValue* ≥ 50
  * Includes product filters: brand, category, SKU
  * Date/time qualifiers: weekday, purchase hour
  * Quantity / gross value of the filtered transaction items
* **Effect**: e.g., "Deduct units: 1 × grossValue", "Deduct 100 fixed points", "Issue coupon".
  {% endstep %}

{% step %}
**Set Limits & Budget**

* Per-member frequency (e.g., once per month)
* Campaign-level spending caps (total units)
  {% endstep %}

{% step %}
**Summary**

* Review the campaign configuration and amend if needed
* Click on **Add Campaign**
  {% endstep %}
  {% endstepper %}

***

### 👥 Use Case Examples

* **Reversal Rule**: \
  Deduct the exact number of points earned for returned items.
* **Return Penalty**: \
  Subtract 100 loyalty units for returns over $50.
* **Return Bonus**: (Use case-dependent) \
  Provide a coupon instead of deducting units—for example, redeemable against future purchases.

***

### 📌 Important Notes

* This campaign operates **independently**—it doesn’t affect original purchase campaigns, member tiers, or purchase-based counters.
* Returns must be matched with a member to trigger effects.&#x20;
* Transaction items must be manually added to the return transaction.
* You can configure multiple return campaigns (e.g., tiered deductions for different return reasons or values).

***

### 📊 Best Practices

* **Test Configuration**: \
  Use the **Campaign Simulator** or API to ensure return rules work as expected.
* **Monitor Regularly**: \
  Check engagement and deduction rates to avoid overcharging members.
* **Maintain Transparency**: \
  Clearly communicate return-based deductions in your policy to maintain member trust.
