PHPackages                             mailcampaigns/shopware-6-abandoned-cart-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. mailcampaigns/shopware-6-abandoned-cart-plugin

ActiveShopware-platform-plugin[Mail &amp; Notifications](/categories/mail)

mailcampaigns/shopware-6-abandoned-cart-plugin
==============================================

A Shopware 6 plugin for "abandoned" carts.

3.0.10(3w ago)47.3k↓33.3%3[1 issues](https://github.com/mailcampaigns/shopware-6-abandoned-cart-plugin/issues)MITPHPPHP ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0

Since Sep 6Pushed 3w ago3 watchersCompare

[ Source](https://github.com/mailcampaigns/shopware-6-abandoned-cart-plugin)[ Packagist](https://packagist.org/packages/mailcampaigns/shopware-6-abandoned-cart-plugin)[ RSS](/packages/mailcampaigns-shopware-6-abandoned-cart-plugin/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (2)Versions (30)Used By (0)

🛒 Abandoned Cart Plugin for Shopware 6 | [MailCampaigns](https://www.mailcampaigns.nl)
======================================================================================

[](#-abandoned-cart-plugin-for-shopware-6--mailcampaigns)

[![Shopware 6](https://camo.githubusercontent.com/44eb7ceff0f44fd46dd47d292a0b2d64167ef46e7c916448fa165d60a4da677d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53686f70776172652d362e782d626c75653f6c6f676f3d73686f7077617265)](https://camo.githubusercontent.com/44eb7ceff0f44fd46dd47d292a0b2d64167ef46e7c916448fa165d60a4da677d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53686f70776172652d362e782d626c75653f6c6f676f3d73686f7077617265)[![Plugin Version](https://camo.githubusercontent.com/360003b50a661f55ea90c69b3bb9ac3e9362dd56b4a557377e9a8dfc31b35d54/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d61696c63616d706169676e732f73686f70776172652d362d6162616e646f6e65642d636172742d706c7567696e)](https://camo.githubusercontent.com/360003b50a661f55ea90c69b3bb9ac3e9362dd56b4a557377e9a8dfc31b35d54/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6d61696c63616d706169676e732f73686f70776172652d362d6162616e646f6e65642d636172742d706c7567696e)[![License](https://camo.githubusercontent.com/10306f4133c9b0a62bceff73c35e7a07d6236ca2f6d16ec2a265c62eb7af018b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d61696c63616d706169676e732f73686f70776172652d362d6162616e646f6e65642d636172742d706c7567696e)](https://camo.githubusercontent.com/10306f4133c9b0a62bceff73c35e7a07d6236ca2f6d16ec2a265c62eb7af018b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d61696c63616d706169676e732f73686f70776172652d362d6162616e646f6e65642d636172742d706c7567696e)

This [Shopware 6](https://www.shopware.com/en/products/shopware-6/) plugin adds an `/abandoned-cart` API endpoint that allows you to retrieve shopping carts that your customers have left behind.

> **ℹ️ Note:** By default, Shopware stores shopping carts in the SQL database. For high-throughput scenarios, Shopware supports storing carts in Redis instead of SQL. If your Shopware installation is configured to use Redis for cart storage, this plugin may not be compatible, as it expects carts to be stored in the database. Learn more: [Shopware Cart Storage](https://developer.shopware.com/docs/guides/hosting/performance/cart-storage.html)

After a configured number of **seconds**, a cart can be considered abandoned.
It only returns carts of **active known customers** that have **not been converted to an order** yet.

Use this data to send automated cart recovery reminders to increase your conversions.

---

🎯 Features
----------

[](#-features)

- 🔗 Adds `/abandoned-cart` API endpoint
- 👤 Only returns known, non-order customers
- ⏱️ Configurable timeout in seconds (default: 3600)
- 🛠️ Compatible with scheduled tasks &amp; message queue
- ✅ Supports Shopware 6.4 → 6.7

---

🛍️ Supported Shopware Versions
------------------------------

[](#️-supported-shopware-versions)

Shopware VersionPlugin VersionDownload6.41.7.1[🔗 View Release](https://github.com/mailcampaigns/shopware-6-abandoned-cart-plugin/releases/tag/1.7.1)6.5, 6.6, 6.73.0.10[🔗 View Release](https://github.com/mailcampaigns/shopware-6-abandoned-cart-plugin/releases/tag/3.0.10)---

🚀 Getting Started
-----------------

[](#-getting-started)

You can either upload the `.zip` manually or install via Composer.

### 🔌 Composer Installation

[](#-composer-installation)

```
composer require mailcampaigns/shopware-6-abandoned-cart-plugin
bin/console plugin:refresh
```

### 🔄 Activate Plugin

[](#-activate-plugin)

**Option 1 (Admin panel):**
Go to `Extensions > My extensions` and activate the plugin.

**Option 2 (CLI):**

```
bin/console plugin:install --activate MailCampaignsAbandonedCart
bin/console cache:clear
```

🔧 Configuration
---------------

[](#-configuration)

After activating, configure the cart timeout setting:

> "Number of seconds after which a cart is considered abandoned" (default: `3600`)

Make sure this timeout is **less than** than Shopware's own cart expiration setting:

> `Time in minutes for a customer to finalize a transaction`

Make sure to give the API user the necessary permissions to access the `/abandoned-cart` endpoint.

- `abandoned_cart:read` permission to **read** abandoned carts

> 🧠 Abandoned carts are generated using [scheduled tasks](https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/add-scheduled-task#executing-the-scheduled-task) and depend on the [message queue](https://developer.shopware.com/docs/guides/hosting/infrastructure/message-queue).

---

⚙️ Example API Request
----------------------

[](#️-example-api-request)

### 🔍 Retrieve Abandoned Carts

[](#-retrieve-abandoned-carts)

```
GET /api/abandoned-cart
```

Optional query parameters:

- `limit` (default: 10)
- `page` (default: 1)

```
GET /api/abandoned-cart?limit=5&page=1
```

Example response:
-----------------

[](#example-response)

```
{
    "data": [
        {
            "id": "0195cd19f28e7327a24222075a312f39",
            "type": "abandoned_cart",
            "attributes": {
                "cartToken": "aeyBUILGpDFdJQS77WMkQVn6wXgOHgC6",
                "price": 40.0,
                "lineItems": [
                    {
                        "id": "3ac014f329884b57a2cce5a29f34779c",
                        "good": true,
                        "type": "product",
                        "label": "Main product, free shipping with highlighting",
                        "quantity": 2,
                        ...
                    }
                ],
                "customerId": "0195cd14000773d7b6697f79bae4283d",
                "createdAt": "2025-03-25T11:39:44.661+00:00",
                "updatedAt": "2025-03-25T15:28:34.982+00:00",
                ...
            },
            ...
        }
    ],
    ...
}

```

### 🔍 Retrieve a Specific Abandoned Cart

[](#-retrieve-a-specific-abandoned-cart)

You can retrieve details of a specific abandoned cart using its unique `{id}`.

#### Endpoint:

[](#endpoint)

```
GET /api/abandoned-cart/{id}
```

#### Method:

[](#method)

- **GET**: Retrieve details of a specific abandoned cart.

📡 Events
--------

[](#-events)

The plugin dispatches several events that you can listen to in your custom code:

### AfterCartMarkedAsAbandonedEvent

[](#aftercartmarkedasabandonedevent)

Dispatched when a cart is marked as abandoned. Contains:

- `AbandonedCartEntity`: Newly created abandoned cart entity
- `array`: Original Shopware cart data
- `Context`: Shopware context

### AfterAbandonedCartUpdatedEvent

[](#afterabandonedcartupdatedevent)

Dispatched when an abandoned cart is updated. Contains:

- `AbandonedCartEntity`: Updated abandoned cart entity
- `array`: Updated Shopware cart data
- `Context`: Shopware context

---

🤝 Contributing
--------------

[](#-contributing)

Pull requests, issues, and feedback are welcome.
For support, contact us at

---

🔗 More
------

[](#-more)

Check all releases:
👉

Check out this handy database seeder for seeding test customers and data in your development environment:
👉

Check out Dockware for easily setting up a local Shopware environment:
👉

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance90

Actively maintained with recent releases

Popularity28

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 64.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~100 days

Total

29

Last Release

24d ago

Major Versions

1.7.1 → 2.0.02023-12-20

2.0.0 → 3.0.02024-09-09

PHP version history (4 changes)2.0.0PHP ~8.1.0 || ~8.2.0

3.0.0PHP ~8.2.0 || ~8.3.0

3.0.1PHP ~8.1.0 || ~8.2.0 || ~8.3.0

3.0.10PHP ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/30551282?v=4)[Graftak](/maintainers/graftak)[@graftak](https://github.com/graftak)

---

Top Contributors

[![m-a-x-s-e-e-l-i-g](https://avatars.githubusercontent.com/u/7907436?v=4)](https://github.com/m-a-x-s-e-e-l-i-g "m-a-x-s-e-e-l-i-g (41 commits)")[![ruslanbelziuk](https://avatars.githubusercontent.com/u/1923175?v=4)](https://github.com/ruslanbelziuk "ruslanbelziuk (21 commits)")[![graftak](https://avatars.githubusercontent.com/u/30551282?v=4)](https://github.com/graftak "graftak (2 commits)")

---

Tags

shopwareshopware-pluginshopware6shopware6-plugin

### Embed Badge

![Health badge](/badges/mailcampaigns-shopware-6-abandoned-cart-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/mailcampaigns-shopware-6-abandoned-cart-plugin/health.svg)](https://phpackages.com/packages/mailcampaigns-shopware-6-abandoned-cart-plugin)
```

###  Alternatives

[shopware/storefront

Storefront for Shopware

684.6M237](/packages/shopware-storefront)[shopware/production

177209.0k](/packages/shopware-production)[frosh/tools

Provides some basic things for managing the Shopware Installation

87820.7k3](/packages/frosh-tools)[shopware/administration

Administration frontend for the Shopware Core

414.3M116](/packages/shopware-administration)[shopware/elasticsearch

Elasticsearch for Shopware

153.9M19](/packages/shopware-elasticsearch)[frosh/mail-platform-archive

Mail Archive

23237.9k](/packages/frosh-mail-platform-archive)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
