Description
"WooCommerce Extended Coupon Features" is an easy-to-use WordPress / WooCommerce plugin that adds functionality to the WooCommerce coupon system.
The functionality is conveniently integrated to the standard WooCommerce Edit Coupon panel therefore the plugin is extremely easy to use. Tested with WordPress versions up to 6.1 and WooCommerce versions up to 7.4.
Features
Free | Pro | |
---|---|---|
WooCommerce core coupon options | ||
Apply discounts automatically | ||
OR/AND product and category operators | ||
Min / max matching product quantity | ||
Min / max matching product subtotal | ||
Restrict by shipping method | ||
Restrict by payment method | ||
Restrict by customer role | ||
Custom fields matching | ||
First purchase only | ||
Give away free products | ||
BOGO matching products (buy one get one) | ||
Limit discount to: every nth item in the cart (E.g. Buy 3 pay 2) | ||
Limit discount to: cheapest item | ||
Auto coupon priorities | ||
Custom error message |
What can be achieved with this plugin?
Automatic discounts
Create discounts that will automatically be applied to the customer's cart if certain conditions are met.
Simply configure a coupon as you always would have done and check the box 'Auto Coupon'. The discount will be displayed to the user by the description you enter.
For example: Automatically apply a discount of € 2.50 when the cart reaches € 40.00 as shown in the screenshot.
Give away free products
Create coupons or automatic discounts that will add one or more free products to the customer's cart when the restrictions are met. The product will be showed as a normal cart item, but with 'Free!' instead of the price displayed.
Optionally you can have the customer choose between various free gifts.
Limit discount to certain products only
The 'Limit discount'-option allows you to:
- Limit only the cheapest item in the cart.
- Discount every nth item; for example: Every 3rd item 50% discount.
- Limit discount to only 1 item per order-line.
Extended coupon restrictions
- Restrict coupon by shipping method,
- Restrict coupon by payment method,
- Restrict coupon by customer credentials or customer role
- Restrict coupon by a combination of products (e.g. buy both A and B and get 20% off!)
- Restrict coupon by amount of matching products (e.g. buy three products from category C and get a free product!)
Apply coupon using an url
Now you can easily create a link that will automatically apply a coupon to the user's cart, optionally in combination with a product.
Simply append ?apply_coupon=coupon_code
to the url. If you also want to add products to the cart with the same url, you can use add-to-cart=product_id
and optionally a quantity. Example:
http://www.your-store.nl/cart/?add-to-cart=4321&quantity=3&apply_coupon=my_coupon
You can find the id of a product on the WooCommerce Products-page.
Examples
Example: Auto coupon
Let the customer have a discount of $ 5.00 when the cart reaches $ 50.00.
- Create a coupon, let's name it auto_50bucks and enter a short description e.g. $ 50.00 order discount
- On the General tab: Select discount type Cart discount, and set the coupon amount to $ 5.00
- On the Usage restrictions tab: Set minimum spend to $ 50.00 and check the Auto coupon-box
Voila! The discount will be applied when the customer reaches $ 50.00 and a descriptive message will be shown.
If the restrictions are no longer met, it will silently be removed from the cart.
Examples
Example: Free gift
Let the customer choose a free gift if he purchases 2 or more items.
- Create a coupon, let's name it auto_free_gift and enter a short description e.g. Free gift!
- On the Usage restrictions tab: Set minimum quantity of matching products to: 2
- On the Free Products tab: Enter the free products the customer may choose from and tick the box 'Customer must select'
- On the Miscellaneous tab: Tick the box 'Auto coupon'
Now when the cart contains 2 or more items the customer can choose a free gift on the cart or checkout page.
Example: Apply coupon via an URL
Apply coupon through an url like this:
Voila! Any coupon can be applied this way.
Check 'Allow applying when invalid' to allow the customer to apply a coupon while the conditions are not yet met. If the customer opens the url when the conditions of the coupon are not yet met or the cart is empty the coupon won't be applied, instead the a message will be displayed: e.g. "Coupon will be applied once it's conditions are met". This message can be changed. Once the conditions are met the coupon will be applied automatically.
Example: Every 3rd item 50% off
The option 'Limit discount to:' offers a wide range of discounting options. This example shows you how to apply a 50% discount to every 3rd item in the cart:
- Create a coupon with Discount type 'Percentage discount' coupon with a discount value of 50%
- Set 'Minimum amount of matching products' to 3
- Set 'Limit discount to' to 'Every nth item'
- Optionally check the box 'Auto coupon' if the discount must be applied without the use of a coupon code.
FAQ
What does debug mode do?
- It allows you (or us) to display the coupon settings by adding ?wjecf_dump=COUPON_CODE to the url
- It displays some debug information on the frontend after calling ?wjecf_log=1
- It logs more data to the debug log of the plugin (see wp-admin > WooCommerce > Status > Logs)
How do I upgrade FREE to PRO?
- Purchase the PRO version and download it from your account page
- Go to the wp-admin dashboard of your site
- Go to Plugins
- Deactivate and remove the FREE version of the plugin (don’t worry, no data will be deleted)
- Go to Plugins – Add new
- Click ‘Upload plugin’, upload the downloaded .zip file and click install
- Activate the plugin
Where is the documentation?
Here it is.
Why is the cart not updated after changing the billing email address?
By default WooCommerce doesn’t refresh the cart when changing the billing email address. If you have a coupon that is restricted by email address you need to do the following:
Go to Settings > WooCommerce Extended Coupon Features and enable the option ‘Update order review on billing email change‘.
Why is the cart not updated after changing the payment method?
By default WooCommerce doesn’t refresh the cart when the customer changes the payment method. If you have coupon(s) that may be added/removed when the customer chooses a different payment method you need to do the following:
On the settings page (Settings > WooCommerce Extended Coupon Features) check the box Update order review on payment method change.
Is this plugin translatable?
Yes, all string values are translatable through the supplied POT/PO/MO files. Currently this plugin has been translated to English, Spanish and Dutch.
Using qTranslate X, the coupon message for Auto Coupons can be translated using shorthand tags, e.g. [:en]This is English[:es]Esto es Español[:]
.
In WPML translatable items appear in the context woocommerce-jos-autocoupon in “String Translations”.
Translation has been tested with WPML and qTranslate-X. Under certain circumstances WPML has caused some side effects.
How do I create a url that adds a coupon to the cart?
That’s easy! First find the url of the landingpage you want the url to link to. For example:
http://www.mysite.com/cart/
Then append ?apply_coupon=coupon_code
http://www.mysite.com/cart/?apply_coupon=coupon_code
Optionally, to add a product using the same url, you can append &add-to-cart=1234
where 1234 is the id of a product. You can find the id of a product on the WooCommerce Products-page.
http://www.mysite.com/cart/?apply_coupon=coupon_code&add-to-cart=1234
Why isn’t my question in this list?
Please visit the support forum if you have another question.
Still have questions?
You have a question about functionality of this plugin? Please fill in the form and we'll answer it for you.
Can't work if method payment selected is not the first one on our listing
By
macalusom on May 22, 2023
I was happy to find a plug to make selected payment for my Vaucher but.
If the selected payment is not the default payment of the checkout, the Vaucher can be accepted in the cart page !
And all my other Vaucher previously build are unavailable why we need put the selected method payment why all method payment are disable when the plugin is activated.
Sorry very unhappy
Worked perfectly at first try
By
greenjoshua on April 1, 2023
I tried many plugins but this one is very simple and it worked at first attempt. Thank you very much!!
this one is great!
By
editoor on November 25, 2022
Works great without any problems
By
geri777 on July 28, 2022
loyalty coupon
feature? I would like to give customers who have already ordered for > 500 in the past year a discount of 10% for example.error
By
rezakhakpour on June 9, 2022
type was called incorrectly. Coupon properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, <strong>WC_AJAX::checkout</strong>, WC_Checkout->process_checkout, WC_Checkout->update_session, WC_Cart->calculate_totals, WC_Cart_Totals->__construct, WC_Cart_Totals->calculate, WC_Cart_Totals->calculate_item_totals, WC_Cart_Totals->calculate_discounts, WC_Discounts->apply_coupon, WC_Discounts->apply_coupon_percent, apply_filters('woocommerce_coupon_get_discount_amount'), WP_Hook->apply_filters, wc_cpn_disc, WC_Legacy_Coupon->__get, wc_doing_it_wrong. This message was added in version 3.0.
type was called incorrectly. Coupon properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_update_order_review'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::update_order_review, WC_Cart->calculate_totals, WC_Cart_Totals->__construct, WC_Cart_Totals->calculate, WC_Cart_Totals->calculate_item_totals, WC_Cart_Totals->calculate_discounts, WC_Discounts->apply_coupon, WC_Discounts->apply_coupon_percent, apply_filters('woocommerce_coupon_get_discount_amount'), WP_Hook->apply_filters, wc_cpn_disc, WC_Legacy_Coupon->__get, wc_doing_it_wrong. This message was added in version 3.0.` type was called incorrectly. Coupon properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_add_to_cart'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::add_to_cart, WC_AJAX::<strong>get_refreshed_fragments</strong>, woocommerce_mini_cart, wc_get_template, include('/plugins/woocommerce/templates/cart/mini-cart.php'), do_action('woocommerce_before_mini_cart'), WP_Hook->do_action, WP_Hook->apply_filters, WWP_Wholesale_Prices->recalculate_cart_totals, WC_Cart->calculate_totals, WC_Cart_Totals->__construct, WC_Cart_Totals->calculate, WC_Cart_Totals->calculate_item_totals, WC_Cart_Totals->calculate_discounts, WC_Discounts->apply_coupon, WC_Discounts->apply_coupon_percent, apply_filters('woocommerce_coupon_get_discount_amount'), WP_Hook->apply_filters, wc_cpn_disc, WC_Legacy_Coupon->__get, wc_doing_it_wrong. This message was added in version 3.0.` type was called incorrectly. Coupon properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_update_shipping_method'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::update_shipping_method, WC_AJAX::get_cart_totals, WC_Cart->calculate_totals, WC_Cart_Totals->__construct, WC_Cart_Totals->calculate, WC_Cart_Totals->calculate_item_totals, WC_Cart_Totals->calculate_discounts, WC_Discounts->apply_coupon, WC_Discounts->apply_coupon_percent, apply_filters('woocommerce_coupon_get_discount_amount'), WP_Hook->apply_filters, wc_cpn_disc, WC_Legacy_Coupon->__get, wc_doing_it_wrong. This message was added in version 3.0.`Awesome Plugin! So simple!
By
candicer on March 15, 2021
Great plugin!
By
Yaniv (yaniv691) on January 29, 2021
ok
By
ahtbayar on January 13, 2021
Very simple, easy coupon system
By
shund on October 26, 2020
Excellent Plugin!
By
nimonogi on May 11, 2020