Abandoned cart recovery
Trigger a cart sequence from WooCommerce or your own store, time the three emails, and — the part people get wrong — stop sending the moment someone buys.
On this page›
An abandoned cart sequence emails someone who put something in a cart and left without buying. For an online store it is usually the highest-earning automation you will run. It is also the one most likely to irritate people, because the failure mode is emailing a customer about an order they already placed.
What starts it#
That depends on your store.
WooCommerce
There is a built-in trigger. Connect your store first, under Sources, by giving IGSendMail your store's connect URL. Connecting creates a list for that store's contacts. Then build an automation on that list and choose the abandoned cart trigger.
This trigger is event-driven: your store tells IGSendMail when a cart has been abandoned. Nothing is scanned on a schedule, so if the sequence never fires, the place to look is the connection between the store and IGSendMail, not the automation.
Shopify, or a custom store
There is no built-in trigger for these. Your store decides when a cart counts as abandoned and tells IGSendMail. Two ways to do it:
- The API trigger. Your store calls IGSendMail to start the automation for that contact. See API authentication to get set up.
- A tag. Your store adds a tag to the contact, and the automation triggers on that tag being added.
Either way you are choosing the definition of "abandoned". Most stores use somewhere between thirty and sixty minutes of inactivity with items still in the cart. Shorter than that and you are emailing people who stepped away to find their card.
The shape of the sequence#
Three emails is the usual pattern, and it is enough. In the editor that is a trigger, then send, wait, send, wait, send — with a condition in between if you want to treat people who engaged differently from people who ignored you.
A reasonable spacing:
- Email one, about an hour in. A reminder, nothing more. They probably got distracted.
- Email two, about a day later. The place for reassurance — delivery, returns, a review.
- Email three, about three days in. The last one. If you are going to offer an incentive, it goes here.
Delays count from the moment a contact reaches the wait step, not from when they entered the automation, so three waits of one hour, twenty-three hours and two days give you one hour, one day and three days. Triggers and timing covers the arithmetic and the quiet-hours question.
Do not put the discount in the first email. If a discount always follows abandonment, you have taught your regulars to abandon.
Stopping when they buy#
This is the part that needs your attention, because the platform cannot do it for you.
A condition step tests engagement — whether someone opened or clicked a particular email, within a timeout. There is no condition that tests whether someone completed an order. IGSendMail does not know that happened unless your store tells it.
So the exit has to come from your store, at the moment the order completes:
- Remove the contact from the cart list, or
- Move them to another list with an operation step in a separate flow, or clear the field or tag the sequence depends on.
If you skip this, you will email people who have already paid you. It is the most common complaint about cart emails and it reliably produces unsubscribes and spam complaints from people who were, a moment ago, happy customers.
Keeping the whole sequence inside three days limits the damage if something in that wiring breaks.
What you can personalise#
Contact fields work normally — a first name, a store name, anything you store on the contact. Personalization tags has the syntax and the fallback rules.
What you cannot do out of the box is list the actual contents of the cart. The trigger starts the automation for a contact; it does not hand the email a basket of products. If you want "you left the blue jacket behind", your store has to write those details onto the contact as custom fields before the sequence runs, and your email reads those fields. Custom fields covers creating them.
Plan for the field being empty. A contact who reaches the email without those values should still get a sentence that makes sense.
Consent#
Cart emails are marketing emails, not transactional ones. A abandoned cart is not by itself permission to market to somebody. Send these only to contacts who gave you consent to receive marketing, keep the unsubscribe link in place, and check GDPR and your data if you have customers in the EU or UK.
Common mistakes#
- No purchase exit. Covered above, and worth repeating, because it is the one that costs you customers rather than just revenue.
- A discount in the first email. Trains people to abandon carts on purpose.
- A window that runs for weeks. After about three days the intent is gone and you are just sending mail.
- Re-entry loops. If your trigger is a field or tag your store writes repeatedly, the same person can enter the sequence again and again. Set a separate marker the first time through and check it at the top of the flow.
Last updated September 22, 2026