# How to Create a WooCommerce Upsell Popup

Original URL: https://www.fireplugins.com/blog/woocommerce-upsell-popup/
Last updated: 2026-08-09T16:19:05+03:00

A WooCommerce upsell popup offers a shopper a bigger or better version of what they’re already looking at, at the moment they’ve decided to buy. Done well, it reads as a recommendation rather than a sales pitch, and it lifts your average order value without needing a single extra visitor. This guide covers what an upsell popup is, the four moments worth showing one, and how to build one step by step.

 This guide uses FireBox, which reads your live WooCommerce cart and product data, so the offer can match the product a shopper is actually looking at. It can show that offer as a popup, a slide-in, a bar, or embedded in the page. If you want the wider picture on order value rather than this one tactic, start with our guide on [how to increase average order value in WooCommerce](https://www.fireplugins.com/blog/increase-average-order-value-woocommerce/).

 {toc}

 ## What is a WooCommerce upsell popup?

  A WooCommerce upsell popup is an on-site offer that invites a shopper to move up to a higher-value product, or to add something that goes with it. It’s triggered by what they’re viewing or what’s already in their cart, so the offer stays relevant. The goal is a bigger order that is also a better outcome for the shopper.

 It helps to separate two moves. An upsell offers a pricier or upgraded version of what they are considering, a 1TB drive instead of 512GB. A cross-sell offers a related add-on, a case to go with the phone. Both raise order value and both run the same way, so this guide uses “upsell popup” for the whole pattern: a relevant product offer, shown at the right moment.

 ## Why upsell offers work

  Most stores are working with a conversion rate near 1.7% ([IRP Commerce](https://www.irpcommerce.com/ecommercemarketdata.aspx), 2025). Moving that number is slow and expensive. Order value is the other half of the same equation, and it moves on shoppers who have already decided to buy, which is a much smaller and much warmer group.

 Shoppers will do the work themselves when the offer is worth it. 81% say they’ll spend more to reach a store [free shipping threshold](https://www.fireplugins.com/blog/woocommerce-free-shipping-bar/) ([FedEx and Morning Consult](https://newsroom.fedex.com/newsroom/global-english/fedex-data-highlights-that-consumers-view-free-shipping-as-a-non-negotiable-for-cart-conversion), 2024). An upsell is the same mechanic pointed at a product instead of a shipping threshold.

 For scale, signup popups average 4.82% across about a billion displays ([Wisepops](https://wisepops.com/blog/popup-stats), 2026). That’s every popup they measure, targeted or not. An offer shown only to shoppers with the matching product in view is starting from somewhere better than that average.

 [Show the right offer on the right product FireBox reads the product a shopper is viewing and the contents of their cart, so an upsell can be aimed at one category instead of the whole store. The WooCommerce targeting works on the free version.   Try FireBox Free](https://www.fireplugins.com/pricing/?utm_source=blog&utm_medium=ctabanner&utm_campaign=woocommerce-upsell-popup) ## Where to show an upsell popup

  Four moments are worth the effort. Here is how to target each one in FireBox:

 | Moment | WooCommerce condition | Format | Example offer |
| --- | --- | --- | --- |
| Product page | Current Product, or Current Product Category | Slide-in (Pro) | Upgrade to the bigger size |
| In the cart | Products in Cart | Popup | Add the accessory that completes the kit |
| Thank-you page | Page, or URL | Slide-in (Pro) | A post-purchase add-on while trust is high |
| On exit | Amount in Cart, with the exit-intent trigger (Pro) | Popup | A last-chance bundle |

 Two notes on that table. The thank-you page is targeted by page rather than by the Purchased Product condition, because that condition reads the customer record and only applies to shoppers who are logged in. Guest checkout is on by default in WooCommerce, so a Purchased Product rule would skip most of your buyers. And the cart-value nudge toward a free shipping threshold is the strongest of the four, which is what the 81% above is measuring.

 Some of these connect to bigger plays. The exit offer doubles as a way to [reduce cart abandonment](https://www.fireplugins.com/blog/reduce-cart-abandonment-in-woocommerce/), the thank-you-page version is covered in our guide to [customer lifetime value](https://www.fireplugins.com/blog/customer-lifetime-value-woocommerce/), and for the wider set of targeting options see [personalized WooCommerce popups](https://www.fireplugins.com/blog/personalized-woocommerce-popups/).

 ## How to create a WooCommerce upsell popup

 Here is the full build for a product-page upsell. A cart or thank-you-page version is the same work with a different condition in step 6.

 This tutorial uses FireBox, which reads your live WooCommerce data, the product being viewed and what is in the cart, and shows an offer based on it. An offer can appear as a popup, a slide-in, a bar, or embedded in the page. All of the [WooCommerce targeting](https://www.fireplugins.com/docs/display-conditions/woocommerce/) used below works on the free version.

 ### Step 1: Install and activate FireBox

 Install the free version from your dashboard, or upload the zip if you prefer:

 1. Go to Plugins > Add New, search for FireBox, and click Install Now. Or [download the zip](https://downloads.wordpress.org/plugin/firebox.latest-stable.zip) and upload it at Plugins > Add New > Upload Plugin.
2. Click Activate once the install finishes.
3. If anything goes wrong, the [installation documentation](https://www.fireplugins.com/docs/firebox/start/first-steps/install-firebox/) covers the edge cases.

 ### Step 2: Make sure WooCommerce is active

  FireBox reads your store through WooCommerce, so WooCommerce has to be installed and active before the WooCommerce conditions show up. If you open a campaign’s display conditions and there’s no WooCommerce group in the list, that’s the reason. There’s no minimum version to worry about: FireBox checks that WooCommerce is running, not which release it is.

 ### Step 3: Add a licence key (optional)

 Every WooCommerce condition works on the free version, so you can follow this guide without a licence. Pro adds the slide-in, fullscreen, notification bar, floating button and sidebar formats, the exit-intent, scroll and idle triggers, and revenue attribution, which ties completed WooCommerce orders back to the campaign that drove them. If you have a licence, [activate it now](https://www.fireplugins.com/docs/firebox/start/first-steps/how-to-activate-firebox-pro/) so the plugin also receives automatic updates.

 If you’re already running the free version, you can [upgrade to Pro in place](https://www.fireplugins.com/docs/general/plugins/upgrade-to-pro/) without rebuilding any campaign you’ve already made.

 ### Step 4: Create the campaign and pick a format

 Go to FireBox and click New Campaign, then start from a blank template. Pick a format that suits an upsell: a slide-in sits in the corner and stays out of the way, while a popup takes the screen and gets noticed. Slide-in is a Pro format. On the free version, build the same campaign as a popup, which is the more attention-grabbing of the two anyway.

 Give the campaign a name you will recognise in a report later, something like “Upsell, single origin to sampler” rather than “Campaign 3”. One thing that catches people out: the trigger lives in this same Format panel, under the position grid. There is no separate Triggers panel to go looking for.

  ### Step 5: Design the offer

 Add a short headline, an image of the product you are offering, a line or two on why it is the better buy, and one call-to-action button linking to that product. Keep it to a single offer. Two or three options make the shopper stop and choose, and a shopper who stops choosing usually leaves.

  To make the offer specific to the cart in front of you, drop in a [smart tag](https://www.fireplugins.com/docs/howto/how-to-use-smart-tags/) such as `{woo.cart.total}`, which prints the live cart total wherever you put it.

 ### Step 6: Target the right shopper

 This is the step that decides whether the offer helps or annoys. Open the Display Conditions panel, set it to “Set custom rules”, and click Set Custom Rules. The rule itself is built in the window that opens, which is where most people expect to find it in the sidebar and don’t.

  Add one [WooCommerce condition](https://www.fireplugins.com/docs/display-conditions/woocommerce/) that matches the moment you are aiming at:

 - **Current Product Category** to offer an upgrade across a whole range.
- **Current Product** to upsell from one specific product page.
- **Products in Cart** to cross-sell something that goes with what they have already added.
- **Amount in Cart** to make the offer conditional on what they are about to spend.

  These four read your live store data rather than the visitor, so they work for logged-out shoppers, which is nearly everyone browsing your store. Three conditions in the same list behave differently and are worth knowing about: Purchased Product, Last Purchased Date and Total Spend all read the customer record, so they only apply once someone is signed in.

 ### Step 7: Set the trigger

 Back in the Format panel, choose when the offer appears. On a product page, page load with a short delay works well: four seconds is long enough that the shopper has read what they came for and still early enough that they are on the page. For a last-chance cart offer, the [exit-intent trigger](https://www.fireplugins.com/docs/triggers/exit-intent/) (Pro) fires when the mouse moves to close the tab.

 Then set the frequency, in Open/Close Behavior. An offer that reappears on every product page a shopper opens stops being a recommendation very quickly. [Hiding it for a day](https://www.fireplugins.com/docs/howto/show-a-popup-only-once-per-user/) after it is closed is a sensible default.

 ### Step 8: Publish and measure

 Preview it, then publish. Once it is live, watch what it earns rather than how often it’s seen. [Revenue attribution](https://www.fireplugins.com/docs/revenue-attribution/revenue-attribution/), on the Pro and Growth plans, ties completed WooCommerce orders back to the campaign that influenced them, so you can tell whether the upsell actually raised your order value or just collected impressions.

 [Find out what your upsell is really worth Impressions and clicks don’t tell you whether an offer made money. Revenue attribution ties completed WooCommerce orders back to the campaign that drove them, on the Pro and Growth plans.   See the plans](https://www.fireplugins.com/pricing/?utm_source=blog&utm_medium=ctabanner&utm_campaign=woocommerce-upsell-popup) ## Tips for higher-converting upsell popups

 Five things decide whether this works:

 - **Stay relevant.** Match the offer to the product or the cart. If the offer has nothing to do with what they’re looking at, it’s an interruption with a discount attached.
- **Make one offer.** Two or three options make the shopper stop and choose. One does not.
- **Time it well.** Let them engage first. An offer that lands the instant the page loads hasn’t earned the interruption.
- **Cap the frequency.** Hide the campaign for a day once it is closed, or the same shopper meets it on every product page.
- **Use a real incentive.** If you add a discount, create the coupon in WooCommerce and have the campaign display the code. FireBox shows a code you’ve made; it does not generate one.

  And then test it. There is no split-test button in FireBox: you build the second version as its own campaign, run both for a fixed window, and compare what each one earned. The [full method is written up here](https://www.fireplugins.com/blog/ab-test-wordpress-popups/).

 [Build your first upsell today FireBox pairs WooCommerce targeting with the block editor, so a relevant offer takes minutes rather than a developer. The targeting works on the free version.   Try FireBox Free](https://www.fireplugins.com/pricing/?utm_source=blog&utm_medium=ctabanner&utm_campaign=woocommerce-upsell-popup) ## Conclusion

 An upsell popup is one of the simplest ways to grow revenue from shoppers you already have. Show a relevant higher-value product at a moment that makes sense, keep it to one clear offer, target it with live cart and product data, and let attribution tell you whether it worked. Start with a single product-page or cart upsell, measure what it earns, then expand to the moments that perform.

 ## FAQ

 ### What is the difference between an upsell and a cross-sell popup?

 An upsell offers a higher-value or upgraded version of what the shopper is considering. A cross-sell offers a related add-on. Both raise order value, and FireBox runs either one by targeting the current product, the current product category, or the contents of the cart.

 ### Do upsell popups hurt the shopping experience?

 Only when they’re irrelevant or constant. An offer matched to the product in view, shown once and then hidden for a day, reads as a suggestion. Targeting and frequency capping are what separate the two.

 ### What is the best trigger for a WooCommerce upsell popup?

 It depends on the moment. Page load with a short delay suits a product page. Exit intent, which is a Pro trigger, suits a last-chance cart offer. Test both on your own store and keep whichever earns more.

 ### Can I show an upsell based on what is already in the cart?

 Yes. The Products in Cart and Amount in Cart conditions read the live cart, so you can offer a complement to what someone has added or make the offer conditional on the cart total. Both read store data rather than the customer record, so they work for logged-out shoppers.

 ### Do I need FireBox Pro to build this?

 Not for the targeting. Every WooCommerce display condition in this guide works on the free version. Pro adds the slide-in format, the exit-intent trigger, and revenue attribution. Built as a popup with a page-load trigger, the whole tutorial runs on the free version.
