Ecommerce email: turning store events into messages worth receiving
Ecommerce email works when it is triggered by something the shopper did and arrives while that intent is still live. This page covers which store events are worth acting on, how abandonment and back-in-stock flows are built, and why attribution is harder than the dashboards suggest.
- Trigger
- Cart abandoned
- Wait
- 4 hours
- Check
- Still unpurchased
- Send
- Reminder
What makes ecommerce email different?
Ecommerce email differs from general marketing email because the store emits a continuous stream of events that indicate intent — a product viewed, a cart created, an order placed, a subscription lapsing. Each is a moment where a message can be genuinely useful rather than merely promotional.
This changes what good looks like. A general newsletter is judged on whether the content was interesting; a cart reminder is judged on whether it arrived at the right moment. Timing carries more weight than copy, and a well-timed plain message will outperform a beautifully written late one.
It also raises the cost of stale data. If your store and your email platform disagree about whether an order completed, you will email people who already bought — the single most common way ecommerce email destroys trust.
Which store events are worth acting on?
The events below are ordered roughly by the strength of intent they represent. Stronger intent justifies faster follow-up and more direct messaging; weaker intent needs a lighter touch, because acting aggressively on a browse event feels like surveillance rather than service.
The judgement to make for each is not whether you can send, but whether the recipient would find the message useful. A back-in-stock notification for something they explicitly asked about is welcome. A price-drop alert for something they glanced at once is not.
| Event | Intent | Typical response | Timing |
|---|---|---|---|
| Checkout started | Very high | Reminder with the cart contents | Within a few hours |
| Cart created | High | Reminder, then a second if still unpurchased | 4-24 hours |
| Back-in-stock request | High — explicitly asked | Notify as soon as available | Immediately |
| Order placed | Complete | Confirmation, then shipping and usage | Immediately, then staged |
| Product viewed | Low to moderate | Light follow-up, if any | 24+ hours |
| Subscription lapsing | Moderate | Renewal reminder before expiry | Ahead of the date |
How should an abandoned cart flow be built?
An abandoned cart flow triggers when a cart is created and no order follows within a delay. The two elements that determine whether it works are the delay and the exit condition — the message itself matters far less than either.
The delay exists to let the shopper finish on their own. Sending after fifteen minutes catches people who were still deciding, and the message reads as pressure. Several hours is usually better, and a second message a day later recovers a meaningful additional share.
The exit condition is what stops the flow when the purchase completes. Without it, a shopper who buys an hour after abandoning receives a reminder for something already ordered. This is the defect that most damages trust, and it is invisible in aggregate reporting because the flow reports a successful send.
One thing worth deciding deliberately: whether to include a discount. A cart reminder that always carries one teaches shoppers to abandon carts, and that behaviour persists long after you stop.
Why is ecommerce email attribution unreliable?
Attribution assigns revenue to the message that caused it, and every method for doing so involves a choice that changes the answer. Last-touch attribution credits the final click, so an email that merely finished a purchase the shopper had already decided on absorbs the full value.
Attribution windows compound this. A thirty-day window credits an email for a purchase made four weeks later, which is generous; a one-day window credits almost nothing, which is severe. Neither is wrong, but comparing figures produced under different windows is meaningless — and platform defaults differ.
The practical response is to treat attributed revenue as directional and to look at holdout comparisons where the decision matters. Sending to ninety-five percent of a segment and withholding five percent measures the actual incremental effect, which is the number the attribution figure was standing in for.
What about consent for commerce messages?
Transactional messages — order confirmations, shipping updates, receipts — rest on a different lawful basis from marketing, because they are necessary to perform the contract. Marketing messages need consent or, in some jurisdictions, a narrow legitimate-interest basis for existing customers.
The mistake with real consequences is blending them. Adding product recommendations to an order confirmation converts a transactional message into a marketing one, which means it now requires marketing consent and an unsubscribe mechanism — and it will be treated as marketing by filters regardless of what you call it.
Keep the two streams separate, and let recipients opt out of marketing without losing shipping notifications. Someone who unsubscribes from promotions still needs to know their order dispatched.
How Moosewave approaches commerce
Moosewave ingests store events and makes them available as flow triggers and segment criteria, so an abandoned cart or a back-in-stock signal is a first-class event rather than something reconstructed from an import.
Exit conditions are built into commerce flows rather than left as an option to remember. A cart reminder checks whether the order completed before it sends, because the alternative — emailing someone about something they already bought — is the failure that costs the most trust.
- Store events as flow triggers: cart created, checkout started, order placed, product viewed
- Back-in-stock and price-drop notifications driven by product state rather than manual sends
- Exit conditions that stop a reminder once the purchase it refers to has completed
- Transactional and marketing streams kept separate, with independent opt-out
Moosewave is in private early access. Join the waitlist for an invitation.
Common questions
How long should I wait before sending an abandoned cart email?
Commonly between four and twenty-four hours for the first message. Shorter delays catch people who were still deciding and read as pressure; much longer and the intent has cooled. A second message roughly a day after the first recovers a meaningful additional share, and a third rarely justifies the unsubscribes it costs.
Should abandoned cart emails include a discount?
Be cautious. A reminder that always carries a discount teaches shoppers that abandoning a cart produces one, and that behaviour persists after you stop. If you use discounts, make them occasional and conditional rather than automatic — or reserve them for the second message.
What is the difference between transactional and marketing email?
A transactional message is necessary to complete something the recipient initiated — an order confirmation, a password reset, a shipping update. A marketing message promotes. The difference is legal rather than stylistic: transactional messages do not require marketing consent, and adding promotional content to one reclassifies it as marketing.
Why does my email platform report more revenue than my store?
Almost always attribution overlap. If several channels each claim the same order under last-touch attribution within their own window, the totals add up to more than actually happened. Compare against store-side reporting, and use holdout groups when the number is driving a real decision.
Related
SMS is a different medium with different rules. How consent, sender registration, quiet hours, and message length change what you can send and when.
Open rates stopped meaning what they used to. Which email metrics still carry signal, how attribution works, and how to read a campaign report honestly.