Most people who reach your checkout don’t buy. Some get distracted, some hesitate on price, some hit a payment error and never come back. An abandoned cart automation follows up with all of them automatically.
This is a complete worked example using everything in this category: a trigger, a wait, a condition, and a short email sequence. Build it once per funnel and it runs forever.
How it works
The pattern behind every abandoned cart flow:
-
Purchase Attempt fires the moment someone clicks the buy button, before you know whether the payment succeeds.
-
A Wait action pauses the flow, giving the order time to complete.
-
A Condition checks whether they actually bought.
-
Buyers fall out of the flow. Everyone else gets the recovery emails.
Purchase Attempt fires on every order, successful or not. That’s why the wait and the condition are not optional. Without them you’d email your paying customers telling them they forgot to pay.
Before you start
-
A connected sender. Automation emails go through your own SMTP provider, and each funnel picks its sender under Settings → SMTP Settings. See Send emails from your automations. No sender, no recovery emails.
-
An email field that captures early. Turn on auto-optin on your checkout’s email field so the address is captured as it’s typed, not only on submit. That’s how you reach people who never made it to the buy button. More in Form Fields.
Build it
Create a funnel automation (open the funnel, click Automations, then Create a new automation and Start from scratch). Funnel-level keeps the flow tied to this offer, which is what you want: the copy should talk about the actual product.
Step 1: the trigger
Add the Purchase Attempt trigger. In its settings:
-
Scope Trigger on steps to your checkout step.
-
Switch on Run once per customer, so a returning visitor doesn’t get the sequence twice.
Full trigger reference: Automation Triggers.
Step 2: wait 30 minutes
Click +, choose Workflow → Wait, and set 30 minutes.
Long enough for a slow payment, a 3DS challenge, or someone finishing on another device. Short enough that the email lands while your product is still on their mind.
Step 3: check whether they bought
Click +, choose Workflow → Condition. Build the rule using a behavior field, which looks at what the customer has actually purchased rather than what’s in the current event:
-
Bought at funnel is the simplest: has this customer bought from this funnel? Use it when the funnel sells one offer.
-
Bought product or Bought variant are more precise: has this customer bought this specific product? Use these when the funnel sells several things and you only want to recover the one they abandoned.
-
Bought at step checks a specific step, useful for recovering an abandoned upsell separately from an abandoned main order.
Set the operator to is not (or the negative form of your rule) so the branch you build on is “hasn’t bought yet”.
The automation splits in two. Buyers go down the pass branch, where you leave it empty or start a post-purchase flow. Non-buyers go down the fail branch, and that’s where the recovery emails go.
Step 4: the first email
On the non-buyer branch, click +, then Sending Options → Send an email.
Choose Text only. This matters more than it sounds: a plain email that reads like a person wrote it beats a designed campaign for recovery, every time. It looks like the founder noticed, not like a marketing system fired.
Keep it short:
Subject: Did something go wrong?
Hi {first name}, I saw you were checking out but didn’t get through. Did the payment fail, or was something unclear? Here’s the link back to your order: {checkout step link}. Reply to this email if you need a hand, I read every one.
Insert the personalization fields from the icons at the top of the editor, and link back to the checkout step directly so they land where they left off.
Step 5: wait, then a second email
Click +, add another Wait, this time 23 hours (so email two arrives about a day after the attempt). Then add a second Send an email.
Email two takes a different angle. Options that work:
-
Handle the objection. Shipping times, the guarantee, the returns policy. Whatever your Ask the community questions tell you people hesitate over.
-
Add urgency, honestly. Low stock or a genuinely ending promotion. Don’t invent a deadline you won’t honor.
-
Offer a discount. Effective, but it trains buyers to abandon on purpose if you always do it. Test whether email two even needs one before adding it.
A third email at 72 hours is worth testing. Past that, returns fall off fast.
Step 6: name it, save it, activate it
Name the automation, click Save, and switch the toggle to Active.
An inactive automation does nothing, however complete it looks. If a flow seems dead, check the toggle first.
Add SMS to the sequence
Text messages get read within minutes, which suits recovery well. If you’ve set up SMS, add a Send an SMS action to the non-buyer branch, usually between the two emails.
Keep it under 160 characters, include a link to the checkout step (Funnelish shortens step links automatically), and include STOP. Sending SMS needs the customer’s phone number on file, so it only reaches people who got far enough to enter one.
Catch the earlier drop-offs too
Purchase Attempt only covers people who reached the buy button. Plenty leave before that, with their email already typed into your form.
Build a second automation with the Optin trigger, the same wait-and-check structure, and a softer email: they were interested, they didn’t get as far as trying to pay. Between the two flows you’re following up with everyone who gave you an email address.
Test it before you trust it
Abandon your own cart. Fill in your details on the checkout, click through to payment, then leave. Wait out the full delay you configured, and confirm:
-
The first email arrives, in the inbox and not spam.
-
Personalization fields render (a real name, not
{first name}). -
The link goes back to the right step.
Then do the opposite test: complete a real purchase and confirm you get no recovery emails. That’s the condition doing its job, and it’s the failure people only discover from an annoyed customer.
Test payments before launch covers placing safe test orders.
Related articles
Built your recovery flow and not sure the timing is right, or want a second pair of eyes on the copy? Post it in Ask the community, this is one of the most-discussed flows in the community.