# 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](/main-features/campaigns/campaigns-and-referral-campaigns/creating-campaigns/transaction-item-filters.md)
{% 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.openloyalty.io/main-features/campaigns/campaigns-and-referral-campaigns/creating-campaigns/trigger-types/return-transaction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
