Advanced Rules give you fine-grained control over how returns are processed. They can often replace traditional tag-based setups like swap_noentry.
Each rule consists of conditions (when the rule applies) and actions (what happens when it does). You can combine multiple conditions and actions within a single rule.
If the conditions pass, the actions are executed.
This article is for users of Returns V2. For the Returns V1 version, click here.
Accessing Advanced Rules
To create or manage rules:
Go to the Returns Dashboard.
Under Returns, select Advanced Rules.
On this page, you can:
+ New Rule: Create a new rule.
Activate / Deactivate: Turn a rule on or off. Deactivated rules remain saved but don’t apply.
To reactivate, go to the Inactive tab.
Edit: Click on a rule to change its conditions or actions.
Delete: Permanently remove a rule. Use with caution, as deleted rules cannot be recovered.
Exceptions: Add specific orders to the exceptions list to allow blocked orders to bypass an Advanced Rule and be processed for returns.
Conditions
Conditions define when a rule should apply. You can use multiple conditions per rule. Conditions can be joined using AND or OR logic, but not both.
Condition | Description |
Customer email is one of the attached emails | This condition applies to returns from customers whose email addresses are on the specified list. |
Customer email is not one of the attached emails | This condition applies to returns from customers whose email addresses are not on the specified list. |
Customer has purchased more than X times in Y days | Triggers when a customer makes more than X purchases within Y days. You can specify a range, such as “greater than.” |
Customer has returned more than X times in Y days | Triggers when a customer makes more than X returns within Y days. E.g. If the rule is “more than 1 return in 1 day”: 1st return, allowed. 2nd return, there is no more than 1 return, so it is allowed. 3rd return, the rule triggers, as there are 2 returns already. |
Customer tagged with | This condition applies to returns from customers with a specific tag on Shopify. |
Order created X days ago | This condition targets orders created a certain number of days ago. You can specify a range, such as “greater than.” |
Order fulfilled X days ago | Targets orders fulfilled a certain number of days ago. |
Order delivered X days ago | Targets orders delivered a certain number of days ago. |
Order fulfilled between dates | Targets orders fulfilled within a specified date range. |
Order delivered between dates | This condition targets orders where the delivery date falls within a specific date range. If the delivery date is not available, Swap will use the fulfilment date instead. |
Order made between X and Y days | Targets orders placed between X and Y days ago. |
Order is not tagged with | This condition targets orders that do not have a specific tag associated with them. |
Order made using one of the following discount codes | This condition applies to orders placed using a discount code from the specified list. |
Order placed with discount code | Applies to orders placed using any discount code. |
Order number is one of the following | This condition applies if the order number is on the specified list. |
Order number is not one of the following | This condition applies if the order number is not on the specified list. |
Order paid with gift card | This condition targets all orders that were paid for using a gift card. |
Order tagged with | This condition targets orders that have a specific tag associated with them. |
Order’s value is | This condition targets orders of a certain value. You can specify a range, such as “Greater than,” or a set value with “Equals.” |
Orders originating from specific countries | This condition applies to orders that were shipped from specific countries. |
Orders within the date range | This condition targets orders that were placed within a specified date range. |
Entire order returned (any number of returns) | Applies when all original items in the order have been returned. The items may be returned in a single return or across multiple return requests. Exchange items created during the return process are not considered part of the original order for this evaluation. If any original item has not been returned, the condition does not apply. If any original item is marked as non-returnable, the condition does not apply. |
Return all items from the order | Applies when the current return request contains all remaining original items from the order. |
Return’s number of items is | Applies based on the number of items being returned. |
Return’s shipping status is one of the following | Applies to returns with a specific shipping status. |
Return’s total package weight is | Applies based on the total weight of the return package. |
Return’s type is one of the following | Applies to returns of specified types such as Refund, Store Credit, or Exchange. |
Return’s type is not one of the following | Applies to returns not of specified types. |
Return contains faulty items | Applies when the return includes items marked with a faulty return reason. |
Item is marked with faulty return reason | Applies to individual line items marked with a faulty reason. |
Product SKU is | This condition targets products with a specified SKU. |
Product SKU is missing | Applies to products where the SKU is empty or not defined. |
Product discount is | This condition targets products with a specified discount precentage. You can specify a range, such as “greater than,” and have to choose between variant or compare at price. |
Product name is | This condition targets products with a specified name. |
Product tagged with | This condition targets products that have a specific tag. |
Product not tagged with | This condition targets products that do not have a specific tag. |
Product’s value is | This condition targets products of a certain value. You can specify a range, such as “greater than.” |
Product line item properties | Applies to line items that contain specific Name and Value properties. You must configure: Name and Value. The condition uses equals logic only. If a line item contains a property where both the Name and Value match the configured pair, the condition applies to that line item. If no matching property exists, the condition does not apply. Multiple line items in the same order can independently satisfy this condition. |
Actions
Actions define what happens when the rule is triggered. You can apply more than one action per rule.
Action | Description |
After X days, return will be processed automatically | Auto-processing of the return after a set number of days. |
Calculate the postage fee by multiplying | Increases postage cost by a fixed multiplier. |
Change status to needs review | Flags the return for manual review. |
Order is not eligible for return | Blocks the return entirely for this order. |
Product is only eligible for returns of the following types | Restricts return options for a specific product. Options include “Shop later credit,” "Exchange,” and “Refund.” |
Product is only eligible for the following carriers | Restricts eligible return carriers for a product. |
Return postage is free for this order | Waives return postage for the order. |
Return will be automatically processed | Approves and processes the return automatically. |
Return window does not affect this order | Ignores return window constraints for the order. |
Set Return Handling Fee | Adds a fixed handling fee to the return. |
Set postage fee to | Applies a flat return postage fee. |
This order can only be returned for the following types | Restricts return types for the whole order. Options include “Shop later credit,” "Exchange,” and “Refund.” |
This order receives reduced return postage | Applies discounted postage to the return. |
This product cannot be returned | Prevents return of a specific product. |
Refund outbound shipping | Refunds the original outbound shipping fee of the order. This action executes only when the return includes a refund, does not execute for store credit–only returns, refunds the full outbound shipping amount, executes even if the return also contains exchanges. When combined with Entire order returned (any number of returns), outbound shipping is refunded only once all original items have been returned. |
Trigger webhook | Sends data to an external system via webhook. |
Set Shop Now Bonus % | Override the Shop Now credit bonus percentage. Must be between 0.00% and 100.00%. |
Set Shop Later Bonus % | Override the Shop Later (gift card) bonus percentage. Must be between 0.00% and 100.00%. |
RMA History
Advanced Rule actions and manual overrides are recorded in the RMA history.
Advanced Rule activity
When an Advanced Rule is applied, a note is added:
Advanced Rule: [Rule Name] was applied.
If multiple rules are triggered, each rule generates its own entry.
Repeated evaluations do not create additional entries.
Combining Multiple Conditions and Actions
You can use multiple conditions and actions in a single rule.
Conditions can be joined using AND or OR, but not both in the same rule.
All actions tied to a rule will be applied if the conditions are met.
Return Type Classification
Return type classification depends on the actions used in the Advanced Rule.
In general, if a return contains a refund, it is classified as a refund return, even if it includes an exchange.
However, for the following actions, if a return contains at least one exchange item, it is treated as an exchange return for rule evaluation and shipping fee calculation:
Set postage fee
Calculate the postage fee by multiplying
Return postage is free for this order
Set Return Handling Fee
Return will be automatically processed
After X days, return will be processed automatically
Change status to needs review
Example Rules
Here are two example rules to show the possibilities of Advanced Rules.
VIP customer free returns
Customers tagged as VIP in Shopify receive free return postage.
Condition: Customer tagged with VIP
Action: Return postage is free for this order
Discounted Orders Can’t Be Refunded
Orders placed using certain discount codes are only eligible for exchange or store credit.
Condition: Order made using one of the following discount codes
Action: This order can only be returned for the following types → Store Credit, Exchange
Note: Avoid using “Order placed with discount code” if your store uses codes for free shipping as this would apply to those too.
Troubleshooting Blocked Returns and Adding Exceptions
If an Advanced Rule is blocking an order, you can create exceptions to temporarily allow the return process: Adding an Exception for a Single Order:
Navigate to
Settings > Advanced Rules.Deactivate the specific rule blocking the return.
Go to the 'Inactive' tab, locate the Advanced Rule, and click
Edit.Add another condition by using "AND": "Order number is not one of the following".
Reactivate the Advanced Rule.


