> For the complete documentation index, see [llms.txt](https://docs.chord.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chord.co/analyze-with-dashboards/explores/building-cart-abandonment-audiences-with-the-product-abandoned-explore.md).

# Building cart abandonment audiences with the Product Abandoned explore

This guide explains how to use the Products Abandoned Explore to build targeted abandonment audiences.

## Explore overview

The **Products Abandoned** Explore tracks user sessions from the last 72 hours and provides:

* Session activity metrics (products viewed, added to cart, checkout started, orders completed)
* Ranked product lists (top 6 viewed and top 6 added products per user)
* User identification (email, anonymous ID, CDP User ID)
* Backend order validation via OMS data

## Audience segmentation

The Explore supports three types of abandonment audiences based on how far users progressed in the funnel:

| Audience Type            | Description                                          | Key Filters                                                              |
| ------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------------ |
| **Browse Abandonment**   | Users who viewed products                            | Session Product Viewed Count > 0                                         |
| **Cart Abandonment**     | Users who added to cart                              | Session Product Added Count > 0                                          |
| **Checkout Abandonment** | Users who started checkout but didn't complete order | Session Checkout Started Count > 0 AND Session Order Completed Count = 0 |

## Building an audience: filter configuration

### Cart abandonment filters

| Field                          | Operator             | Value       | Purpose                                       |
| ------------------------------ | -------------------- | ----------- | --------------------------------------------- |
| Session Product Added Count    | >                    | 0           | Added at least one product to cart            |
| Session Checkout Started Count | >                    | 0           | User Started checkout                         |
| Email or User ID               | is not null          | -           | Identifiable users only                       |
| Session End Time               | is before            | X hours ago | Session has ended (cooldown period)           |
| Last Order Completed Time      | is null OR is before | X days ago  | Exclude recent purchasers (backend OMS check) |

## Key fields reference

### Session activity fields

* **Session Product Viewed Count**: Total product views in the session
* **Session Product Added Count**: Products added to cart in the session
* **Session Cart Viewed Count**: Times cart was viewed in the session
* **Session Checkout Started Count**: Checkout initiations in the session
* **Session Order Completed Count**: Orders completed in the session (frontend events)

### Product fields

* **Viewed Product 1-6**: Top 6 most viewed products (ranked by view count)
* **Added Product 1-6**: Top 6 most added products (ranked by add-to-cart count)

### Time fields

* **Session Start Time**: When the session began
* **Session End Time**: When the session ended (30+ min of inactivity or 3 hours total duration)
* **Last Order Completed Time**: Most recent backend order completion timestamp

### Identification fields

* **Email**: User's email address
* **Anonymous ID**: Browser anonymous identifier
* **CDP User ID**: Unique user identifier from the CDP

## Best practices

1. **Always filter for identifiable users** - Include Email or User ID is not null to ensure you can reach the audience
2. **Use Session End Time for cooldown** - Filter Session End Time is before X hours ago to give users time to return on their own before targeting
3. **Check Last Order Completed Time** - This field checks backend OMS events to see when a user last completed any order. Use is null OR is before X days ago to:
   * Include users who have never purchased (is null)
   * Include users whose last purchase was long enough ago to re-engage (is before X days ago)
   * Exclude very recent purchasers who may have completed via a different session
4. **Differentiate Cart vs Checkout abandonment** - The key differentiator is Session Checkout Started Count:
   * \= 0 means they abandoned at the cart stage
   * \> 0 means they started checkout but abandoned
5. **Use product fields for personalization** - Include Viewed Product 1-6 or Added Product 1-6 in your export to personalize abandonment emails with the actual products
6. **Join with OMS Users** - For additional user context, join with the OMS Users Explore to access customer lifetime value, order history, and other profile data

## Example: cart abandonment flow

Cart Abandonment flow:

1. **Trigger**: User adds product to cart but doesn't complete checkout within 2 hours
2. **Audience Filters**:
   * Session Product Added Count > 0
   * Session Order Completed Count = 0
   * Email is not null
   * Session End Time is before 2 hours ago
   * Last Order Completed Time is null OR is before 30 days ago
3. **Personalization**: Include Added Product 1-3 for product recommendations in the email
4. **Exclusions**: Recent purchasers (via Last Order Completed Time filter)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chord.co/analyze-with-dashboards/explores/building-cart-abandonment-audiences-with-the-product-abandoned-explore.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
