This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Woocommerce Upsell / cross sell Popup plugin


PRO Live Demo

An upsell & cross sell popup plugin for Woocommerce. Show non-intrusive, responsive popup to your visitors when they click the add to cart button on the products you specify.

This plugin may be useful for store owners who want a simple and lightweight plugin to recommend product B when user buys product A. The cross will help sell different product categories and the upsell will improve your AOV cart basket size

One click add to cart with option to add quanitites and several features. Plugin is trusted by more than 40,000 customers so far, highly rated in wordpress.

This plugin is an extension of the Woocommerce plugin. You must have Woocommerce active alongside this plugin for it to work properly.

  • Tested with Woocommerce version 6.0.0 up to the latest version 7.2.2.

  • This plugin is compatible with PHP 7!

What Does It Do

  • When a user clicks on the ‘add to cart’ button on a product you specify, the product will be added to cart and a yes/no popup will be shown asking if the user is also interested in a complementary product (configurable).

  • For complementary product that the product type is SIMPLE: If the user clicks yes, the complementary product will also be added to cart.

  • For complementary product that the product type is VARIABLE: If the user clicks yes, you can choose whether to redirect your user to the complementary product’s product page, OR to let your user choose a variant on the popup and add that variant to cart without navigating away from popup.

  • After the product you upsell & cross sell is added to user’s cart, you can choose whether to redirect user to cart page, checkout page, or make them stay on the same page.

  • If the user clicks no, you can also choose to redirect the user to cart page, checkout page, or stay on the same page.

  • Popup will fire when user adds a product to cart from shop page, product category page, or single product page.

  • (NEW!) Now you can easily turn AJAX on and off for add to cart button on single product pages!

Please refer to screenshots for pre-made templates included in the plugin.

Woocommerce Settings

For the plugin to work as intended, set the Woocommerce setting as follows:

Go to Woocommerce > Settings > Products > General > Shop pages.

And then for ‘Add to cart behaviour’, uncheck ‘Redirect to the cart page after successful addition’.

AJAX can be enabled or disabled for add to cart buttons on archives, popups will fire regardless.

Woocommerce Upsell Popup PRO

Get the PRO version to have more control of your popups!


What you can do with our PRO version:

  • Customize and change the text on your popups!

  • Change the text on the popup buttons!

  • Customizable popup templates!

  • Create your own popup template, and create as many popup templates as you want!

  • Upsell & cross sell multiple products per popup.

  • Show upsell and cross-sell product prices on your popup.

  • Your users will be able to add multiple products to cart from your popup with a click of a button.

  • You can create “Frequently bought together with…” popup and show as many products on the popup as you like.

  • An option to show “Complete the look” or “Shop the look” concept to encourage your users to buy more items.

Read plugin documentation here.

Translation Ready

The plugin is ready to be translated to your local language, .pot file is included in /languages folder.


Please use forum to ask for support, to submit bug reports, to ask questions about the free plugin, or to suggest a new feature.

Only use the contact form on our website if you’re inquiring about the PRO version.


  • Compatibility check with latest wordpress version 6.2.2.

Changelog === 1.8.8

  • Compatibility check with latest wordpress version.

Changelog === 1.8.7

  • Compatibility check with latest php version 8.0.28.

Changelog === 1.8.6

  • Color picker issue fixed

Changelog === 1.8.5

  • Deployment issue fixed

Changelog === 1.8.4

  • Additional comments added

Changelog === 1.8.3

  • Compatibility check with latest wordpress version.

Changelog === 1.8.2

  • Compatibility check with pro version.

Changelog === 1.8.1

  • Coupon code and button color change options

Changelog === 1.8.0

  • Reference screenshot added

Changelog === 1.7.9

  • Option to display discount coupon code

Changelog === 1.7.8

  • Compatibility test and fix with wordpress version 6.0.


  • Quantity options and cart price auto update added.


  • Multiple quantity options for upsell product global setting for upsell products.


  • Woocommerce compatibility.


  • Fixed headers already sent warning when ajax is disabled for add to cart buttons.


  • Variable Upsell popup template became the new default popup template. The old Variable Upsell template stays unchanged.

  • Updated language file.


  • Fixed bug found in previous two releases.

  • Fixed bug for action removal at init hook, added conditional statements accordingly.


  • Restored Quadlayers ajax add to cart script as default AJAX script for single product pages.

  • Added ability for users to switch between Quadlayers ajax script and native Woocommerce handler.

  • Updated language file.


  • Replaced Quadlayers ajax add to cart script, now using Woocommerce native handler, fixing certain product types not correctly adding to cart issue.

  • Fixed redirection behavior bug for the NO buttons when AJAX is turned off on single product pages.

  • Disabled out of stock variant from being selected on variable upsell template.

  • Added validation check for variable upsell template, warning shown if no option is selected.

  • Updated language file.


  • Added an option to let user choose whether to use AJAX or no AJAX for add to cart button on single product pages. AJAX is still enabled by default.

  • Fixed certain product types not adding to cart (only without AJAX add to cart button).

  • Added support for LearnDash LMS (Woocommerce integration) course product type.

  • Updated language file.


  • Added a new template for variable upsell product to enable user to choose variant on popup without navigating away.

  • Fixed loading spinner overlay not covering whole popup (css fix).

  • All links changed to the new plugin website.


  • New plugin structure, revised how popup is called on single product page.

  • Added AJAX to add to cart button on single product page by default for faster loading of popup.

  • Fixed headers already sent error on single product page.

  • Added a new template (Template 2) to PRO template selection.

  • Updated language file.


  • Removed font family in default popup template so that default font in user’s theme will be used.

  • Additional checks added for admin_init hook when checking for pro compatibility.

  • Added a new link on documentation tab settings.


  • Global and product category setting page added to make it easier for store owners to manage hundreds or thousands of products, either by category or by store-wide.

  • Implemented tabs for cleaner settings UI, added new support and documentation page.

  • Moved functions related to metabox and global setting page to separate files for better maintenance.

  • Changed free/pro structure, only pro version 1.1.2 and above are compatible with this version.

  • Updated language file.


  • Improved security and sanitization for metabox user input.

  • Maintained compatibilty with pro version.


  • Removed out of stock upsell products from being displayed on popups.

  • Improved the handling of variations at popup level.

  • Now only published product and active product variations get shown on popups.


  • Added url validation and sanitization before redirection.

  • Removed unnecessary conditions check where no actions happens.


  • Reverted most functionalities back to v0.6, making the plugin leaner and more lightweight than v1.0.0 to v1.1.0.

  • Removed some features to avoid option clutter and to focus on original key features. Complete features can be found on the PRO version. Only upgrade if you don’t mind this.

  • Removed unnecessary ajax loading spinner on page load.

  • Added check for version compatibilty between this plugin and its pro extension. Terminate activation if not compatible.

  • Updated i18n.


  • Added complete-the-look section to default popup template for multiple upsell products.

  • Maintained compatibilty with pro version.


  • Fixed uncaught error caused by deleted upsell products, added check for published product and product post type.


  • Added support for multiple upsell products per popup.

  • Added default template for multiple upsell products popup, making use of Flickity carousel.

  • Implemented better UX design for multiple upsell products popup, default template shows product prices and total price of products selected.

  • Default template for single upsell popup was improved to include upsell product price and made to match default template for multiple upsell popup.

  • Added support for Woocommerce native Linked Products upsells and cross sells.

  • Backward compatibilty support added for our classic upsell product meta field.

  • Improved product meta box UI and UX.

  • JS and CSS files are now minified.

  • Maintained responsiveness of popup templates.

  • Added loading spinner for ajax actions on popups.

  • Prevented popups from firing consecutively after the first popup’s added to cart action.

  • Init hook changed to wp_loaded hook for non-ajax popup actions, preventing headers already sent error.


  • Added an option to change redirection behavior of the popup’s no button.

  • Improved how plugin product meta data are saved.

  • Improved security.

  • Added version check for pro add-on.

  • Templates text change.


  • Added new option for user to change redirection behavior of popups.

  • Added new template as default template.

  • Improved il8n on templates.

  • Modified styles on templates.


  • Added support for PRO version.

  • Updated translation.


  • Added support for internationalization/i18n/translation.

  • Localization to Bahasa Melayu.


  • Popups are now compatible to be used with add to cart buttons that use AJAX.

  • Added another plugin dependency check. Plugin activation fails if Woocommerce is not activated.

  • Form in popup templates now has an ID.


  • Initial release.

Changelog === 1.7.9

  • Option to display discount coupon code

Changelog === 1.8.0

  • Reference screenshot added


  • Default popup template.

  • Popup template for VARIABLE upsell product.

  • Popup template (Basic).

  • Popup template (Colorful).

  • Popup template (Dark on Light).

  • Upsell popup options on Woocommerce product edit screen.

  • Main setting page.


  1. Upload plugin folder to /wp-content/plugins/ directory, or install the plugin from your WordPress dashboard Plugins>Add New.

  2. Activate the plugin.

  3. Go to Woocommerce product edit page and start configuring your upsell or cross sell popup.


Something is not working! Is there a quick fix?

Here’s what you could try:

Go to Woocommerce > Upsell Popup > General.

Here you will see an option to turn off AJAX. Tick the box that says ‘Turn off AJAX on single product pages’.

This didn’t fix your issue? Here are other things you could try to fix your issue: Quick Fix.

How can I customize the popups to have the look and style that I want?

If you know CSS, choose Template 4 – No CSS for your popup and then you can drop your CSS codes in your child theme’s stylesheet to style the popup as you like.

How can I customize the text on the popups?

There are 2 ways to do so.

  1. You can use localization (translation) or gettext hook to change the text.

  2. Or you can get our PRO version to customize the text on your popups and better – make your own templates!

How can I change the Yes/No text on the popup buttons?

Same as above. There are 2 ways to do so.

  1. You can use localization (translation) or gettext hook to change the text.

  2. Or you can get our PRO version in which you will have the option to change the Yes/No text on your popup buttons easily.

Can I upsell /cross sell more than one product on my popup?

You can do so with our PRO version.

Does this plugin support Woocommerce native upsell and cross sell products?

Our PRO version supports Woocommerce native upsell and cross sell products (Woocommerce Linked Products). See this documentation page.

Can I translate this plugin to my language?

Yes, this plugin is translation ready, .pot file is included in the /languages folder.


اپریل 10, 2024
I’ve encountered significant compatibility issues with this plugin, notably its incompatibility with the latest PHP versions. This has been a considerable setback for maintaining optimal site performance and ensuring security. Additionally, it does not support WooCommerce’s High-Performance Order Storage (HPOS) feature, which is crucial for managing and scaling e-commerce operations efficiently. The lack of these essential compatibilities has hindered the plugin’s usefulness in a modern WooCommerce setup. I hope to see updates addressing these concerns in the near future.
اپریل 4, 2023
Had a few questions about how to setup the plugin correctly and they helped me get it setup exactly as I wanted. Great plugin with great support.
نوومبر 17, 2022
This popup is the only one I have found which let’s you: – Add multiple products to the popup – Gives you a quantity field where you can select how many of a certain product you want – Gives you the freedom to style it to your liking Great plugin and also great support from the developer! We’re really happy with the plugin.
Read all 12 reviews

Contributors & Developers

“Woocommerce Upsell / cross sell Popup plugin” is open source software. The following people have contributed to this plugin.