Both sides previous revisionPrevious revision | |
v:2.0:coupons_and_discounts [2025/02/11 14:30] – [Coupon Codes] adam | v:2.0:coupons_and_discounts [2025/06/03 17:55] (current) – [Coupon Codes] foxybrett |
---|
; Coupon Type | ; Coupon Type |
: The type of discount you want to apply (see above for details on that) | : The type of discount you want to apply (see above for details on that) |
; Coupon Details | ; Rules |
: The discount logic, such as ''incremental|1-5|2-10'' | : The rule builder allows you to build the discount logic using UI. The underlying data (accessible via the API) will look like the syntax above (such as ''incremental|1-5|2-10''), but the UI in the Foxy Admin makes it easy to generate. |
| ; Product code restrictions |
| : If you want to limit which products can use this coupon, you can enter a comma separated listed of product codes or partial product codes using ''*'' as a wild card at the beginning and/or end of the value. So ''abc123'', ''fun_*'', ''*-small'' would match ''abc123'', ''fun_'' and ''fun_times'', and ''example-small''. It wouldn't match ''abc12'', ''abc1234'', ''fun'', or ''good-smalls''. If a code starts with ''-'' it will be considered as a block instead, matching everything except products that match that code. For example ''-*-small'' would match every product that does not have a code that ends in ''-small''. Allow lists and block lists can also be combined, ''foo*, -foobar'' would match all products that begin with ''foo'' except any products with a code of ''foobar''. Currently restricted to a maximum length of 5000 characters. |
| ; Item option restrictions |
| : You may have arbitrary item options (like ''brand'', ''publisher'', ''size'', ''location'', etc.) that determine what type of discount to apply. Using this setting, you can restrict coupons using similar logic as the "restrict usage by product code" above. Instead of a single comma-separated list of values to match against, input here is per item option. Wildcards can be used in option //values// but not option //names//. |
| : The functionality is only available in the new admin and via the API. |
| : Though not technically item options, the following native item values can also be matched against: ''name'', ''parent_code'', ''url'', ''image'', ''sub_frequency''. |
| ; Customer attribute restrictions |
| : Coupons can be restricted so they only apply to products with specific options. For instance, if you sell books and want to have a coupon that discounts a specific all books from a specific author or imprint, you could add that here. |
| ; Customer subscription restrictions |
| : You can restrict coupons to only work for customers with an active subscription that contains specific products (based on the products' ''code''). The coupons will not apply a discount if the customer does not have a matching active subscription. |
| ; Auto-apply |
| : For the customer attribute and subscription restrictions, turning on "auto-apply" will (unsurprisingly) automatically apply the coupon when the customer authenticates on the checkout. This is useful for something like automatically applying a membership discount based on a customer's membership subscription, or for wholesalers via a customer attribute. |
; Combinable | ; Combinable |
: If the "combinable" checkbox is left unchecked when creating a coupon it will not be added to the cart if another coupon is already in the cart. Similarly, if this coupon is added first, no other coupons will be able to be added to the cart. <wrap tip>Note: The discounts that coupons generate are based off the product subtotal,</wrap> and other coupons don't impact the generated discount. For instance, if you have a $100 transaction with both a $20 and a 10% off coupon, the order total will be $70 (and not $72, as would be the case if the % discount calculated //after// the $-discount. | : If the "combinable" checkbox is left unchecked when creating a coupon it will not be added to the cart if another coupon is already in the cart. Similarly, if this coupon is added first, no other coupons will be able to be added to the cart. <wrap tip>Note: The discounts that coupons generate are based off the product subtotal,</wrap> and other coupons don't impact the generated discount. For instance, if you have a $100 transaction with both a $20 and a 10% off coupon, the order total will be $70 (and not $72, as would be the case if the % discount calculated //after// the $-discount. |
; Apply to Categories | ; Apply to Categories |
: Similar to the category quantity discounts, but can be applied to multiple or all categories. So if a coupon code only applies to the T-Shirt category and there are no T-Shirts in the cart, no discount will be applied. | : Similar to the category quantity discounts, but can be applied to multiple or all categories. So if a coupon code only applies to the T-Shirt category and there are no T-Shirts in the cart, no discount will be applied. |
; Restrict Usage by Product Code | |
: If you want to limit which products can use this coupon, you can enter a comma separated listed of product codes or partial product codes using ''*'' as a wild card at the beginning and/or end of the value. So ''abc123'', ''fun_*'', ''*-small'' would match ''abc123'', ''fun_'' and ''fun_times'', and ''example-small''. It wouldn't match ''abc12'', ''abc1234'', ''fun'', or ''good-smalls''. If a code starts with ''-'' it will be considered as a block instead, matching everything except products that match that code. For example ''-*-small'' would match every product that does not have a code that ends in ''-small''. Allow lists and block lists can also be combined, ''foo*, -foobar'' would match all products that begin with ''foo'' except any products with a code of ''foobar''. Currently restricted to a maximum length of 5000 characters. | |
; Restrict by Item Options | |
: You may have arbitrary item options (like ''brand'', ''publisher'', ''size'', ''location'', etc.) that determine what type of discount to apply. Using this setting, you can restrict coupons using similar logic as the "restrict usage by product code" above. Instead of a single comma-separated list of values to match against, input here is per item option. Wildcards can be used in option //values// but not option //names//. | |
: The functionality is only available in the new admin and via the API. | |
: Though not technically item options, the following native item values can also be matched against: ''name'', ''parent_code'', ''url'', ''image'', ''sub_frequency''. | |
; # of Uses (Total) | ; # of Uses (Total) |
: If you want to limit the number of uses this coupon as a whole can be used, enter a number here. If, for example, only the first 50 customers can use the coupon, enter 50 here. This relates to coupon variants and the number of uses per code (below). If you have 1 coupon code and 10 uses, the coupon will not be able to be used after 10 successful transactions. If you have 1 coupon with 100 variants but only 50 uses, only the first 50 uses will be allowed, regardless of the number of uses per code. | : If you want to limit the number of uses this coupon as a whole can be used, enter a number here. If, for example, only the first 50 customers can use the coupon, enter 50 here. This relates to coupon variants and the number of uses per code (below). If you have 1 coupon code and 10 uses, the coupon will not be able to be used after 10 successful transactions. If you have 1 coupon with 100 variants but only 50 uses, only the first 50 uses will be allowed, regardless of the number of uses per code. |