# Abandoned cart and checkout

Source: https://kirora.io/docs/guides/journeys/recipes/abandoned-cart

Remind shoppers about a checkout, cart or product they left, using the Abandoned checkout, Abandoned cart and Browse abandonment templates.

An abandoned cart journey reminds a shopper about something they were about to buy, and stops its future steps once your store reports the purchase. Three templates cover the stages of a purchase: **Abandoned checkout**, **Abandoned cart** and **Browse abandonment**. Use one, or all three as a ladder.

## Who it's for

Online shops, booking sites and anyone whose customers choose something before they pay. For example, Atlas & Oak, a fictional furniture maker in Melbourne, reminds shoppers about the table they priced, then the cart they filled, then the checkout they started.

## What you need first

- Your website or app sends the shopping events on the contact who's shopping, and your purchase event when an order is paid. See [E-commerce events](https://kirora.io/docs/api/ecommerce-events).

  | Template | Events it reads |
  | --- | --- |
  | **Abandoned checkout** | *Checkout Started*, your purchase event |
  | **Abandoned cart** | *Product Added*, *Checkout Started*, your purchase event |
  | **Browse abandonment** | *Product Viewed*, *Product Added*, *Checkout Started*, your purchase event |

  Your own events can come from your app or site on any plan, or a connected payment provider can send the purchase. See [Connect an integration](https://kirora.io/docs/guides/integrations/connect-an-integration).
- The shopper is a contact with an email address and email consent. Reminders are marketing email, so they go only to people who agreed to it.
- A verified sending domain. See [Set up a sending domain](https://kirora.io/docs/guides/getting-started/set-up-a-sending-domain).

If your checkout or purchase event has its own name, set it in [Key events](https://kirora.io/docs/guides/goals/key-events) first: the templates then use yours. A template card names any event you haven't sent under **Not sent yet**.

## 1. Start from a template

Go to **Journeys**, choose **New journey**, then under **Start from a template** and **Shopping**, choose **Abandoned checkout**, **Abandoned cart** or **Browse abandonment**.

## 2. Check what the template creates

### Abandoned checkout

| Part | As the template sets it |
| --- | --- |
| Trigger | **An event happens**: *Checkout Started* |
| Re-entry | **Each time**, with 7 days before they can enter again |
| Step 1 | **Wait** 4 hours |
| Step 2 | **Send message**: *You left something behind*, listing the items from the checkout event's `products` (up to 10), each with its image, name, price and link |
| Step 3 | **Wait** 20 hours |
| Step 4 | **Send message**: *Still thinking it over?*, with the same items |
| Exit rules | Your purchase event: an order ends the journey at once, even during a wait |

### Abandoned cart

| Part | As the template sets it |
| --- | --- |
| Trigger | **An event happens**: *Product Added* |
| Re-entry | **Each time**, with 7 days before they can enter again |
| Step 1 | **Wait** 4 hours |
| Step 2 | **Send message**: *Still in your cart*, showing the product from the event's `name`, `price`, `image_url` and `url` |
| Exit rules | *Checkout Started* or your purchase event |

### Browse abandonment

| Part | As the template sets it |
| --- | --- |
| Trigger | **An event happens**: *Product Viewed* |
| Re-entry | **Each time**, with 30 days before they can enter again, so a regular browser isn't followed around |
| Step 1 | **Wait** 1 hour |
| Step 2 | **Send message**: *Still thinking about it?*, showing the product from the event's `name`, `price`, `image_url` and `url` |
| Exit rules | *Product Added*, *Checkout Started* or your purchase event |

### Run them together

The exit rules make the three work as a ladder. A browser who adds to the cart leaves **Browse abandonment** and enters **Abandoned cart**; once they start checkout they leave that and enter **Abandoned checkout**; their order ends that too. Each person gets the reminder for the furthest step they reached.

## 3. Change it for your business

- **Timing.** Four hours suits most shops. For a considered purchase, such as furniture or travel, try a day; for food delivery, an hour.
- **Copy and links.** Add your sender, rewrite the copy and give each button a link, such as your cart page. See [Design an email](https://kirora.io/docs/guides/email-designer/design-an-email). Product details come from the event, so send `name`, `price`, `image_url` and `url` with it. See [Merge tags and personalisation](https://kirora.io/docs/guides/email-designer/merge-tags-and-personalisation).
- **An offer, if any.** Keep the first reminder a plain reminder. If you add a discount, put it in the second checkout email, so people don't learn to abandon carts to get one.
- **Push.** If your app has push notifications, change a reminder's **Channel** to **Push**. To reach people without the app too, add an email step and choose it under **If they can't receive this, go to**.
- **Entry conditions.** To remind only about larger orders, give **Abandoned checkout** an entry condition such as `total` **is more than** 50.

## 4. Measure it

- **Clicks** on each reminder, on the **Performance** tab under **Email outcomes by step**.
- **Recovered orders and revenue**: add a conversion goal on your purchase event, with **Counts within** set to 3 days, a **Revenue property** such as `total` and a **Currency** such as `USD`. Available on Starter and above. See [Conversion goals](https://kirora.io/docs/guides/journeys/journey-results#conversion-goals).
- **Lift**: some shoppers come back without a reminder. Add a **Random split** after the first wait with one empty path as a holdout, then compare conversion rates. See [Random split and holdout](https://kirora.io/docs/guides/journeys/journey-results#random-split-and-holdout).

Many runs end early, through the exit rules, when people buy before the reminder. That's the journey working: **Exited early** isn't a failure count.

## Common pitfalls

- **Events on anonymous visitors.** A reminder needs a contact with an email address. Make sure your site identifies shoppers, for example at sign-in or when they enter an email at checkout, before it sends the shopping events.
- **No purchase event, no exit.** Without your purchase event, people who bought still get the reminder. Check it arrives before you turn the journey on.
- **The wrong product.** **Abandoned cart** shows the product from the event that started the run. Someone who adds more within the next 7 days doesn't start a new run.
- **Marked as transactional.** Don't tick **Transactional email** on a reminder. It's marketing, and it must respect consent and unsubscribes.
- **Old events.** [Past events start nothing](https://kirora.io/docs/guides/journeys/how-journeys-work#triggers-how-contacts-enter), so importing past carts sends no reminders.

## Next steps

- [Journey recipes](https://kirora.io/docs/guides/journeys/recipes/overview) — every template and what it needs
- [E-commerce events](https://kirora.io/docs/api/ecommerce-events) — the event names and properties these templates read
- [Win-back](https://kirora.io/docs/guides/journeys/recipes/win-back) — invite customers back after they've stopped buying