SaveTo Wishlist for WooCommerce

Insights & Updates

SaveTo Wishlist Blog

WordPress guides and resources for boosting sales with SaveTo Wishlist

WooCommerce Wishlist Popup: How To Trigger Offers With Popup Maker

WooCommerce Wishlist Popup: How To Trigger Offers With Popup Maker

A shopper opens a product page, likes what they see, and taps save instead of Add to Cart. On some WooCommerce stores, that’s where it ends. The item sits in a wishlist. The shopper closes the tab, and nothing happens for weeks.

A WooCommerce wishlist popup closes that gap. SaveTo Wishlist Lite sends two browser signals after a successful wishlist save. A short JavaScript snippet can listen for the event and open a Popup Maker popup. Popup Maker can also check the cookie on later pages.

We’ve seen plenty of store owners treat a save as a passive bookmark. A wishlist save can be a strong sign that a shopper is interested in buying.

This guide explains both signals, how to connect them to a popup, and when the setup may be useful.

Table of Contents


Why Wishlist Saves Can Show Strong Buying Interest

A wishlist save shows interest in a specific product, but it doesn’t always mean the shopper is ready to buy. The shopper picked a specific product and showed interest in it. What they haven’t done is buy it today.

That hesitation is normal, and it’s expensive. According to the Baymard Institute, the average documented cart abandonment rate is 70.22%, drawn from 50 separate studies. Wishlist saves often happen earlier than cart abandonment. However, the cart abandonment rate does not tell us how often wishlist shoppers leave without buying.

Second chances are getting harder

Plus, getting a second chance at that shopper keeps getting harder. Contentsquare’s 2025 Digital Experience Benchmarks studied 90 billion sessions across 6,000 websites. It found conversion rates down 6.1% year over year, with 53% of visits ending after a single page view.

The same research found a link between longer visits and higher sales. Sites that increased the number of pages viewed per visit by 10% or more saw an average 5.4% rise in conversions. This suggests that helping shoppers continue their visit may improve sales. It doesn’t prove that one extra step caused the increase. A save may be a good time to invite the shopper to take another useful step.

The window right after a save

🔍️ One thing we see constantly: Stores treat the wishlist as storage and leave the follow-up to email. If the email goes out later, the shopper may no longer be thinking about the product. The time right after a save may be a good chance to show a useful message, and a WooCommerce wishlist popup is one way to deliver it.

That said, the wider pattern is worth understanding before you build anything. Our guide to WooCommerce browse abandonment covers what happens to shoppers who look, like, and leave.

Ladder diagram showing where a wishlist save sits between a page view and checkout, alongside cart abandonment and single-page visit statistics.
A wishlist save often happens before cart abandonment, so stores may want to respond before sending a later email (click to zoom).

What The SaveTo Wishlist And Popup Maker Integration Does

SaveTo Wishlist Lite publishes two browser-side signals after it confirms a successful save. Custom code can listen for the event and open a Popup Maker popup. For the cookie, you can use a Popup Maker cookie condition or custom code.

SignalNameBest used forPersistence
DOM eventstwlite_added_to_wishlistReacting on the current page when the save happensSent once and not stored
Browser cookiestwlite_wishlist_addedRecognizing the same browser on a later page or visitUp to 30 days

What each signal carries

SaveTo Wishlist dispatches the event on document as a native CustomEvent. It carries a small payload:

event.detail = {
  productId,    // product ID, or the variation ID when a variation was saved
  collectionId  // the wishlist collection, or 0 for a guest
}

The cookie stores a single URL-encoded ID: the product or variation the shopper saved. SaveTo Wishlist writes it with path=/, SameSite=Lax, a 30-day max-age, and Secure on HTTPS pages. A later save overwrites the value. So the cookie holds the most recent saved item, not a history.

Which plugin handles what

The split of responsibilities matters here, because it shapes the whole setup. For this integration, SaveTo Wishlist provides the signals but doesn’t manage the Popup Maker popup. It doesn’t create, select, or open a Popup Maker popup, and it doesn’t check whether Popup Maker is active. You build the popup in Popup Maker, but the instant event method also needs a short JavaScript snippet.

If you’d rather route wishlist events somewhere else, our Zapier and webhooks guide covers that.

The naming trap to watch for

One naming trap catches people early. SaveTo Wishlist has its own Popup option under the Add to wishlist button setting. That refers to the plugin’s own confirmation modal. It has nothing to do with Popup Maker, and it doesn’t switch the integration on or off.

Flow diagram showing a wishlist save publishing a DOM event and a browser cookie, both feeding into a Popup Maker popup.
SaveTo Wishlist Lite publishes a DOM event and a cookie. Your JavaScript or Popup Maker settings decide how to respond to them (click to zoom).

What You Need Before You Start

The instant event method needs all five items below. The cookie method may not require JavaScript if your Popup Maker setup includes a Cookie Exists condition (more on this below). However, Popup Maker still needs a trigger, such as a time delay or exit intent.

  • SaveTo Wishlist Lite 1.1.0 or later: The signals arrived in 1.1.0. Anything older emits nothing. The integration ships in SaveTo Wishlist Lite, the free version, so no upgrade is needed.
  • WooCommerce installed and active: SaveTo Wishlist Lite doesn’t finish its normal startup without it.
  • The SaveTo Wishlist frontend script loaded: JavaScript produces the signals. A page without the script produces neither the event nor the cookie.
  • Popup Maker installed and active: It displays the popup after your JavaScript listener calls it. SaveTo Wishlist still sends the signals when Popup Maker is not active.
  • You need a tool that supports front-end JavaScript. With a child theme, place the code in a JavaScript file and load that file through WordPress. Add script tags only inside an HTML or PHP file. Do not paste raw JavaScript into a tool that accepts only PHP.

There’s one filter that can quietly break all of this. From SaveTo Wishlist Lite 1.1.2, returning false from stwlite_load_frontend_assets stops the frontend JavaScript loading on that request. No script means no event and no cookie. The wishlist buttons on that page stop working too.

Our WooCommerce wishlist REST API guide covers more of the developer surface.


How To Set Up A WooCommerce Wishlist Popup

You don’t need to switch on an integration setting in SaveTo Wishlist to create a WooCommerce wishlist popup. The signals fire on every qualifying save whether or not anything is listening. The instant method requires work in Popup Maker and a short JavaScript snippet. Basic cookie targeting may not require a snippet.

Step 1: Check your add to wishlist button behavior

This setting affects how long an instant popup can remain visible. Redirect sends logged-in customers to another page right after the event, while Popup and Fade keep them on the current page. Go to SaveTo Wishlist > Settings > General and find the Add to wishlist button setting. It has three choices: Redirect, Popup, and Fade. Redirect is the factory default.

Popup and Fade keep all shoppers on the current page. Redirect sends logged-in shoppers to the wishlist page, but guests see the plugin’s confirmation popup instead. The navigation cuts the moment short.

Switch to Fade if you want same-page popups and don’t need the redirect. If the redirect is part of your flow, use the cookie method instead. It survives the page change.

SaveTo Wishlist Wishlist Action settings panel with Redirect Page set to Wishlist and Add To Wishlist Button set to Redirect.
The Add to wishlist button setting sits in the Wishlist Action panel under SaveTo Wishlist > Settings > General. Redirect is the factory default shown here, and it cuts an instant popup short for logged-in shoppers (click to zoom).

Step 2: Build the popup in Popup Maker

A save-triggered popup works best when it does one job. That might be a small discount on the saved item, a reminder sign-up, or a nudge toward a related product. Pick one and build it.

For the instant event method, leave the popup’s triggers empty because the JavaScript opens it. For the cookie method, add a Popup Maker trigger. Then note the popup’s ID. It appears in the Popup Maker popup list and in the URL when you edit it.

Popup Maker popup on a WooCommerce shop page reading Nice pick! It's saved to your wishlist, offering 10% off with code WISHLIST10.
A Popup Maker popup opened after a wishlist save. It does one job: acknowledge the save and hand over a single discount code (click to zoom).

Step 3: Listen for the wishlist event

This snippet handles the instant event method. Add it with a tool that supports front-end JavaScript, and make sure it loads on store pages. Replace 123 with your own popup ID.

document.addEventListener('stwlite_added_to_wishlist', function (event) {
  var detail = event.detail || {};
  var productId = Number(detail.productId);

  // Cart-to-wishlist saves report 0, so skip those for a product-specific offer.
  if (productId === 0) {
    return;
  }

  if (window.PUM && typeof window.PUM.open === 'function') {
    window.PUM.open(123);
  }
});

Three details there matter more than they look. The listener sits on document, because that’s where SaveTo Wishlist dispatches the event. The window.PUM guard keeps an error out of your console if Popup Maker hasn’t loaded yet. And PUM.open() is Popup Maker’s own documented method for opening a popup by ID.

Make sure the listener is ready before a shopper saves an item. Popup Maker must also be ready when the event fires, or the current code will not open the popup. SaveTo Wishlist never replays the event for listeners that attach later. A snippet that registers late will miss saves that happen early.

Step 4: Test as a guest and as a logged-in customer

Test both states, because they run through different code paths. Open a product page in a private window, save the product, and confirm the popup appears. Then log in as a customer and repeat.

Guest saves are stored in the browser rather than on the server. Guest wishlists must be enabled, and the browser must allow local storage.

To check the signals directly, open your browser’s developer tools. Run the listener above with a console.log in place of the popup call. Then look in Application > Cookies for stwlite_wishlist_added after a save.

🔍️ A mistake we see repeatedly: the popup gets tested once while logged in as an administrator, then shipped. Guests take a different path through the code. If the browser blocks local storage, a guest save may fail and no signal will be sent. If only cookies are blocked, the event may still be sent. Test the guest case before you count on it.

Four step vertical timeline for setting up a WooCommerce wishlist popup with SaveTo Wishlist and Popup Maker.
The instant popup setup has four steps, and one requires JavaScript. Basic cookie targeting can use a Popup Maker cookie condition without custom code (click to zoom).

How To Target Return Visitors With The Wishlist Cookie

The cookie lets you recognize a saver on a later page or a later visit. It lasts up to 30 days. The event fires once when the save happens, and the browser never stores it for later pages.

Add a Popup Maker trigger. If your Popup Maker setup includes cookie targeting, add a Cookie > Cookie Exists condition and enter stwlite_wishlist_added. The condition limits who sees the popup, but it doesn’t open the popup by itself. The JavaScript example below isn’t needed for a basic cookie check. Use the example code if you need to read the saved product ID or add behavior that Popup Maker cannot provide.

Read the saved product ID with JavaScript

document.addEventListener('DOMContentLoaded', function () {
  var match = document.cookie.split(';').map(function (part) {
    return part.trim();
  }).find(function (part) {
    return part.startsWith('stwlite_wishlist_added=');
  });

  if (!match) {
    return;
  }

  var savedProductId = decodeURIComponent(
    match.substring('stwlite_wishlist_added='.length)
  );

  if (window.PUM && typeof window.PUM.open === 'function') {
    window.PUM.open(456); // Your "welcome back" popup ID
  }
});

Custom code can use savedProductId to choose a popup or find product details. The sample code doesn’t do this, so you would need to write more.

Control how often the popup opens

Popup Maker’s repeat-display settings can limit the popups its own triggers open. If custom code calls PUM.open() on every page, add a separate check to limit how often the popup opens. Test the rule to make sure it appears only as often as you want. If your Popup Maker setup includes an exit-intent trigger, the same check makes a useful gate. Only browsers that still have the wishlist cookie meet this condition.

Retargeting ads use the same intent a different way, which AdTribes covers in its WooCommerce marketing guide.

Treat the cookie as a record that a save happened. It isn’t proof the wishlist still has items in it. SaveTo Wishlist clears the cookie when a shopper removes the last item through the supported front-end removal process. Removals through other routes won’t necessarily clear it.

Even so, wishlists can help returning shoppers find products they saved earlier.


Five Ways To Use A WooCommerce Wishlist Popup

The setup is simple, but the popup message can affect how shoppers respond. Here are five options you can test:

Convert the save into a purchase

You can show a limited-time discount after a shopper saves an item. Check the save on the server before giving a discount that should only be available to wishlist users. The shopper has shown interest in the item, but they may still be comparing products. Price or timing may be stopping the purchase, but stores should test whether a discount helps.

Capture an email address from guests

Guest saves live in the browser. Clearing site data or local storage erases them, but clearing the browser cache alone may not. A popup can ask the shopper for an email address. Sending a guest’s saved list requires consent and custom code that sends the wishlist data from the browser to your server or email service. Our guide to WooCommerce email automation with wishlist data covers what to send next.

Offer sale and back-in-stock alerts with SaveTo Wishlist Pro

A saved item shows that the shopper was interested when they saved it. You can ask whether the shopper wants an on-sale or back-in-stock alert. SaveTo Wishlist Pro can email logged-in customers when a saved product goes on sale or returns to stock. This requires a Pro automation, but it does not require another alert tool.

Cross-sell the obvious companion

After a shopper saves a camera body, you could test a popup that shows a matching lens. Keep it to one suggestion, though. A save shows some interest, and too many recommendations may distract the shopper.

Our guide on upselling versus cross-selling explains when each one fits.

Welcome back a returning saver

Use the cookie to greet a shopper who recently saved something in the same browser. A link straight back to their wishlist removes the work of finding it again. This pairs well with the tactics in our WooCommerce win-back campaign guide.

Whichever you pick, decide up front how you’ll measure it. A popup that appears after every save may annoy shoppers if it does not lead to more orders. SaveTo Wishlist Pro includes wishlist analytics. Lite does not include these analytics, so users need another tracking tool or custom code to compare saves with orders.

Hub and spoke diagram listing five offers a store can show in a popup after a wishlist save.
Five popup offers you can test after a wishlist save (click to zoom).

Limits To Know Before You Rely On These Signals

These browser signals have limits. Knowing those limits can help you avoid setup problems.

  • Redirect mode cuts the event short: For a logged-in shopper, navigation starts right after the event fires. A synchronous listener still runs, but anything asynchronous can be interrupted. Use the cookie for redirect flows.
  • Guests follow a different post-save path: In the code we inspected, a guest under Redirect reaches the confirmation modal. They don’t navigate away. Don’t assume guest behavior mirrors logged-in behavior.
  • Cart-to-wishlist saves report 0: This applies when a shopper saves one or more cart items through the cart action. The plugin sends one event for the action, not one event per item.
  • Failed saves produce nothing: A logged-in save emits the signals only when the server reports success. A network error or timeout produces no event and no cookie.
  • Consent tools can block the cookie if they block the SaveTo Wishlist script or its cookies: Browser privacy settings may also stop the browser writing the cookie. Build the cookie path as an addition, not your only route.
  • Neither signal proves that a valid save happened: Another script on the page can send an event with the same name or set the same cookie. Use them for messaging, never to grant something of real financial value without a server-side check.

The event carries a product or variation ID and a collection ID. The cookie stores only the product or variation ID. A cart save stores 0 as the product ID. No name, email address, or billing detail goes into either one. Product identifiers still describe shopper behavior. So check where the cookie belongs in your consent categories and privacy policy.


Frequently Asked Questions: WooCommerce Wishlist Popup Maker Integration

Does the Popup Maker integration cost anything?

No. The signals ship in SaveTo Wishlist Lite, the free version, from release 1.1.0 onward. You don’t need SaveTo Wishlist Pro to use them. What you build on the Popup Maker side depends on which Popup Maker features your own setup includes.

Do I need to configure anything in SaveTo Wishlist?

There’s no integration setting to switch on. SaveTo Wishlist produces the event and cookie automatically after a successful save, whether or not you have Popup Maker installed. The one setting worth reviewing is the Add to wishlist button behavior. Redirect mode changes which of the two signals you should use.

Why doesn’t my popup appear in Redirect mode?

Under Redirect, SaveTo Wishlist sends a logged-in shopper to the wishlist page right after the event fires. The page redirects almost at once, so the popup may disappear before the shopper can use it. Either switch the setting to Fade, or trigger your popup from the stwlite_wishlist_added cookie on the destination page.

Does this work for shoppers who aren’t logged in?

Yes, as long as guest wishlists are enabled, which is the default. A guest save goes into browser storage and emits the event with a collection ID of 0. If the browser blocks that storage write, no signal is produced. Browser settings can block storage and prevent a guest save. Test guest wishlists in the browsers your customers often use.

What does a product ID of 0 mean?

It means the save came from a cart-to-wishlist action. That action may cover one or more cart items. SaveTo Wishlist sends one event for the cart action rather than one event per item. The event does not identify an individual product, so show a general message or skip it.

Can I show a different popup for each product?

Yes, for regular product saves. The event and cookie provide the product or variation ID. Cart-to-wishlist saves use 0 instead. Your listener can branch to different popup IDs from there. Normalize the value with Number() before comparing it, since some frontend IDs arrive from HTML data attributes as strings.


Turn Saves Into Sales With The WooCommerce Wishlist Popup Maker Integration

A shopper may not buy a saved item for many reasons, including price, timing, stock, or a change of mind. A shopper who saves an item has shown interest, but they may still be comparing products or waiting to buy. Your job is to stay useful in that moment, instead of going quiet until the next email send.

Start small. One WooCommerce wishlist popup, one clear offer, and a plan to measure it beats a clever multi-branch setup nobody reviews after launch.

An instant wishlist popup needs one popup and a short JavaScript snippet. Cookie-based targeting may not need JavaScript if Popup Maker supports the needed cookie condition.

SaveTo Wishlist Lite sends these signals after a successful save. Your JavaScript or Popup Maker settings can then respond to them. The Popup Maker integration page has the short version if you want to skim it first.

author avatar
Michael Logarta

Get The Best WooCommerce Wishlist Plugin

Create wishlist functionality and grow your store quickly & easily.
Get SaveTo Wishlist Now

Share article

Complete Your Purchase