How it worksPricingLog InSign Up Free
September 11, 202633 min read

Abandoned Cart Emails: The Ultimate Guide

Build a recovery flow that reaches the right shoppers, answers the reason they left, and earns more than it costs. With real examples, complete templates, and a practical troubleshooting guide.

On this page
Share

An abandoned cart email is an automated message sent to an identifiable shopper who leaves items behind without buying. Its job is to help them complete a purchase, not simply remind them that your store exists.

That sounds straightforward until the shopper has already bought on another device, the recovery button opens an empty cart, or a 10% discount removes a quarter of your contribution. A good-looking email can still be an expensive, badly timed interruption.

This guide covers the whole recovery process: choosing the right shopping event, diagnosing why people leave, writing the messages, configuring the flow, and checking whether the resulting orders were worth the cost. The practical starting point is checkout recovery. Earlier cart activity needs additional identity and tracking checks.

Start here

Send a useful reminder, then address a real hesitation. A reasonable initial test is 2 hours and 24 hours after a qualifying checkout, with an optional final message around 72 hours. These are proposed test settings, not universal best times. Recheck purchase status and sending eligibility before every message. Start without a discount.

Build the sequence Copy the templates Fix a failing flow

1. Abandoned cart, checkout, and browse emails are different

The terms are often used interchangeably, but the event behind them determines who enters the flow and what the email can contain. A person viewing a product has not necessarily added it to a cart. A person adding it has not necessarily provided an email address.

Choose the event before choosing the copy

Shopping stage

What happened

What the message needs

Browse abandonment

A known visitor viewed a product but did not progress.

The relevant viewed product and a reason to revisit. Do not claim there is a cart.

Cart abandonment

Items were added, but the shopper did not buy.

A reliably identified shopper, cart contents, and a usable route back.

Checkout abandonment

The shopper started checkout but did not complete it.

A usable email address, sending eligibility, checkout details, and the correct recovery link.

OnVoard distinguishes cart and checkout abandonment in its documentation; its cart flow requires an identified visitor. An event name alone is not proof that your integration captured everything the email needs. Inspect a real test event before building around it. [1]

Product viewed leads to a browse flow. Added to cart leads to a cart flow. This guide starts from an identified checkout, with an eligible email recipient and usable recovery link.

Follow the shopper's actual progress. This guide starts with an identified checkout. Earlier-stage flows require their own identity, content, and suppression rules.

Not every abandoned cart is reachable by email

Separate 3 questions: did the activity happen, do you know whose activity it was, and are you allowed to send this message? A tracking event answers only the first. A stored address does not automatically answer the third.

Consider an illustrative store with 1,000 abandoned carts. It identifies 400 shoppers, has 250 eligible recipients, and successfully delivers to 240. The immediate email audience is 240, not 1,000. Better copy cannot reach the other 760. Some need a better permission-based signup opportunity; others need a better checkout or should not be contacted.

Record those stages separately. Otherwise, a low recovery count can look like weak writing when the real constraint is address capture, consent, or deliverability. Keep consent records and suppression status attached to the shopper, not buried in a campaign spreadsheet.

Test identification with a fresh guest session as well as a recognized customer. Your own browser may already contain login state and tracking cookies that make an integration appear more capable than it is. Do not infer anonymous visitor coverage from a successful test using your regular account.

2. Diagnose the abandonment before prescribing an email

Baymard's aggregation reports an average cart abandonment rate of 70.22% across 50 studies. That is context, not a forecast of recoverable revenue. Its US research also identifies shoppers who were merely browsing, alongside obstacles such as extra costs, delivery speed, trust, and checkout friction. Those are different problems. [2]

A shopper distracted by a phone call may need a link. A shopper facing an unaffordable shipping charge already remembers the product. Sending both people the same coupon assumes a diagnosis you have not made.

A practical diagnosis worksheet, not measured performance claims

Possible obstacle

Evidence to inspect

Useful response

Unexpected total

Drop-off after shipping or tax appears; customer replies about price.

Show costs earlier. Explain existing shipping eligibility accurately.

Delivery uncertainty

Questions about arrival dates, destination restrictions, or gifts.

State realistic delivery information for that destination, not a generic promise.

Fit or compatibility

Repeated size-guide visits, product questions, or return concerns.

Link to a useful guide or invite a specific question.

Trust or return concerns

Support conversations and relevant customer feedback.

Explain the applicable policy and show product-relevant evidence.

Payment or checkout failure

Error logs, failed payment events, and device-specific drop-off.

Repair the purchase path. A coupon is not a technical fix.

Not ready to buy

Research behavior and direct feedback, without pretending either proves intent.

Offer useful information, then stop the recovery sequence.

Start with recent abandoned checkouts, support conversations, and your own mobile checkout test. Group observations rather than assigning motives to individual people from one click. “Viewed delivery information” is evidence of an action, not proof that delivery caused abandonment.

Calculate cart and checkout abandonment separately

For a defined cohort and observation window, use completed purchases linked to that cohort:

Cart abandonment rate = (1 − carts that became orders ÷ carts created) × 100

Checkout abandonment rate = (1 − checkouts that became orders ÷ checkouts started) × 100

Suppose 1,000 distinct carts produce 400 checkouts and 250 completed orders. Cart abandonment is 75%; checkout abandonment is 37.5%. Calling both “75% checkout abandonment” sends the team toward the wrong stage of the funnel.

Deduplicate repeated events and allow the cohort enough time to finish purchasing. Do not divide this month's orders by this month's add-to-cart events and assume they represent the same shoppers. In GA4, also inspect the Purchase journey report's user-based funnel and its sequence settings; raw event counts are a different denominator. [3]

If the biggest loss happens before anyone starts checkout, recovery emails may have a small reachable audience. Work on product clarity and permission-based email capture too. Our website welcome message examples cover that earlier interaction without turning the recovery email into a signup pitch.

3. Build a sequence with a job for every message

Start with 2 emails. The first makes it easy to resume; the second answers a likely objection. Add a third only when you have something useful left to say and evidence that the extra contact helps. Five templates in this guide do not mean you should send five emails.

Klaviyo's documentation suggests an initial delay of 2–4 hours and cautions that integration sync timing matters. Treat such guidance as a starting range, not a proven optimum for every store. [4]

Send the reminder at 2 hours from checkout, help at 24 hours, and an optional final message at 72 hours. Sequential waits are 2, 22, and 48 hours. Stop after purchase or opt-out.

An initial test plan. Send at 2, 24, and optionally 72 hours from the same qualifying checkout. These are cumulative times, not three successive delays of those lengths.

In a sequential builder, that schedule means waiting 2 hours, then another 22, then another 48. If your platform starts the clock only after an inactivity timeout, account for that too. Write the event and clock definition beside the schedule so nobody accidentally adds an extra day.

Change the timing when the purchase calls for it

A low-consideration purchase may need only a reminder and a clear checkout path. An expensive product may benefit more from a useful answer about dimensions, compatibility, installation, or returns than from another message the following morning.

For made-to-order goods, subscriptions, and products with purchase deadlines, align the copy with the actual decision. Mention a delivery cutoff only when it applies to that shopper and remains valid at send time. Avoid a generic midnight deadline that quietly resets tomorrow.

Where your tooling supports local-time delivery or contact limits, use them deliberately. Do not hold an expiring offer until after its deadline. Equally, do not override a permission or suppression rule because a cart looks valuable.

Check again after every wait

A person can buy, unsubscribe, or change their cart while waiting. Entry conditions cannot protect a later send by themselves. Before each message, confirm that the recipient is still eligible, the purchase has not happened, and the recovery destination remains usable.

After each waiting step, check that no order has been placed since entry, permission is still valid, and checkout is usable. Only send when all checks pass. Otherwise stop or skip the send.

The last check belongs immediately before sending. This is recommended flow behavior, not a claim that every platform implements every check automatically.

For a first implementation, use a conservative rule: suppress the old sequence when a known purchase occurs after entry. A more specific cart-level rule can come later, but it needs reliable cart-to-order matching. Otherwise, an unrelated order and a recovered order can be confused in either direction.

Choose which flow wins when several qualify. A sensible initial priority is completed purchase over recovery, checkout recovery over cart recovery, and cart recovery over browse reminders. Coordinate welcome offers as well. A person should not receive conflicting discounts from independent automations within minutes.

Finally, define re-entry. Repeated tracking events should not create parallel sequences for the same checkout. A genuinely new shopping session may qualify later, but resetting the same visitor's timer indefinitely is not a strategy. Test duplicate events, newer checkouts, and delayed purchase updates before trusting the flow.

4. Make the purchase easy to recognize and resume

The essential content is small: a recognizable sender, a clear reason for the email, the correct products, and a working next step. Everything else should earn its place by answering a question the shopper might reasonably have.

Show the exact item and variant. A thumbnail, product name, size or color, and quantity help someone recognize their selection. Use the event's appropriate product data rather than a hard-coded bestseller. A beautiful image of the wrong variant is worse than a plain but accurate product block.

Be careful with prices. An old event can contain an old price. Decide whether your integration displays captured prices or refreshes them. Do not promise a total that excludes shipping or taxes without saying so. If you cannot guarantee the total, direct the shopper to review it at checkout.

Give one primary action. “Return to checkout” is unambiguous. A secondary help link is reasonable; a full navigation menu, social icons, and unrelated recommendations can send the shopper away from the purchase you are trying to recover.

Explain the relevant reassurance. Use a real return policy, a useful sizing answer, or a relevant customer review. A warranty for shoes does not reassure someone buying a bag unless that warranty covers bags too. Keep claims aligned with product, destination, and eligibility.

Make the email usable without its images. Keep the message and button text as live text, use descriptive image alternatives, and test a narrow mobile screen, dark mode, and blocked images. Check the plain-text version too. Important offer conditions should not disappear into a tiny footer.

HTML is only the presentation layer. Shopify Liquid, Klaviyo event variables, and OnVoard resource fields are not interchangeable. Preserve your platform's working product block and recovery-link binding when adapting a design. A generic HTML template cannot recover a checkout until the correct data and URL are connected.

5. Three real abandoned cart emails, examined closely

These are archived emails inspected through Really Good Emails, not OnVoard customer campaigns. The observations concern the visible copy and layout. They do not establish conversion lift, current brand policies, or how the rest of each brand's sequence works.

Casper · A recognizable product and a direct action

A playful headline does not require a playful button

Archived Casper abandoned cart email capture showing COME BACK TO BED, a pillow product, and a RETURN TO CART button.

Casper email screenshot from the Really Good Emails archive, full capture. Source: Really Good Emails.

Casper's archived email leads with “COME BACK TO BED,” then shows a pillow and a direct return-to-cart button. The headline belongs to its product category; the action remains literal. A shopper can understand what to do without interpreting the joke. [5]

The practical lesson is to separate brand voice from navigation. Put personality in the headline, then make the product and action easy to recognize. A small store can borrow that structure without imitating Casper's wording or design.

There is also a tradeoff: the email includes another prominent button for reviews. That offers reassurance, but it creates a competing destination. For an adaptation, test a quieter review link or a short product-relevant excerpt beside the main action. The visible testimonial should support the item being recovered, not merely the brand in general.

Danner · Explain an existing benefit before buying the sale

The answer to hesitation may already be in your policy

Archived Danner abandoned cart email capture showing free shipping, a cart product, checkout actions, returns, payment options, and help.

Danner email screenshot from the Really Good Emails archive, full capture. Source: Really Good Emails.

Danner's archived message opens with “YOUR ORDER SHIPS FREE.” It includes a cart product, checkout actions, and reassurance about returns, payment options, and help. The email uses existing benefits to address uncertainty rather than leading with a percentage discount. [6]

That is useful when a shopper does not understand what their order already qualifies for. A targeted explanation of shipping can be more relevant than a generic claim that your products are wonderful.

Do not copy the promise without its conditions. The archive references a shipping threshold and a footwear warranty while displaying a daypack. That is a useful adaptation check: does each reassurance actually apply to the recovered product? An archived email is inspiration, not permission to reuse a brand's policies or evidence that stock has been reserved.

Whisky Loot · Answer the subscription questions

Some shoppers need the purchase explained, not repeated

Archived Whisky Loot abandoned cart email capture showing product-use objections, a three-bottle box, subscription questions, and a TREAT YOURSELF action.

Whisky Loot email screenshot from the Really Good Emails archive, full capture. Source: Really Good Emails.

The Whisky Loot email archived by Really Good Emails combines humorous product uses with a visible product box and a question-and-answer section. It addresses what arrives and how skipping a subscription delivery works. Those are practical commitment questions, not just product benefits. [7]

For a subscription business, this suggests a better second message: explain contents, billing cadence, and the actual pause or cancellation policy. For a high-ticket product, answer the equivalent questions about installation, compatibility, or delivery.

The limitation is density. A long, two-column section and a main action farther down the email can be demanding on a phone. Borrow the objection-handling idea, not necessarily the length. Select the question that matters most to your offer and give it a concise answer near the checkout link.

The common thread is specificity. The useful part is not that these brands sent another email. It is that the email gave the shopper a clearer reason or a simpler path to continue.

6. Five complete abandoned cart email templates

These are original OnVoard templates, not transcriptions of the brand examples. Use templates 1 and 2 as a starting sequence. Template 3 can replace the second message for a considered purchase. Choose template 4 or 5 only if you add a final follow-up.

Before sending: replace every double-bracket placeholder with verified copy or your platform's actual resource field. The product summary should show the correct items and variants. Every checkout button needs that recipient's recovery URL, not your homepage. Footer links must be connected to the sending platform's working unsubscribe and preference mechanisms.

Template 1: The straightforward reminder

Use this when the useful next step is simply returning to checkout. There is no discount, invented deadline, or claim that stock is being held.

Original template · First message

Subject: Your [[STORE_NAME]] checkout

Preview text: Review your items and pick up where you left off.


Hi there,

You left a few things at checkout. Here is what you selected:

[[PRODUCT_SUMMARY: image, name, variant, quantity]]

You can review your selection and complete your order using the link below. Prices and availability are confirmed at checkout.

Return to checkout
Link: [[RECOVERY_URL]]

Something getting in the way? Reply to this email and tell us what you need help with.

[[STORE_NAME]]

You received this shopping reminder from [[STORE_NAME]].
[[POSTAL_ADDRESS]]
Unsubscribe: [[UNSUBSCRIBE_URL]] · Preferences: [[PREFERENCES_URL]]

Adaptation: use a singular opening for a single-item cart, or replace the first sentence with “Your checkout is ready to review.” Remove the reply invitation if nobody monitors that inbox.

Template 2: Address one purchase hesitation

Choose a genuinely useful answer about delivery, returns, sizing, or compatibility. Do not bundle every store policy into this email.

Original template · Second message

Subject: A quick note about [[TOPIC]]

Preview text: [[ONE_SENTENCE_ANSWER_TO_THE_QUESTION]]


Hi there,

Still deciding on your [[PRODUCT_OR_CATEGORY]]? Here is a useful detail about [[TOPIC]]:

[[VERIFIED_POLICY_OR_PRODUCT_ANSWER, INCLUDING_RELEVANT_CONDITIONS]]

[[PRODUCT_SUMMARY]]

Your checkout is below whenever you are ready to review it.

Review my checkout
Link: [[RECOVERY_URL]]

Have a different question? Reply here, or visit [[RELEVANT_HELP_URL]].

[[STORE_NAME]]

Shopping reminder from [[STORE_NAME]].
[[POSTAL_ADDRESS]]
Unsubscribe: [[UNSUBSCRIBE_URL]] · Preferences: [[PREFERENCES_URL]]

Adaptation: replace the answer with something specific, such as an accurate sizing instruction. “Quality you can trust” is not an answer. For delivery estimates, account for the destination and current fulfillment conditions.

Template 3: Offer help with a considered purchase

Use this instead of another promotional message when choosing the wrong product would be costly. Only offer personal help that your team can provide.

Original template · Alternative second message

Subject: A question about [[PRODUCT_NAME]]?

Preview text: Let us help you check [[FIT_OR_COMPATIBILITY_ISSUE]].


Hi there,

Before you decide on [[PRODUCT_NAME]], it is worth checking [[IMPORTANT_PURCHASE_DETAIL]].

Reply with [[INFORMATION_NEEDED_TO_HELP]], and we will help you work out whether it is suitable. You can also find the details here: [[RELEVANT_GUIDE_URL]].

If you have already decided, your checkout is available below.

Review my selection
Link: [[RECOVERY_URL]]

[[REAL_STAFF_NAME_OR_SUPPORT_TEAM]]
[[STORE_NAME]]

Shopping reminder from [[STORE_NAME]].
[[POSTAL_ADDRESS]]
Unsubscribe: [[UNSUBSCRIBE_URL]] · Preferences: [[PREFERENCES_URL]]

Adaptation: make the requested information easy to supply. A model number or a measurement is useful. A long questionnaire can turn a small question into more work than the shopper intended.

Template 4: The final follow-up without a discount

This is a polite closing message, not a false last-chance offer. Send it only if this really is the final reminder for that checkout.

Original template · Optional final message

Subject: One last note about your checkout

Preview text: Your selection, plus a way to get help.


Hi there,

This is our last reminder about this checkout. If you are still interested, you can review the items below.

[[PRODUCT_SUMMARY]]

Return to checkout
Link: [[RECOVERY_URL]]

If something was unclear, reply and let us know. If the timing is not right, no action is needed.

Thanks for taking a look,
[[STORE_NAME]]

Shopping reminder from [[STORE_NAME]].
[[POSTAL_ADDRESS]]
Unsubscribe: [[UNSUBSCRIBE_URL]] · Preferences: [[PREFERENCES_URL]]

Template 5: A conditional offer that states the terms

Use this instead of template 4, not after it. Confirm the recipient and products qualify, the discount leaves acceptable contribution, and any expiration is real.

Original template · Optional offer variant

Subject: 10% off your eligible [[STORE_NAME]] order

Preview text: Your code and the offer details are inside.


Hi there,

If you are still considering your order, you can take 10% off eligible items with code [[UNIQUE_CODE]].

[[PRODUCT_SUMMARY]]

Offer details: [[MINIMUM_SPEND_AND_CURRENCY]]. [[EXCLUSIONS_AND_COMBINATION_RULES]]. Valid until [[EXACT_DATE_TIME_AND_TIME_ZONE]]. [[SHIPPING_AND_TAX_TREATMENT]].

Review checkout and apply my code
Link: [[RECOVERY_URL]]

Enter the code at checkout and check the total before paying. Need help applying it? Reply to this email.

[[STORE_NAME]]

Promotional shopping reminder from [[STORE_NAME]].
[[POSTAL_ADDRESS]]
Unsubscribe: [[UNSUBSCRIBE_URL]] · Preferences: [[PREFERENCES_URL]]

Adaptation: change the percentage everywhere if the offer differs. Remove the expiration sentence when there is no expiration. Do not say a discount applies automatically unless you have tested that exact link behavior. A shared code and a recipient-specific code require different abuse controls.

7. Pair the subject line with useful preview text

The subject earns attention; the preview should add information rather than repeat it. Use a recognizable sender name, keep the main idea early, and test the actual inbox preview. There is no character count that prevents truncation across every device and mail client.

Original subject and preview pairs to adapt

Subject

Preview text

Your [[STORE_NAME]] checkout

Review your items and continue your order.

Ready to pick up where you left off?

Your selection and a checkout link are inside.

Still considering [[PRODUCT_NAME]]?

Here is the detail that may help you decide.

A quick note about delivery

[[ACCURATE_DESTINATION_RELEVANT_DELIVERY_DETAIL]]

Need help choosing your size?

Use our guide or ask us before ordering.

Will [[PRODUCT_NAME]] fit?

Check [[SPECIFIC_COMPATIBILITY_REQUIREMENT]].

What comes in your first delivery?

[[ACCURATE_SUBSCRIPTION_CONTENTS_AND_CADENCE]]

Your order qualifies for free shipping

[[APPLICABLE_ELIGIBILITY_AND_EXCLUSIONS]]

A question before you decide?

Reply with what you need to know.

One last note about your checkout

Review your selection or ask us for help.

10% off eligible items in your checkout

Your code and the complete terms are inside.

Your offer ends [[REAL_DEADLINE]]

Check the eligible items and offer conditions.

Use the free-shipping and deadline pairs only when their conditions are verified. Avoid invented reply prefixes, order-confirmation wording for an unplaced order, and “reserved for you” when nothing has been reserved. For sensitive products, do not expose the item in an inbox subject or lock-screen preview.

Humor is optional. Clarity is not. A funny line that requires opening the email to understand why it arrived is not automatically better than the store name and a straightforward reminder.

8. Segment by decisions you can actually change

Segmentation is useful when it changes the message, offer, timing, or eligibility. Creating dozens of groups that receive identical emails adds maintenance without improving the shopper's experience.

First purchase versus returning customer. A first-time shopper may need reassurance about the store; a returning customer may need only the item and link. Verify purchase history before calling someone a first-time customer, and account for recent orders that have not synced yet.

Product or purchase type. Clothing needs fit information; equipment may need compatibility details; subscriptions need clear recurring commitments. Start with the few categories whose questions differ materially. Do not create a branch for every product merely because your builder permits it.

Offer eligibility and contribution. Separate full-price items from already-discounted or excluded products. A high-value cart is not necessarily a high-margin cart. A small accessory order can be more profitable to discount than a bulky product with expensive fulfillment.

Known service issues. Suppress or review promotional recovery when the shopper is already discussing a payment problem, damaged order, or unresolved complaint. Do not send a cheerful discount request into a conversation that needs support.

Use observable conditions rather than invented emotions. A customer clicking a size guide is a reason to make sizing help accessible, not proof that they are anxious. For a small store, begin with one reliable sequence and a small number of meaningful alternatives. Add branches when real questions recur.

9. Decide whether a discount can earn its cost back

A discount can increase orders and still leave you worse off. Evaluate contribution, not just conversion rate or the revenue credited to the email.

Take a hypothetical $100 order with $60 in variable costs, including the relevant product and fulfillment costs. At full price it contributes $40 toward overhead and profit. With 10% off, revenue falls to $90 and contribution falls to $30, assuming those costs stay constant.

Illustrative $100 order with $60 variable costs leaves $40 contribution. A 10 percent price discount leaves $90 revenue and $30 contribution, a 25 percent contribution reduction. Costs are held constant.

A worked example, not merchant results. A 10% price reduction removes 25% of contribution in this scenario. The effect depends on your actual costs and discount rules.

To match the original contribution, the discounted treatment needs 33.3% more orders: $40 ÷ $30 − 1. At a 3% order rate without the offer, that means reaching 4% with it, before additional campaign costs. This is the break-even arithmetic for these assumptions, not a predicted conversion lift.

Required relative order increase = contribution per full-price order ÷ contribution per discounted order − 1

Use real variable costs when making the decision: payment charges, shipping subsidies, fulfillment, gifts, and expected return costs can change the answer. A free-shipping offer is not free to you. If contribution becomes zero or negative, more orders do not solve the immediate economics.

Test an offer against the same sequence without an offer, using comparable eligible shoppers. Comparing today's discounted email with last month's plain reminder confounds the discount with changes in traffic, stock, pricing, and seasonality.

Also decide how the offer interacts with your existing promotions. A welcome coupon may already be sufficient. Sending a better recovery coupon immediately afterward can reward waiting rather than resolve hesitation. The sales promotion examples guide covers alternative offer structures; here, the question is whether this offer improves this recovery sequence.

10. Configure the flow without creating duplicate reminders

First choose which system owns checkout recovery. A store can have a native automation, an email platform, and an old recovery app installed simultaneously. Changing the email design in one place does not stop the others.

Shopify's native automation

Shopify's current documentation places the new automation under Apps → Messaging → Automations → View templates → Abandoned checkout. Its default audience is email-marketing subscribers. The documented switch from the legacy automation is permanent, so review the migration before activating it. [8]

Inspect the trigger, audience, wait, email, and exit conditions before turning it on. Do not assume an imported or additional automation uses the timing recommended in this article. An audience selector is a technical setting, not a legal determination that every address can receive marketing.

Keep the native recovery content working while changing the surrounding copy. Preview with actual test checkout data, not just an attractive sample product. The checkout button should restore the intended checkout on a device that is not already logged into your test account.

OnVoard's documented Shopify playbook

OnVoard's Shopify Checkout Abandonment Workflow documents up to 2 emails, using first- and second-email templates. That matches the core sequence here. The optional third message in this guide is an editorial recommendation to evaluate, not a claim about the built-in preset. [9]

Start from the documented checkout playbook, connect the appropriate email resources, and inspect the actual event-backed product and checkout fields. Preserve those bindings when replacing the copy. Authenticate the sender and test purchase suppression before using it with customers. These instructions are based on documentation, not a claimed hands-on test inside your store.

When replacing an existing recovery system, prepare and test the replacement first. Then coordinate the changeover so the old and new systems do not send to the same waiting customers. Check queued messages as well as the on/off switch; disabling entry is not necessarily the same as canceling everything already queued.

WooCommerce needs its own event assumptions

Do not copy Shopify field names or timers into a WooCommerce workflow. For example, AutomateWoo documents abandonment through an inactivity timeout and can remove queued work when a cart becomes active again. Check your chosen integration's identity capture, abandonment clock, and cart-rebuild behavior directly. [10]

The transferable part is the shopper-facing sequence. The event payload, recovery URL, delay semantics, and cancellation behavior need platform-specific verification.

11. Check permission and deliverability before volume

A shopper entering an address at checkout has not necessarily requested a series of promotional reminders. Do not label every event-triggered email “transactional” and assume marketing rules disappear.

In the US, the FTC distinguishes commercial messages from narrowly defined transactional or relationship messages by their primary purpose. Commercial email requirements include accurate sender and subject information, an appropriate advertising disclosure, a valid postal address, and a working opt-out; opt-outs must be honored within 10 business days. Implement suppression promptly rather than treating that limit as a target. [11]

For UK individual subscribers, ICO guidance generally requires consent or a qualifying soft opt-in. The latter has conditions, including collection during a sale or negotiations, marketing your own similar products, and an opt-out at collection and in each message. A typed address alone does not establish that all conditions were satisfied. [12]

Requirements differ across markets. Record the applicable permission basis and have the approach reviewed for the places you sell into. This is an implementation checklist, not a jurisdiction-specific legal opinion. Moving the same reminder to SMS or WhatsApp also requires checking that channel's permission and messaging rules separately.

Authentication is necessary, not an inbox guarantee

Google's sender guidance requires SPF or DKIM for all senders to personal Gmail accounts. Bulk senders face additional requirements, including SPF, DKIM, DMARC, and alignment. Relevant bulk marketing messages need one-click unsubscribe support as well as a visible unsubscribe link. A link in the footer alone does not implement the required unsubscribe headers. [13]

Use a recognizable sending identity, verify the reply address, and test every unsubscribe route. Monitor complaints, bounces, and suppression reasons as well as deliveries. Do not repeatedly retry hard-bounced addresses or bypass an unsubscribe because the shopper returned to the site.

When an email fails to reach people, rewriting its subject line is not the first fix. Review authentication and sending logs before creative tests. OnVoard's email analytics walkthrough follows that same order: delivery first, then engagement.

12. Measure the flow, not just the number beside “recovered”

Use a small set of metrics with explicit denominators. A percentage without a population, time window, and attribution definition is difficult to compare or improve.

A useful recovery scorecard

Metric

Definition to record

What it helps diagnose

Eligible audience

Distinct shoppers meeting identity, permission, and flow rules.

Whether there is a reachable recovery opportunity.

Delivery rate

Delivered messages ÷ attempted messages.

Address quality and sending problems. Delivery does not prove inbox placement.

Unique click rate

Distinct clicking recipients ÷ delivered recipients for that message.

Whether the email creates a useful next action.

Flow order rate

Eligible shoppers who order in a defined window ÷ eligible shoppers.

Purchasing among the enrolled population, not causation by itself.

Revenue per recipient

Defined attributed revenue ÷ the stated recipient denominator.

Commercial outcomes under your attribution model.

Incremental contribution

Contribution with the treatment minus a comparable counterfactual, adjusted for group size.

Whether the recovery approach earns more than it costs.

Do not count the same shopper three times when reporting a person-level flow outcome just because you sent three messages. Conversely, message-level delivery and click rates need message-level denominators. Label the difference explicitly.

Opens are a weak primary success measure. Apple's Mail Privacy Protection can download remote content in the background regardless of engagement. Security tools can also follow email links automatically; Klaviyo documents bot-click filtering for that reason. Use available filtering, purchase outcomes, and replies to interpret apparent engagement. [14] [15]

Benchmarks are context, not a promised result

A historical reference is Klaviyo's 2024 report, based on more than 143,000 abandoned-cart flows sent in 2023. It reports a 3.33% average placed-order rate and $3.65 revenue per recipient. Those are vendor-reported historical metrics, not 2026 targets or incremental-profit estimates. [16]

Before comparing your number, check the event, audience, attribution window, industry, currency, and whether recipients are counted per message or per flow. Your own stable baseline is more useful than a headline benchmark with a different definition.

A recovered order is not necessarily an additional order

Shopify explicitly notes that a checkout can be marked recovered after the customer returns independently following an email, not only after clicking its recovery link. That makes the reporting useful, but it does not establish that the email caused the purchase. [8]

For a stronger estimate, randomly assign eligible shoppers to a recovery treatment or a no-recovery holdout. Keep assignment stable for the shopper, use the same observation window, and prevent other recovery messages from leaking into the holdout. Essential order and service messages should continue normally.

Hypothetical randomized equal groups of 1000 eligible shoppers. The emailed group places 100 orders, compared with 70 without recovery emails. Estimated additional orders are 30, subject to sampling uncertainty.

Hypothetical equal-size randomized groups. The treatment has 30 more orders, not 100 proven email-created orders. An actual experiment also needs uncertainty and cost analysis.

In this example, 100 of 1,000 emailed shoppers buy, versus 70 of 1,000 without recovery emails. The estimated increase is 3 percentage points, or 30 additional orders in a treatment group of this size. For unequal groups, compare rates and scale the difference, not raw order totals.

More recovered orders can still produce very little extra profit

Now apply the earlier $100 order economics. Suppose every treatment order receives 10% off and variable costs remain $60 per order. The 100 treatment orders contribute $3,000; the 70 full-price control orders contribute $2,800. The estimated improvement is only $200 before messaging and other campaign costs.

The dashboard might show $9,000 in treatment revenue. The business question is the $200 difference. This experiment tests the combined email-and-offer approach; comparing otherwise identical flows with and without a discount would isolate the offer more directly.

Decide the main outcome and observation window before starting. Account for cancellations, refunds, and returns consistently. Random variation still matters, so do not declare a winner after a few orders or stop the first day a treatment looks favorable. Small stores should prioritize reliable delivery and obvious purchase friction while collecting enough observations for a useful comparison.

13. Troubleshoot from the event forward

When abandoned cart emails are not sending, inspect the path in order: shopping event, identity, eligibility, waiting step, final checks, sending attempt, delivery, and recovery destination. Skipped, failed, and undelivered are different states.

Pick a specific test checkout and follow its timestamps. Looking only at aggregate email analytics can hide a missing event or a shopper who correctly exited after purchasing. In Shopify's current automation, View recent activity and the individual run details are useful starting points. [8]

Find the first failing step before changing the copy

Symptom

Inspect first

Practical next step

No flow entry

Was the expected cart or checkout event captured and attached to an identity?

Repeat a fresh guest test. Compare the event name and payload with the trigger.

Checkout exists, but no email

Eligibility, audience filters, suppression, and the actual waiting clock.

Read the skip reason. Do not widen the audience until you understand why it was excluded.

A buyer receives a reminder

Purchase-event timestamps and checks immediately before the send.

Test sync latency, matching, and queued-message cancellation. Confirm the order belongs to the same identity.

Two reminders arrive together

Native automation, external apps, repeated entries, and retry behavior.

Assign one recovery owner and inspect whether one event created multiple active runs.

Products are missing or wrong

Preview event, variant fields, and the template's resource binding.

Use the correct event-backed product block. Test single-item, multi-item, and changed carts.

The button opens an empty cart

The actual recipient-specific URL, not just the visible button label.

Test on another device and a clean session. Verify the platform's recovery or rebuild mechanism.

A code is rejected

Eligibility, minimum spend, exclusions, combinations, and expiration.

Reproduce with the same cart and customer conditions, then fix the offer or suppress that variant.

Sent, but not delivered

Sending response, bounces, authentication, and suppression.

Resolve the delivery issue before testing a different headline.

Clicks look healthy; orders do not

Bot activity, destination behavior, mobile checkout, and payment errors.

Reproduce the purchase journey. Ask whether the email resolves the actual objection.

High attributed revenue; little profit

Discount cost, returns, attribution overlap, and the no-email baseline.

Compare contribution and incremental outcomes, not credited revenue alone.

Check records without leaking customer data. Shopify warns that anyone opening a recovery link can continue the checkout. Do not paste live customer recovery URLs into public tickets, screenshots, or analytics examples. Use controlled test checkouts when documenting a problem. [8]

A skip can be evidence that the system worked: the shopper bought before the delay ended or withdrew permission. Optimizing for “send every queued email” would remove protections that make the flow trustworthy.

14. Test the awkward cases before switching on

A successful preview proves that an email can render. It does not prove that the right shopper receives it at the right time or that the next message stops after purchase. Use test identities, controlled orders, and recorded expected outcomes.

  • Fresh guest and recognized customer. Confirm what gets captured, when identity becomes available, and who remains ineligible.

  • Purchase before each send. Complete checkout while waiting for the first email, then repeat between the first and second. Confirm no later reminder arrives.

  • Unsubscribe while waiting. Check that suppression takes effect before the next scheduled message, including already queued work.

  • Duplicate and changed activity. Repeat the event, start a newer checkout, change a variant, and remove an item. Check for parallel flows and stale content.

  • Unavailable product and invalid offer. Test sold-out items, excluded products, an expired code, and a cart below the minimum spend.

  • Real destination and rendering. Use another device; inspect the recovery link, mobile layout, blocked images, plain text, footer, and reply address.

  • One owner and readable reporting. Confirm no competing system sends the same reminders. Record event, send, skip, purchase, and attribution definitions.

After launch, review the first real runs for incorrect sends, missing resources, broken links, and complaints. Then improve one material decision at a time: the second message's answer, the timing, or the offer. Changing everything at once makes a better result difficult to explain and a worse result difficult to repair.

Common questions about abandoned cart emails

How many abandoned cart emails should I send?

Start with 2 distinct jobs: resume the purchase and answer a hesitation. A third can be useful, but it needs its own purpose and a cost-and-customer-experience check. The number of messages a platform permits is not a recommendation to use them all.

Should the first email contain a discount?

Not by default. Start with the original price, a usable checkout link, and relevant reassurance. Test an offer where eligibility and economics support it. A checkout problem, an unavailable delivery destination, or an unanswered compatibility question is not necessarily a price objection.

It depends on the applicable law, message, and permission basis. Neither an automation trigger nor a stored email address supplies a universal exemption. Use the permission checklist and get market-specific guidance before widening the audience.

Can an HTML template recover a cart by itself?

No. It also needs the correct event, an eligible recipient, platform-specific product fields, and a working recovery URL. The templates above provide copy and structure. They do not substitute for the integration or become Shopify-compatible simply by being saved as an HTML file.

What should I improve first when the store has little traffic?

Confirm capture, delivery, suppression, and checkout behavior first. Use actual customer questions to improve the message. A tiny subject-line test is unlikely to settle a close decision quickly. Do not manufacture certainty from a handful of opens or purchases.

Start with a recovery flow you can explain

You should be able to explain why a shopper entered, why each message was sent, what stopped the next one, and how the reported outcome was counted.

Start with the two-message sequence, adapt the copy to the actual purchase, and pass the awkward-case tests. Add discounts, extra messages, and more segments only when they solve an observed problem. The goal is not the largest recovered-revenue number. It is a useful reminder that earns a profitable purchase without wasting the shopper's attention.

Set up OnVoard's documented Shopify checkout workflow →

Sources and methodology

Sources checked September 11, 2026. Platform instructions are documentation-based, not a claimed live-store implementation test. The brand teardowns describe archived emails; no performance or current-policy claims are inferred. Templates, diagnostic worksheets, and numerical scenarios are original instructional material. Financial and experiment examples are hypothetical. Timing is a starting recommendation to test. Historical benchmarks retain their original data year.

  1. OnVoard: Difference between Checkout and Cart Abandonment

  2. Baymard Institute: Cart Abandonment Rate Statistics

  3. Google Analytics: Purchase journey report

  4. Klaviyo: How to create an abandoned cart flow

  5. Really Good Emails: Casper, Did you forget something?

  6. Really Good Emails: Danner, Thanks for exploring. We saved your cart.

  7. Really Good Emails: Whisky Loot, Your cart is sobering up

  8. Shopify Help Center: Opt in to the new abandoned checkout automation

  9. OnVoard: Shopify Checkout Abandonment Workflow

  10. WooCommerce: AutomateWoo abandoned carts

  11. FTC: CAN-SPAM Act, a Compliance Guide for Business

  12. ICO: Electronic mail marketing

  13. Google: Email sender guidelines

  14. Apple: Protect email privacy in Mail on Mac

  15. Klaviyo: Understanding bot clicks

  16. Klaviyo: The abandoned cart benchmarks report, 2024 data

Filed under Guides

Keep reading

Email marketingAnnouncementsSep 2, 2026

All-In-One is back: every OnVoard app from $24.90/mo

We're bringing All-In-One back. Every OnVoard app in 1 subscription from $24.90 a month, priced on 2 things: $19.90 per 5,000 active contacts and email at $1 per 1,000.

Read
Email marketingAnnouncementsAug 17, 2026

We upgraded analytics across OnVoard 📊

We rebuilt reporting across 6 apps around the same shape: did it reach people, did they act, and did it lead to a purchase? Revenue then sits beside the behavior it was tied to, rather than floating as a number on its own.

Read
Email marketingBehind the buildAug 15, 2026

Email marketing analytics: check delivery before opens 📬

Open rate is probably the first email marketing metric most people look at. I think that's backward. Before I care whether someone opened an email, I want to know whether the email reached them in the first place. A subject line can't rescue a message that never made it to an inbox.

Read

Set it up tonight. It sells tomorrow.

Connect your store and switch on the flows that big brands have been running for years.