---
title: "Coupon Role Rules Not Working: Fixes"
description: WooCommerce coupon role rule not working? Check whether the section is on, the targeted role, guests, and disable vs invalidate.
url: "https://wpfactory.com/docs/coupon-role-discounts-fix/"
updated: "2026-10-05"
category: Troubleshooting
tags:
  - "Coupon & Discount by User Role for WooCommerce"
---

# Coupon Role Rules Not Working: Fixes

If a role rule in [Coupon by User Role for WooCommerce](https://wpfactory.com/item/coupon-by-user-role-for-woocommerce/) is not behaving as expected, work through the checks below. Most issues come down to the section being off, the wrong role being targeted, or a user holding more than one role.

### The rule does nothing

1. Go to **WPFactory > Coupon by User Role** (also reachable at **WooCommerce > Settings > Coupon by User Role**).
2. For disable and invalidate rules, confirm **Availability by user role** (the Enable section switch) is ticked in the **Availability** section.
3. For per-role amounts, confirm **Amount by user role** is ticked in the **Amounts** section.
4. Confirm you added the correct roles to the list and saved changes.
5. Test while logged in as a user who actually holds the targeted role, not as an administrator.

### The rule affects the wrong customers

A rule applies when a customer has one of the selected roles and none of the exception roles. A single user can hold several roles at once, so a customer who is also a shop manager may be caught by a rule aimed at customers. Add the role you want to protect to the matching **Exceptions** field. See [handling users with multiple roles](https://wpfactory.com/docs/coupon-exceptions-multiple-roles/).

### Guests are not affected

Logged-out visitors are the **Guest** role. If a rule should apply to them, add **Guest** to the list. See [coupons for guests and logged-out visitors](https://wpfactory.com/docs/guest-role-coupons/).

### Disable and invalidate seem to conflict

If a role is in both lists, disable wins: the coupon field is removed, so the invalidate message never shows for that role. Pick one behavior per role.

### The per-coupon tab is missing

The **Invalidate by user role** and **Amount by user role** tabs only appear after you enable **Invalidate per coupon** or **Amount per coupon** in the settings and save. Reload the coupon edit page afterward.

### The coupon still will not apply, with no role rule set

Coupon by User Role runs after WooCommerce's own coupon checks. If the coupon has expired, hit a usage limit, or fails a product, category, or minimum-spend restriction, it is rejected regardless of role. Review the coupon's standard settings under **Marketing > Coupons**.

### Still stuck?

Our team answers every ticket on the [Coupon by User Role support forum](https://wpfactory.com/support/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/)
- [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/)
- [One Coupon, Different Discount Amounts per User Role](https://wpfactory.com/docs/setting-role-based-discounts/)

 

[![Coupon & Discount by User Role for WooCommerce](https://wpfactory.com/wp-content/uploads/Coupon-by-User-Role-for-WooCommerce.webp)](https://wpfactory.com/item/coupon-by-user-role-for-woocommerce/)
