Last updated: June 2026
Table of contents
- Start here: is your FunnelKit abandoned cart not sending, or not arriving?
- Reason 1: Cart Tracking isn’t enabled
- Reason 2: the cart never had an email address to send to
- Reason 3: the automation isn’t active
- Reason 4: SMTP isn’t configured correctly
- Reason 5: a Goal step exited the contact — and that’s correct
- Reason 6: “Runs Once” is blocking your repeat carts
- Reason 7: the emails are sending — straight to spam
- The merge tags your recovery emails actually need
- Build the sequence correctly the first time
- Frequently asked questions
If your FunnelKit abandoned cart is not sending its recovery emails, you’re losing the closest thing FunnelKit has to free money. The industry benchmark for cart abandonment sits around 70 percent — roughly seven of every ten carts. A well-built three-email recovery sequence won’t save all of those, but even a modest recovery rate brings back revenue that would otherwise be zero, recovered by an automation you build once and never touch again.
So when you discover the sequence isn’t going out, it’s worth fixing the same day. The frustrating part is that “FunnelKit abandoned cart not sending” almost never has a single cause. It’s a short list of usual suspects, and the trick is to check them in the right order instead of randomly toggling settings on a system that’s mostly working. This guide walks that list from the most common cause to the least, so you find the leak fast.
Start here: is your FunnelKit abandoned cart not sending, or not arriving?
Before you change anything, separate two problems that feel identical from the customer’s side but have completely different fixes.
The first is that the automation never fires or never sends — FunnelKit has no record of the email going out. The second is that FunnelKit sent the email just fine, but it landed in spam, or it went to an address that was never captured in the first place. One is an automation problem; the other is a deliverability or tracking problem.
You can tell which one you’re dealing with by opening the automation on the canvas. FunnelKit shows inline analytics on every email node — contact counts, open rates, click rates — updated in near real time. If the email node shows contacts flowing through it, FunnelKit is sending and your problem is downstream (spam, or the wrong address). If the node shows zero contacts entering the sequence at all, the automation isn’t firing and the problem is upstream. That single check tells you which half of this article to read.
Test with a real abandoned cart, not the preview. The preview has no cart context, so cart-specific merge tags and recovery links can look broken in preview and work perfectly on a live abandonment — and vice versa. Add a product, enter your email at checkout, then leave. Wait out the abandonment window and watch what actually happens.
Reason 1: Cart Tracking isn’t enabled
This is the upstream switch that makes everything else possible, and it’s the first thing to confirm — because if it’s off, nothing downstream can work no matter how well your sequence is built.
FunnelKit Automations’ cart tracking has to be explicitly turned on before it will detect abandoned carts at all. Go to FunnelKit Automations → Settings → Carts → Enable Cart Tracking and confirm the toggle is on. If it’s off, FunnelKit never captures recoverable carts in the first place, so the Cart Abandoned trigger has nothing to fire from — the automation sits there perfectly built and never receives a single contact.
Once tracking is on, FunnelKit begins recording cart sessions, and you’ll see them populate under FunnelKit Automations → Carts (total abandonment count, recoverable revenue, recovered revenue, and recovery rate). If that Carts view is empty despite real abandonment happening on your store, this toggle is the first suspect.
Reason 2: the cart never had an email address to send to
With tracking on, the next most common reason a FunnelKit abandoned cart sequence appears dead is that there was no address to send to — and it’s the one people check last.
FunnelKit can only recover a cart if it knows the customer’s email address. Cart tracking works for two kinds of visitors: logged-in users, whose cart is automatically tied to their account, and identified guests, who entered their email on the checkout page before leaving. A pure anonymous visitor — someone who added to cart, hit checkout, and bounced before typing anything — left no address behind. There is nobody to email. FunnelKit isn’t broken; it simply has no way to reach a ghost.
If your analytics show very few contacts entering the abandonment sequence relative to your real abandonment volume, this gap is almost certainly why. The fix is to capture the email earlier in the flow. A two-step checkout is the cleanest way to do it: step one collects name and email, which immediately identifies the visitor, and step two handles payment. Anyone who makes it past step one and then leaves is now recoverable. Moving email capture as early as possible in the checkout is the highest-leverage change you can make to your recovery numbers.
Reason 3: the automation isn’t active
It sounds too obvious to check. Check it anyway, because it catches people constantly — especially right after you’ve been editing the sequence.
Go to FunnelKit Automations → Automations, find your abandoned cart automation, and confirm the toggle reads “Active.” An automation in draft or inactive state will sit there looking complete — emails written, delays set, everything in place — and never fire for a single contact. If you imported the abandoned cart template, customized the copy, and walked away, it’s worth confirming you flipped it on at the end. A saved automation is not the same as an active one.
Reason 4: SMTP isn’t configured correctly
Here’s the failure mode that wastes the most hours, because it typically produces no error and no warning anywhere a normal user would look.
FunnelKit Automations sends email through WordPress’s mail function, which routes through whatever SMTP service you’ve configured. If SMTP isn’t configured correctly, the automation may appear to run — the contact moves through the sequence, the canvas may register the send — while the message never actually reaches the inbox. WordPress’s default PHP mail is not a real solution here; it’s unauthenticated, increasingly blocked by Gmail and Outlook, and unsuitable for any business email.
The fix is to go to FunnelKit Automations → Settings → Email Configuration, confirm a real SMTP provider is connected, and use the test-send button. If the test email doesn’t arrive in your own inbox, no recovery email is reaching anyone else’s either, and you’ve found your problem. A dedicated SMTP plugin such as WP Mail SMTP, paired with a real sending service — Amazon SES, SendGrid, Mailgun, or Postmark — is the dependable setup depending on your volume and budget.
Don’t infer deliverability from the canvas alone. If the canvas shows contacts entering the email node but no one ever receives the message, suspect SMTP — send yourself a test from the Email Configuration page and watch for it to land before assuming the sequence is fine.
Reason 5: a Goal step exited the contact — and that’s correct
Sometimes the sequence “isn’t sending” to a specific person because the contact was deliberately pulled out of it after buying — and that’s the system working exactly as designed.
The recommended way to build an abandonment sequence puts a Goal step before each delay, checking whether the contact has placed an order yet. The moment someone completes their purchase, the Goal step catches it and exits them from the automation. That’s the whole point: it stops you from emailing a “you left something behind” reminder to a customer who bought twenty minutes ago. Skip the Goal steps and you’ll nag buyers to buy something they already own — which annoys customers and makes you look like you’re not paying attention. (FunnelKit’s abandoned-cart flow is also designed to stop messaging a contact once their cart is recovered or the order is placed, so a well-built sequence has belt-and-suspenders protection here.)
So if you tested by abandoning a cart and then completing the purchase, and the later emails never came, that isn’t a bug. That’s the contact exiting on the order, exactly as intended. To test the actual email flow, abandon a cart and leave it abandoned — don’t complete the order — and let the full sequence run.
Reason 6: “Runs Once” is blocking your repeat carts
Every automation has a “Runs” setting: Once, or Multiple Times. For an abandoned cart sequence, this must be set to Multiple Times.
The logic is straightforward. “Runs Once” means a given contact can enter the automation a single time, ever, no matter how often the trigger fires for them. That’s the right setting for a welcome sequence — you only want to greet someone once. But for abandoned carts, it’s wrong: every cart a customer abandons should get its own recovery sequence. If yours is set to “Runs Once,” a customer who abandoned a cart last month and never completed the purchase will get nothing the next time they abandon, because FunnelKit considers them already-processed.
This is a sneaky one because the sequence works perfectly the first time you test it, then appears dead on your second test with the same email. If your tests pass once and fail on repeat, check this setting before anything else.
Reason 7: the emails are sending — straight to spam
If the canvas confirms FunnelKit is sending, your SMTP test arrives, and contacts are flowing through the sequence, but customers still swear they never got anything — your emails are landing in spam. Deliverability is invisible when it works and catastrophic when it doesn’t.
The foundation is three DNS authentication records on your sending domain: SPF, which lists the servers authorized to send on your behalf; DKIM, a cryptographic signature that proves the message is genuinely from you; and DMARC, which tells receiving servers what to do with mail that fails the first two. Setting all three up is a one-time task of about thirty minutes at your DNS provider, and there’s no deliverability fix that pays better per hour. Without them, Gmail and Outlook increasingly route your mail to spam or reject it outright.
Two more things sink recovery emails specifically. First, a cold sending domain: if you’ve never sent email at volume, a sudden burst looks like spam behavior, so warm up gradually. Second, content triggers — a subject line shouting “FREE,” excessive capitals, multiple exclamation points, or a missing unsubscribe link. Run a draft through a tool like mail-tester.com to see your score and which elements are flagging before you trust the sequence with real customers.
The merge tags your recovery emails actually need
A recovery email with a broken link or a blank greeting converts nobody. These are the cart-specific merge tags available inside an abandonment sequence:
| Merge tag | What it outputs |
|---|---|
| Cart Recovery Link / URL (insert from picker) | A direct link back to checkout with the cart contents restored. This is the most important tag in the email — without it there’s nothing to click. In many installs the token is {{cart_recovery_url}}, but insert it from the picker rather than typing it. |
| {{cart_items template=’cart-table’}} | The cart contents rendered as a formatted product table. |
| {{cart_total}} | The total value of the abandoned cart. |
| {{cart_billing_first_name fallback=’there’}} | The customer’s first name, with a fallback word if it wasn’t captured. |
Insert FunnelKit’s Cart Recovery Link / Cart Recovery URL merge tag from the merge-tag picker rather than typing it from memory — the picker drops in the exact token your installed version uses (commonly {{cart_recovery_url}}, though the token can vary by version). Always use the fallback attribute on the name tag, too. You may not have a name if the customer abandoned before typing it, and “Hi ,” with a blank where the name should be is worse than “Hi there.” Because preview has no cart context, confirm the recovery link and product table actually populate on a real abandoned-cart test before you go live — that’s the only place these tags resolve correctly.
Build the sequence correctly the first time
If you’re rebuilding from scratch, don’t. Start from the pre-built abandoned cart template in FunnelKit Automations → Templates. It ships pre-configured with a three-email sequence and sensible timing, and building from a working template is faster and far less error-prone than wiring it up by hand.
The structure that works: the Cart Abandoned trigger, a Goal step checking “order placed,” then a 30-minute delay and the first email — a short, personal reminder with no discount. Add another Goal check, a 24-hour delay, and a second email that reinforces the value and addresses the most common objection, still with no discount. Then a final Goal check, a 72-hour delay, and the last email, which is the only place an incentive belongs if you’re going to use one.
That “no discount until the last email” rule matters more than it looks. Lead with a discount in email one and you teach your audience to abandon carts on purpose, because they’ve learned that waiting earns them a code. Hold the incentive for the final push, when the alternative is losing the sale entirely.
If the trigger and the emails are right but contacts still aren’t entering, walk back up this list: is Cart Tracking enabled, are visitors being identified by email at checkout, is the automation Active, is it set to Multiple Times, and is SMTP actually delivering? Most of the time, the answer is one of those.
Abandoned cart recovery is one of four foundational automations worth building before anything fancier — alongside order confirmation, a welcome sequence, and a review request. Get this one firing reliably and you’ve plugged the biggest leak in most stores. If you’re chasing a different FunnelKit gremlin, our companion guides on why a FunnelKit automation isn’t triggering and an order bump not showing on checkout work through those problems the same way.
Frequently asked questions
Why is my FunnelKit abandoned cart not sending any emails at all? Work through the causes in order: Cart Tracking may not be enabled (the upstream switch), the cart may have had no captured email address to send to, the automation may not be toggled Active, or — most invisibly — SMTP may not be configured, in which case emails can appear to send while never reaching the inbox. Open the automation canvas and check whether contacts are entering the email node; that tells you whether the problem is upstream or downstream.
Why is FunnelKit not capturing any abandoned carts? The most likely cause is that cart tracking isn’t switched on. Go to FunnelKit Automations → Settings → Carts → Enable Cart Tracking and confirm it’s toggled on. Until it is, FunnelKit records no carts and the Cart Abandoned trigger never fires.
Does FunnelKit recover carts from anonymous visitors? No. FunnelKit can only recover a cart when it knows the visitor’s email, which means the visitor was either logged in or entered their email at checkout before leaving. Visitors who never provide an email cannot be tracked or recovered. Capturing email earlier — for example with a two-step checkout — closes this gap.
How long after abandonment does the first email send? In the standard three-email template, the first email fires about 30 minutes after abandonment, the second at 24 hours, and the third at 72 hours. The abandonment window itself — how long an inactive cart waits before being marked abandoned — is configurable and defaults to 15 minutes.
I completed a test purchase and the later emails never came. Is it broken? No, that’s the Goal step working correctly. A Goal step before each delay exits anyone who has placed an order, so you don’t email buyers asking them to buy what they already bought. To test the full email flow, abandon a cart and leave it abandoned without completing the order.
The automation fires but customers say they never get the email. What now? That points to deliverability, not the automation. Send yourself a test from FunnelKit Automations → Settings → Email Configuration; if it doesn’t arrive, your SMTP or domain authentication (SPF, DKIM, DMARC) needs attention. If the test arrives in your spam folder, your sending reputation or email content is the issue.
Should I lead with a discount to win the cart back faster? Not in the first email. Leading with a discount trains customers to abandon carts deliberately to trigger the code. Keep the first two emails discount-free — a reminder and a value reinforcement — and reserve any incentive for the final email, when the alternative is losing the sale.
Sources
Grounded in The Missing Manual for FunnelKit (MMS Vegas) — chapters on automation triggers, conditions and Goal steps, abandoned cart recovery, deliverability, and troubleshooting — and verified against the current FunnelKit documentation:
- FunnelKit — Enable Cart Tracking
- FunnelKit — Set Up Abandoned Cart Automation
- FunnelKit — Email Setup (SMTP)
- FunnelKit — Merge Tags
Brian Kasday writes The Operator’s Library for MMS Vegas — production-grade reference manuals for the tools small operators actually run.

Leave a Reply