> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goeva.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Recover abandoned carts

> Build the sequence that writes on its own to whoever left a Shopify cart, see when each message goes out, what it costs and how much you recovered.

Someone filled a cart in your store and left without paying. Eva can write to them on its own, three times, and stop the moment they reply or buy. You build the sequence in **Automations**.

## What you will achieve

You will have a live automation that writes to every person who leaves a purchase unfinished, and a screen that tells you how many of those purchases were completed after the message.

## Requirements

* Your Shopify store connected to Eva. Without it, the cart start does not appear.
* A WhatsApp number ready to send. The **Recover purchases** recipe builds its three steps over WhatsApp: it asks for a number and three approved messages, and offers no email option.
* Messages already approved by Meta on that number, one per step.
* A payment method on your Meta account. Without one, Meta does not deliver template messages and the automation sits built but silent.

<Note>
  If Shopify is not connected yet, the create screen offers it right there: the **Things that happen in your store** card says "Connect Shopify to start with abandoned carts and fulfilled orders." and carries the **Connect Shopify** button.
</Note>

## Where it starts

In the side menu, open **Automations** and select **New automation**. The screen has two routes to the same result.

Under **When it starts** sits **Someone leaves a purchase unfinished**, which says when it fires: "When a cart goes 1 hour without being paid." That route lets you build the steps from scratch.

Under **With the steps ready** sits **Recover purchases**, which arrives with the three messages and their timings already set. That is the short route, and the one this page describes.

## Create the automation

<Steps>
  <Step title="Pick the recipe">
    In **New automation**, under **With the steps ready**, select **Recover purchases**. The card says what it will build before you create anything.
  </Step>

  <Step title="Name it and choose how it sends">
    Type the **Name** and choose the **Number it sends from**.
  </Step>

  <Step title="Choose the three messages">
    Under **Messages it will send** you get the three slots: **First message (after 2 hours)**, **Second message (next day)** and **Third message (after two days)**. Each one uses templates already approved on that number.
  </Step>

  <Step title="Create it">
    Select **Create automation**. Eva saves it and opens the steps for you to review.
  </Step>

  <Step title="Review it and turn it on">
    Adjust whatever you want, select **Save** and then **Activate**.
  </Step>

  <Step title="Decide who it starts with">
    On activation, Eva asks **Include people who already left their cart?** and offers three answers: **Last 30 days**, **Last 7 days** and **Only new ones**. With a day window, the people from that period enter today, and each cart keeps its original date. With **Only new ones**, only people who abandon a cart from now on enter.

    Confirm with **Activate**. **Not yet** closes the window without activating anything.
  </Step>
</Steps>

<Warning>
  When you pick a day window, the screen says "steps already past are skipped". That is not what
  happens. The sequence's timings start counting again from the moment you activate it: the first
  message goes out two hours after activation, the second the next day and the third two days
  later, no matter when the cart was abandoned.

  So someone who left their cart three weeks ago gets a reminder about that cart today. If you do
  not want to write to them about an old purchase, choose **Only new ones**.
</Warning>

## The three messages and when they go out

The recipe builds the sequence the screen itself describes: when someone leaves their cart, your agent writes after 2 hours, the next day and 2 days later.

All three steps are yours: change the text, move the timings, add a condition or remove a message. The recipe only saves you from building them.

Email comes in afterwards, in the editor: every message card lets you change how it sends, and that is where a step moves from WhatsApp to email. The recipe does not do it for you.

The sequence stops on its own. The moment the person completes their purchase, they leave the automation and never get the remaining messages. The same happens if they reply, or if they ask not to be messaged.

<Warning>
  A cart without a recovery link cannot be rescued: the message has nowhere to send the person. In the results those people appear under **No cart link**.
</Warning>

## What Meta charges you

A cart reminder is a marketing message, and marketing is Meta's most expensive category in almost every country. Every message in the sequence that WhatsApp delivers is charged that way.

That is three messages per person, so the spend grows fast with cart volume. An automation carries no spend limit of its own: what you see in its results is spend that already happened, not a brake. If it looks like too much, remove a step or stretch the wait between messages.

What does hold sending back, and comes set from the recipe:

* The person leaves the moment they reply or complete the purchase, and gets none of the remaining messages.

* One active automation per person: a second cart from the same person does not enroll them twice.

* The **Sending hours**, 09:00 to 20:00 in your workspace's time zone. A message that comes due outside those hours waits for the next opening.

* The recipient's quiet hours, and anyone who received another message very recently.

* If your account runs out of balance, sends wait instead of going out. In the results they show up as **No balance to send**, and they continue once you top up.

* [What sending a WhatsApp campaign costs](/en/automations/what-sending-campaigns-costs)

## How to know it worked

Open the automation from the list. At the top, the state says **Active** and how many people are inside.

**What it generated** holds the sales: **Store purchases** counts who bought after the message and how many orders that was. Next to that number sits the cart line, "Value of carts that ended in a purchase", comparing what was recovered against the total that entered.

**Who bought** opens the detail person by person, with their order, their products and the amount. And **Reach** shows the other half: how many it reached, how many saw it and how many replied.

## How to pause it

In **Automations**, open **More** on the automation's row and select **Pause**. The state changes to **Paused** and it stops writing to anyone, including people who were already halfway through.

To pick it back up, select **Resume** from the same menu. A message that went stale during the pause is skipped instead of arriving late.

## If something goes wrong

<AccordionGroup>
  <Accordion title="The cart start does not appear when I create">
    Your Shopify store is not connected to this workspace. The same screen carries **Connect Shopify**, or you can connect it from the agent.
  </Accordion>

  <Accordion title="The message slots show nothing to choose">
    Choose the **Number it sends from** first. Approved messages depend on that number, so until then the list is empty.
  </Accordion>

  <Accordion title="The automation is active but nobody receives anything">
    Check its row in **Automations**: when something is holding it back, the reason is written right there, for example that the template is no longer available or that the sending number disconnected.
  </Accordion>

  <Accordion title="Fewer people entered than I expected">
    A cart only counts when Eva knows who to write to. Carts with no contact details, carts with no products and duplicates from the same person stay out.
  </Accordion>
</AccordionGroup>

## Next steps

<Columns cols={2}>
  <Card title="How the automation editor works" href="/en/automations/automations" />

  <Card title="Connect your Shopify store" href="/en/channels/shopify" />
</Columns>
