Recover Lost Revenue From Abandoned Carts

AI sends personalized recovery emails with smart incentives based on cart value and customer history. Monitored mode handles volume while you review.


Why this matters

70% of online shopping carts are abandoned, representing massive lost revenue. Generic recovery emails with "You left something behind" messaging have declining open rates. Each abandoned cart needs a personalized recovery approach based on the customer's history, cart contents, and purchase intent signals.


How MultiMail solves this

MultiMail's AI agent detects cart abandonment events, waits an optimal delay period, then sends personalized recovery emails with incentives tailored to cart value and customer history. Monitored mode handles high-volume recovery autonomously while logging everything for marketing to review.

1

Detect Cart Abandonment

Your ecommerce platform triggers MultiMail when a cart is abandoned. The AI receives cart contents, customer history, and session context.

2

Wait Optimal Delay

The agent waits a configurable period (typically 1-3 hours) before sending the first recovery email, giving customers time to return on their own.

3

Personalize Recovery Email

The AI composes a recovery email featuring the abandoned items, personalized incentives (free shipping, percentage off), and urgency triggers based on inventory availability.

4

Monitor and Iterate

Monitored mode logs all recovery emails for marketing review. Track conversion rates by incentive type, delay timing, and customer segment to optimize the recovery strategy.


Implementation

Send Cart Recovery Email
python
import requests

API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}

def send_cart_recovery(customer: dict, cart: dict):
    "cm"># Determine incentive based on cart value
    if cart["total"] > 100:
        incentive = "Use code SAVE15 for 15% off"
    elif cart["total"] > 50:
        incentive = "Free shipping on your order"
    else:
        incentive = "Complete your order today"

    items = "\n".join([f"- {i[&"cm">#039;name']} (${i['price']})" for i in cart["items"]])

    body = (
        f"Hi {customer[&"cm">#039;name']},\n\n"
        f"You left these items in your cart:\n{items}\n\n"
        f"Total: ${cart[&"cm">#039;total']:.2f}\n\n"
        f"{incentive}\n\n"
        f"Complete your order: {cart[&"cm">#039;checkout_url']}"
    )

    return requests.post(
        f"{API}/send",
        headers=HEADERS,
        json={
            "from": "[email protected]",
            "to": customer["email"],
            "subject": f"You left something behind - complete your order",
            "text_body": body
        }
    ).json()

Trigger a personalized recovery email when a cart is abandoned, with incentive logic.

Multi-Step Recovery Sequence
python
import requests
from datetime import datetime, timedelta

API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}

def recovery_sequence(customer: dict, cart: dict, step: int):
    sequences = {
        1: {"delay_hours": 2, "subject": "Your cart is waiting",
            "incentive": None},
        2: {"delay_hours": 24, "subject": "Still thinking it over?",
            "incentive": "Free shipping"},
        3: {"delay_hours": 72, "subject": "Last chance: 10% off your cart",
            "incentive": "10% off with code COMEBACK10"}
    }

    seq = sequences[step]
    body = f"Hi {customer[&"cm">#039;name']}, your cart with ${cart['total']:.2f} in items is still available."
    if seq["incentive"]:
        body += f"\n\nSpecial offer: {seq[&"cm">#039;incentive']}"

    return requests.post(
        f"{API}/send",
        headers=HEADERS,
        json={
            "from": "[email protected]",
            "to": customer["email"],
            "subject": seq["subject"],
            "text_body": body
        }
    ).json()

Send escalating recovery emails with increasing incentives if earlier emails don't convert.

MCP Tool Integration
typescript
"cm">// Abandoned cart recovery via MCP

"cm">// 1. Send recovery email
await mcp.send_email({
  from: "[email protected]",
  to: customer.email,
  subject: "You left something behind - complete your order",
  text_body: `Hi ${customer.name}, your cart with ${cart.items.length} items (\$${cart.total}) is still available. Complete your order: ${cart.checkoutUrl}`
});

"cm">// 2. Track customer for follow-up
await mcp.add_contact({
  email: customer.email,
  name: customer.name,
  tags: ["cart-abandoned", `cart-value-${cart.total > 100 ? "high" : "low"}`]
});

"cm">// 3. Check if they replied with questions
const inbox = await mcp.check_inbox({
  mailbox_id: "shop-mailbox-id",
  status: "unread"
});

Use MultiMail MCP tools for cart recovery email workflows.


What you get

Recover 10-15% of Lost Revenue

Personalized cart recovery emails with smart incentives recapture revenue that would otherwise be lost entirely.

Intelligent Incentive Matching

AI tailors incentives to cart value and customer history — high-value carts get percentage discounts, lower carts get free shipping, repeat customers get loyalty recognition.

Scales Without Manual Work

Monitored mode handles thousands of cart recovery emails autonomously while marketing reviews performance metrics and adjusts strategy.

Multi-Step Sequences

Escalating recovery sequences with increasing incentives maximize conversion without immediately offering the deepest discount.


Recommended oversight mode

Recommended
monitored
Cart recovery emails are high-volume and time-sensitive. Monitored mode lets the AI send recovery emails autonomously while marketing reviews the logs to optimize incentive strategies, timing, and messaging.

Common questions

How long should I wait before sending the first recovery email?
Most successful recovery programs wait 1-3 hours for the first email. This gives customers time to return on their own while the purchase intent is still fresh. The second email typically goes at 24 hours, and a final attempt at 72 hours.
Should every abandoned cart get an incentive?
No. The first recovery email should be a simple reminder without a discount. Offering incentives too early trains customers to abandon carts for discounts. Save incentives for the second or third email in the sequence.
How do I comply with GDPR for cart recovery emails?
Cart recovery emails are typically considered legitimate interest under GDPR since they relate to an initiated transaction. However, you should provide an unsubscribe option and only email customers who have provided their address during the checkout process.
Why monitored mode instead of autonomous?
Monitored mode gives marketing visibility into what's being sent while allowing autonomous delivery speed. This lets them review messaging quality, incentive effectiveness, and customer feedback without creating a bottleneck on time-sensitive recovery emails.

Explore more use cases

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.