Discount Limits
PredictCart supports both global and per-customer discount limits to prevent excessive discounting.
Global Discount Limits
Configured in PredictCart Settings. Available limit types:
| Type | Behavior |
|---|---|
| No limit | No global limit |
| Per-item discount amount | Maximum fixed discount per item (e.g., max $10 off per unit) |
| Per-item discount percentage | Maximum percentage discount per item |
| Total cart discount amount | Maximum total discount for the entire cart |
Per-Customer Limits
Enable per-customer discount tracking to prevent individual customers from exceeding a discount budget:
| Setting | Description |
|---|---|
| Enable | Turn per-customer limits on/off |
| Limit Amount | Maximum discount amount per period |
| Period | Daily, Weekly, Monthly, Yearly, or Lifetime |
Customer usage is tracked via user meta and recorded when orders reach completed or payment_complete status.
How Limits Are Enforced
- PredictCart calculates the total discount for the cart
- It checks customer usage for the current period
- If the combined total exceeds the limit, discounts are proportionally scaled down
- The most restrictive limit (global vs. customer) takes precedence
Resetting Customer Limits
Admins can reset a customer's discount usage from the user profile or programmatically via PredictCart_Pricing::reset_customer_discount_usage().