---
title: Handling Users With Multiple Roles (Exceptions)
description: "Handle WordPress users with multiple roles in coupon rules: use the Exceptions fields to keep specific users eligible."
url: "https://wpfactory.com/docs/coupon-exceptions-multiple-roles/"
updated: "2026-09-27"
category: How to
---

# Handling Users With Multiple Roles (Exceptions)

When a user holds more than one role, Coupon by User Role for WooCommerce applies a disable or invalidate rule only if the user has a targeted role and none of the roles in the matching Exceptions field. An exception role always wins. Set exceptions at WPFactory > Coupon by User Role, in the Availability section.

### The matching rule

A disable or invalidate rule applies to a customer when both of these are true:

- The customer has **at least one** of the roles you selected, **and**
- The customer has **none** of the roles in the matching **Exceptions** field.

In other words, an exception role always wins. If a user has both a targeted role and an exception role, the rule skips them.

### A worked example

Say you invalidate all coupons for the **Customer** role, but one of your customers is also a **Shop manager** who should keep full access. Add **Shop manager** to the **Exceptions** field next to the invalidate list. Now:

- A plain customer is invalidated (has Customer, no exception role).
- A customer who is also a shop manager is allowed (has the exception role).

### Where the exceptions fields are

1. Go to **WPFactory > Coupon by User Role** (also reachable at **WooCommerce > Settings > Coupon by User Role**).
2. Open the **Availability** section. Each of **Disable all coupons** and **Invalidate all coupons** has its own Exceptions field directly beneath it.
3. For a single coupon, the **Invalidate by user role** tab on the coupon has its own **Exceptions** field too.

### Exceptions apply to disable and invalidate, not amounts

The disable and invalidate rules each have exceptions. The **Amount by user role** feature does not use exceptions: instead, when a customer has several roles, the first role with an amount set on the coupon is used. Plan overlapping roles accordingly.

### Troubleshooting

- **An exception is not working.** Confirm the user actually holds the exception role (check their profile under **Users**), and that you added the role to the exceptions field beside the correct rule.
- **Everyone is exempt.** Check you did not add the same role to both the target list and the exceptions list.

### Get more control

Exceptions are free for the standard roles. [Coupon by User Role for WooCommerce](https://wpfactory.com/item/coupon-by-user-role-for-woocommerce/) Pro lets you use custom roles as both targets and exceptions. [See what Pro unlocks](https://wpfactory.com/item/coupon-by-user-role-for-woocommerce/).

Related articles

- [Coupons by User Role: How to Reset a Settings Section](https://wpfactory.com/docs/reset-coupon-settings-section/)
- [How to Disable or Invalidate WooCommerce Coupons by User Role](https://wpfactory.com/docs/effortless-targeted-promotions/)
- [Coupons by User Role: Developer Hooks and Filters Reference](https://wpfactory.com/docs/coupon-by-user-role-hooks-filters/)
- [Free vs Pro: Coupon by User Role for WooCommerce](https://wpfactory.com/docs/free-vs-pro/)
- [How Coupon Validation by User Role Works](https://wpfactory.com/docs/coupons-apply/)
