BlogResources

How to automate abandoned cart emails: timing and the discount trap

Most carts are not abandoned, and a discount in the first email teaches people to abandon. What the delay should be, what to say, and when to stop.

Rithul PalazhiRithul Palazhi11 min read

Summarize with AI

How to automate abandoned cart emails: timing and the discount trap
On this page

To automate abandoned cart emails, send a short sequence of two or three emails triggered by a cart or checkout event, with the first email a few hours after the shopper leaves and no discount in it. Two decisions matter most: when the first message goes out, and whether it contains a discount.

Many stores copy whatever a template suggests. A discount in the first email trains engaged customers to abandon carts on purpose, and a badly timed first email reaches people who were not abandoning anything.

What we'll cover

Key takeaways

  • Send the first abandoned cart email one to a few hours after the shopper leaves, tested against your own data.
  • Keep the first email free of discounts, because a discount teaches engaged customers to abandon carts on purpose.
  • Limit the sequence to two or three emails, and stop it when the customer buys or returns to the cart.
  • Keep a permanent holdout group that receives no email, so you can measure what the sequence actually causes.
  • Fix the checkout first: showing full costs early removes more abandonment than any email recovers.

Most carts are not abandoned

Most carts are not abandoned in the sense of a lost sale, because many shoppers use the cart as a shortlist. In a US survey, 42% of shoppers who abandoned a cart said they were just browsing or not ready to buy (Baymard Institute, 2025).

Shoppers research across sessions. Adding an item and returning two days later is normal behaviour, not a failure.

Comparison shopping turns the cart into a holding place while the shopper checks the same item elsewhere.

Multiple devices split one purchase journey into what looks like an abandonment and a fresh visit.

Checkout abandonment is the real signal. It differs from cart abandonment: a shopper who entered delivery details and stopped hit a specific obstacle.

Treat the two separately. Cart abandonment calls for a reminder, and checkout abandonment calls for an intervention. Sending the same message to both wastes the more valuable case.

Why people actually leave

Shoppers leave at checkout mainly because of extra costs, slow delivery and forced account creation. Among US shoppers who abandoned a checkout for a reason other than browsing, 40% cited extra costs, 20% slow delivery and 18% required account creation (Baymard Institute, 2025).

  • Unexpected costs such as shipping, tax and fees appearing late. This is a pricing presentation problem, not an email problem.
  • Required account creation, which adds friction at the wrong moment.
  • Delivery timing that does not work for the shopper. An email can address this directly.
  • A missing payment method. You can count this from your own data.
  • A checkout error, which is a bug and needs a different response.
  • Genuine hesitation about the purchase, the only case the classic recovery email is designed for.

The timing decision

Send the first message one to a few hours after the shopper leaves, then test the delay against your own data. The delay must be long enough that the person has left, and short enough that the message is still relevant.

Do not send too early. An email that arrives while someone is still shopping reads as surveillance and interrupts a purchase in progress.

Send two or three messages, not five. The return diminishes sharply, and the annoyance does not.

Space the messages out: hours, then a day, then a couple of days.

Stop at the purchase, and also stop if the shopper returns to the cart, because a live session does not need an email.

Respect a sensible hour. A recovery email at three in the morning is timely and reads badly.

Building it with CodeWords

CodeWords connects to more than 3,000 integrations (CodeWords pricing page, 2026), so the store, the email platform and the customer record can meet in one automation.

  1. Open CodeWords and start a new automation.
  2. Describe to Cody, the automation builder, what should happen in plain language: the delays, the messages, and the conditions for stopping.
  3. Authorize the connections: your store platform and your email service.
  4. Describe the exceptions: a completed purchase, a return visit, a customer who already received one this week, an out-of-stock item.
  5. Run it against last month's abandoned carts as a dry run and check who would have received what.

You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows (CodeWords pricing page, 2026). Details are on the pricing page.

The discount trap

Do not put a discount in the first abandoned cart email. A discount gives margin away on sales you would have made anyway, and it teaches customers to abandon carts to get a code. This is the most consequential decision in the sequence.

A first-email discount subsidises sales you would have made anyway, because many recipients were returning regardless.

Customers learn the pattern. Once a shopper notices that abandoning produces a code, the shopper abandons deliberately. The most engaged customers learn fastest.

A discount resets the reference price. Customers who received a discount expect another, and full-price conversion falls afterwards.

Hold any discount for the last message and treat it as the final attempt, not the opening offer.

Try non-price levers first: free shipping over a threshold, a clearer delivery date, a returns guarantee, or an answer to the likely objection.

Measure incrementally against a holdout group that receives no discount. The recovery rate of a discounted sequence does not show whether the discount caused anything.

What the message should say

The message should show what the shopper left, link back to the cart and answer the likely obstacle. Keep it short, because the most effective recovery emails read like a reminder.

Show what they left, with the image. Recognition does most of the work.

Give one clear link back to the cart, still populated. This is the functional purpose of the email.

Address the likely obstacle, not the emotion. Delivery timing, returns, sizing and payment options give concrete answers that beat "you left something behind".

Send from a real address that accepts replies. Some recipients reply with the question that stopped them.

Include support, not just checkout. Some abandonments are questions, and a route to an answer converts where a button does not.

Who should not receive one

Do not send the sequence to anyone without email consent, repeat abandoners, recent buyers, carts with out-of-stock items, very low value carts or customers who already receive too much email.

  • Anyone without consent to be emailed. In most markets this is a legal question, not a settings preference.
  • Repeat abandoners, who use the cart as a wishlist and are being slowly annoyed.
  • Anyone who bought something else in the window, where the message is plainly wrong.
  • Carts with out-of-stock items, unless the message says so. Sending someone back to an unbuyable cart is worse than silence.
  • Very low value carts, where the margin does not support the contact.
  • Anyone who has had too much email recently. Use a global frequency cap across all automated sequences, not per-sequence rules.

Fixing the checkout instead

Fix the checkout before you refine the email, because every recovery message compensates for something that happened at checkout. The sequence is worth building, but it is a smaller lever than the page it recovers from.

Show the full cost early. Shipping and tax visible before the final step remove the largest single cause (Baymard Institute, 2025). No email recovers as many shoppers as not surprising them.

Allow guest checkout. Forced account creation costs sales at the moment of highest intent, and you can offer an account afterwards.

State the delivery date, not the shipping speed, because a date is what the shopper is deciding about.

Offer the payment methods your customers use. These vary by market.

Log checkout errors as errors. An abandonment caused by a failed payment step is a bug report, and otherwise it is counted as a marketing statistic.

Read the replies. People who answer your recovery email tell you what is wrong with the checkout, in their own words.

Making it survive

Make the sequence reliable by preventing duplicates, checking state before every send and reporting against a holdout.

  • Make it idempotent (safe to run twice) on the cart, so one person does not receive two first emails.
  • Check the current state before every send, not only at scheduling time, because the purchase may have happened in between.
  • Handle price and stock changes between abandonment and send. A restored cart with a different total creates a support ticket.
  • Keep the cart link valid for the life of the sequence.
  • Report the outcome: carts eligible, messages sent, messages suppressed and why, and recovery measured against a holdout.

Limits worth knowing about

You need an email address. Anonymous abandonments are out of reach unless the person identified themselves earlier.

Consent rules vary by market and apply to this message like any other commercial email.

Attribution is generous by default. Most platforms credit the email for any purchase in a window, including purchases that would have happened anyway.

Cart state can be stale by the time you send, particularly for stock and pricing.

Cross-device journeys are incomplete. The shopper may have completed the purchase somewhere your automation cannot see.

What to build first

Build a single message, sent a few hours after abandonment, that shows the cart, answers the two most common obstacles and offers no discount. It has the best return per unit of annoyance. Measured against a holdout, it gives you the baseline that shows whether anything you add later works.

Two habits make the difference. Keep a permanent holdout group that receives nothing, because without it every number the system produces overstates its contribution. And separate checkout abandonment from cart abandonment, because one is a person who hit an obstacle you can name and the other is often someone using the cart as a list.

Frequently asked questions

When should the first abandoned cart email be sent?

Send it one to a few hours after the shopper leaves, tested against your own data. The delay must be long enough that the person has left and short enough to stay relevant. A message that is too early reads as surveillance and can interrupt a purchase.

Should I include a discount?

No, not in the first message. Many recipients were returning anyway, so the discount costs margin on sales you already had. Customers who notice the pattern begin abandoning carts deliberately to receive a code.

How many emails should the sequence have?

Send two or three emails. The return diminishes sharply after that, and the annoyance does not. A longer sequence damages the list you are sending it to.

Why do people abandon carts?

Extra costs at checkout are the most cited cause, followed by slow delivery and required account creation (Baymard Institute, 2025). Missing payment methods and checkout errors also contribute. Only a minority of abandonments are genuine hesitation about the purchase.

What is the difference between cart and checkout abandonment?

Cart abandonment often means the shopper is using the cart as a shortlist. Checkout abandonment means the shopper entered details and hit a specific obstacle. That is a stronger signal and deserves a different message.

How do I know whether recovery emails are working?

Keep a permanent holdout group that receives nothing. Platform attribution credits the email for purchases in a window, including purchases that would have happened anyway. Without a holdout, every number overstates the email's contribution.

Who should be excluded from the sequence?

Exclude anyone without consent, repeat abandoners who use the cart as a wishlist, anyone who bought something else, carts with out-of-stock items, very low value carts, and anyone near a global email frequency cap.

What should the email actually say?

Show what the shopper left, with the image. Give one link back to a still-populated cart and address the likely concrete obstacle: delivery, returns, sizing or payment. Send it from an address that accepts replies.

Is the recovery email the right thing to fix?

The recovery email is worth building, but it is the smaller lever. Showing full costs before the final step, allowing guest checkout and stating a delivery date remove more abandonments than any email recovers.

What should I do with checkout errors?

Treat checkout errors as bug reports, not marketing statistics. An abandonment caused by a failed payment step is a defect. Counting it in a recovery funnel is how the defect stays unfixed.

Get started today

Your first workflow is free to build.

Describe what you need. Cody handles the build, the connections, and the deployment.