Mailerflow Start free
Blog › Email Marketing Automation › Ecommerce Email Automation

Wishlist Reminder Emails: How to Set Them Up (With Price-Drop and Low-Stock Variations)

Published October 12, 2026 · 9 min read

Illustration for Wishlist Reminder Emails: How to Set Them Up (With Price-Drop and Low-Stock Variations)

A wishlist reminder email is a triggered message sent to a shopper who saved a product but did not buy it. It has one job: give that person a concrete reason to come back now — the item is still there, the price just dropped, or stock is running low. This tutorial walks through the exact trigger, wait and condition settings, two variations, a worked example, and how to verify the automation actually fires before you rely on it.

What a wishlist reminder email does (and when to send it)

A wishlist reminder email sits between browse abandonment and cart abandonment in intent strength. A cart means the shopper started checkout; a save means they were interested enough to bookmark the product but not enough to commit. That difference matters for tone and cadence. A cart email can be fairly direct because the shopper was close to buying. A saved items email should feel lighter: "still thinking about this?" rather than "you left something behind."

There are three distinct jobs a reminder can do. The first is intent recovery — the shopper simply got distracted, and a single nudge brings them back. The second is change communication: the price dropped, the item is back in stock, or stock is nearly gone. The third is a reason to act now, which is really a combination of the first two plus a deadline or a saving.

Timing depends on which job you are doing. Intent recovery works best after a short cooling-off period, because emailing someone 10 minutes after they saved an item mostly reaches people who were about to buy anyway. Price-drop and low-stock reminders are event-driven: they should fire when the change happens, not on a fixed schedule. You can run both in the same automation by branching after the first reminder.

What you'll set up and what you need

Before you build anything, confirm four things:

  1. A save event. Your store needs to tell your email platform that a contact saved a product. That can come from a wishlist app, a custom "save for later" button, or a JavaScript event on your site. Mailerflow triggers on events and website behavior, so either route works.
  2. Product data at send time. The email needs the product name, image, URL, current price and stock status. Pass these as event properties, store them as custom fields, or pull them from a dynamic product block.
  3. A properly configured sending domain. DKIM, SPF and DMARC set up on your own domain. Mailerflow guides this setup and verifies it automatically, and it suppresses bounces and complaints so a bad address list does not damage your reputation.
  4. Consent to email the contact. A save action on your site is usually enough under legitimate-interest or existing-customer rules, but check your own jurisdiction and keep a consent record. Mailerflow stores consent logs and offers data export, erasure and configurable retention, with data hosted in Europe.

Step-by-step: build the automation

1. Create the trigger

Add an event trigger on wishlist_item_added. Pass at least product_id, product_name, price_at_save and product_url as event properties. If you track saves through the JS SDK instead, use a website-behavior trigger on the same action.

Verify: fire the event once from your own browser and confirm it appears in the webhook delivery log. Mailerflow uses signed webhooks with retries and delivery logs, so you can see whether the payload arrived and what it contained.

2. Add the first wait

Set a wait of 24 hours. This is the single most important setting in the automation. Without it, you email people who save an item and buy it in the same session, which is both annoying and a wasted send.

Verify: the automation map should show the contact sitting on the wait step with a countdown.

3. Add a condition

Add a condition block with two rules:

  • has not purchased product_id — exits anyone who bought the item.
  • has not received this automation in the last 30 days — acts as a frequency cap.

Verify: simulate a purchase on your test contact and confirm they exit before the email step.

4. Build the first email

Include the product image, name, current price and one clear CTA back to the product page. Keep it to a single product unless the shopper saved several items in one session. If you want a starting point, the AI email builder takes a one-line description and returns a complete responsive design with subject lines and preview text, which you can then edit in the visual block editor.

Verify: send a real test to a seed address on your own domain, not just a preview. Check it on a phone.

5. Add the second wait

Set a wait of 4 days. This gives the shopper room to return on their own before you send anything else.

6. Add the price-drop and low-stock branches

After the second wait, split into two branches. The price-drop branch checks whether the current price is lower than price_at_save by at least your threshold. The low-stock branch checks whether inventory has fallen below your threshold. Details are in the next two sections.

7. Set the exit condition

Add a global exit: purchase of the saved product, or unsubscribe. Without this, buyers keep receiving reminders for something they already own.

8. Activate and inspect the map

Turn the automation on and read the map from top to bottom. Every path should end in either a send or an exit. If you would rather start from a draft, the AI automation builder takes a sentence describing the workflow and returns the trigger, waits, conditions and emails for you to review before activation.

Variation 1: the price-drop reminder

A price-drop reminder should only fire when the drop is meaningful. A 1% change is noise and trains people to ignore you. Set a minimum of 5% or a fixed currency amount — whichever is larger for your average order value.

The logic is a comparison, not a fixed schedule: on each check, compare the saved product's current price to price_at_save, and only continue if the difference clears your threshold. Run the check on a schedule (for example, once a day) or on a price-change event if your store emits one.

In the email, lead with the new price and the saving. Keep the original product image so the shopper recognises the item instantly, and use one CTA. "Aurora Desk Lamp is now €74 — €15 less than when you saved it" does more work than a generic "prices have dropped." If you want to go further, AI personalization steps combined with website-behavior data can tailor the message to what the contact actually viewed or saved.

Apply a frequency cap here too. One price-drop email per product per 30 days is a reasonable default; more than that starts to feel like pressure rather than a favour.

Variation 2: the low-stock reminder

Low-stock reminders are the easiest way to damage trust, because fake scarcity is obvious and remembered. Only send when your inventory data is accurate and the product is genuinely low — for example, fewer than 5 units.

Trigger this branch from a stock-level event, or from a scheduled check that fires when inventory for the saved product drops below your threshold. Add a condition that the contact has not purchased the item, and keep the same 30-day frequency cap. State the remaining quantity only if it is accurate at send time; "only a few left" is fine, "only 2 left" is only fine if it is true.

Skip this branch entirely for products that are routinely restocked within hours. If your supplier refills in a day, the urgency is manufactured and the email will read that way. The same pattern is what powers back-in-stock alerts, just in the opposite direction.

A worked example: 'Aurora Desk Lamp'

This is an illustrative example, not a customer story.

  • Tuesday, 14:20 — A shopper saves the Aurora Desk Lamp at €89. The wishlist_item_added event fires with product_id, price_at_save = 89. The contact enters the automation.
  • Tuesday–Wednesday — The 24-hour wait runs. The shopper does not buy.
  • Wednesday, 14:20 — The condition check passes (no purchase, no email in 30 days). The first reminder sends with the lamp image, €89 and a "Back to your saved item" CTA.
  • Wednesday–Sunday — The 4-day wait runs. No purchase.
  • Sunday, 09:00 — The scheduled price check finds the lamp at €74. That is a €15 drop, above the 5% threshold, so the price-drop branch fires and sends a second email leading with the saving.
  • Monday, 11:05 — The shopper buys. The purchase event exits the automation before any further email goes out.

Two emails, four days apart, both tied to a real change. That is the whole shape of a well-behaved wishlist reminder sequence.

How to check it works

  1. Add yourself as a test contact with a real email address you can open.
  2. Trigger the save event on a test product.
  3. Open the automation's activity or delivery log and confirm the contact entered and which step they are on.
  4. Confirm the wait is counting down as expected rather than sitting at zero.
  5. Check the email renders on mobile and desktop, and that the product image and price are correct.
  6. Simulate a purchase and confirm the exit condition fires.
  7. Review analytics for delivery, bounces, complaints and clicks. Treat opens as approximate — they always are.

If the contact never enters the automation, the problem is almost always the event payload. Check the webhook delivery log first: Mailerflow's signed webhooks include retries and delivery logs, so you can see whether the event arrived, what it contained, and whether a retry succeeded.

Common mistakes and fixes

Mistake Fix
Sending immediately after the save Add a 24-hour wait so same-session buyers drop out
No purchase exit condition Add a global exit on purchase of the saved product
No frequency cap Limit to one reminder per product per 30 days
Price-drop threshold too small Require at least 5% or a fixed currency amount
Low-stock urgency that is not true Only send when inventory data is accurate and genuinely low
Missing product data at send time Pass product_id and price in the event payload, or use a dynamic product block
Ignoring deliverability Send from your own domain with DKIM, SPF and DMARC, and let bounces and complaints suppress automatically

This article is the pillar of the Product Alerts cluster. The same trigger, wait and condition pattern reappears in every supporting automation: back-in-stock alerts, price-drop alerts, cart abandonment, browse abandonment and post-purchase follow-ups. Build the base reminder first, confirm it fires correctly, then add the two variations.

Once it is live, use dynamic segments on fields, tags, engagement, events and website behavior to keep saved-items audiences separate from buyers, so a reminder never lands in the inbox of someone who already owns the product. From there, test subject lines with A/B testing and turn on "send when the contact is most active" so the second email in the sequence lands when that person is actually reading email.

FAQ

How long should I wait before sending a wishlist reminder email?

24 hours is a solid default. It is long enough to exclude same-session buyers and short enough that the product is still fresh in the shopper's mind. If your category has a long consideration cycle, 48 hours also works.

Can I send a reminder for a product that is out of stock?

Yes, but change the message. A reminder for an out-of-stock item should not push a purchase — it should offer to notify the shopper when it returns. That is a back-in-stock alert, and it belongs in its own branch.

How many reminders should I send for one saved item?

Two is usually enough: one intent reminder and one change reminder. Cap it at one per product per 30 days, and always exit on purchase.

You need a lawful basis to email the contact, and a save action alone may not always be enough depending on your jurisdiction. Keep a consent record, offer a clear unsubscribe, and check your local rules.

What if my store does not have a wishlist feature?

You can add a "save for later" button that fires an event to your email platform, or use a wishlist app that emits the same event. The automation only needs a reliable save event with a product ID.

Describe this automation in a sentence and Mailerflow drafts the workflow for you to review — start free.