Skip to main content

How recovery sequences work

Written by Daisy Blaschke
Updated this week

When a shopper abandons their browse, cart, or checkout, Markopolo automatically starts a recovery sequence — a series of messages sent across one or more channels to bring them back. This article explains how sequences are triggered, how they send messages, and when they stop.

How a sequence starts

Markopolo detects abandonment in real time by analyzing the shopper's event stream. A sequence starts automatically when one of these conditions is met:

Campaign type

Trigger condition

Browse abandonment

Shopper viewed products but never interacted with the cart

Cart abandonment

Shopper added items to cart but never started checkout

Checkout abandonment

Shopper started checkout but didn't complete the purchase

These are mutually exclusive — a shopper can only be in one state at a time. Each campaign type runs independently with its own workflow, channel mix, and timing.

Important: Markopolo does not add any platform-level delay before the first message. The sequence starts as soon as abandonment is detected. If you want a waiting period before the first message — for example, giving the shopper 30 minutes to return on their own — you need to add a delay step as the first step in your workflow.

Channel order and message timing

There is no fixed channel order. You decide the sequence when you build your campaign workflow. Channels can be combined in any order:

  • Email

  • SMS

  • Push notification

  • Voice AI call

Between each message, you place a delay step to control how long Markopolo waits before sending the next one. Delays can be set in seconds, minutes, hours, or days — there is no platform-enforced minimum or maximum.

A typical workflow might look like:

Wait 30 min → Email → Wait 3 hours → SMS → Wait 1 day → Voice AI call → Exit

You have full control over this structure.

What happens if a channel can't reach the shopper

If Markopolo can't send a message on a particular channel because the shopper's contact information isn't available, that step is skipped and the sequence continues to the next step.

Channel

Required for delivery

Email

Email address

SMS

Phone number

Voice AI

Phone number

Push

Push notification token (requires app opt-in)

There is no automatic rerouting — if a shopper has no phone number, the SMS step is skipped, but Markopolo does not automatically promote the next channel forward. This means your workflow design matters: if you want the best coverage, include multiple channels and let the sequence work through them.

When a sequence stops

Markopolo checks before each step whether the shopper still needs to be contacted. The sequence stops automatically if any of the following is true:

Exit condition

What triggers it

Purchase completed

Shopper completed a purchase after the sequence started

Checkout started

Shopper returned and started checkout

Item added to cart

Shopper added an item to cart after sequence started

New subscription

Shopper started a new subscription

Explicit exit step

Your workflow contains an exit step at a specific point

The purchase check runs before every step — not just once at the start. So if a shopper converts after the first email but before the SMS, the SMS will not send.

Differences between campaign types

All three campaign types run through the same engine. The main difference is what data is available for personalizing messages:

Browse abandonment

Cart abandonment

Checkout abandonment

Product data available

No

Yes

Yes

Personalization (product name, price, image)

Not available

Available

Available

Separate campaign config

Yes

Yes

Yes

Because browse abandonment has no cart data, message content for this campaign type should focus on brand re-engagement rather than product-specific reminders.

What you control vs. what's fixed

Setting

Who controls it

Channel order

You (workflow design)

Delays between messages

You (delay steps)

Exit conditions

You (success criteria in campaign settings)

Number of messages

You (implicit — however many steps are in the workflow)

Initial trigger delay

You (add a delay as the first step)

Note: WhatsApp is not yet available as a recovery channel. It will be added in a future release.

Did this answer your question?