PHPackages                             etechflow/module-abandoned-cart - 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. etechflow/module-abandoned-cart

ActiveMagento2-module[Mail &amp; Notifications](/categories/mail)

etechflow/module-abandoned-cart
===============================

Abandoned Cart Email + Exit-Intent Popup extension for Magento 2 — recovers lost sales via automated email reminders and on-site discount popups. Fully compatible with Luma, Hyva, and Adobe Commerce.

1.0.1(2w ago)001proprietaryPHPPHP ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Since Jun 4Pushed 2d agoCompare

[ Source](https://github.com/etechflow/magento-abandoned-cart-email)[ Packagist](https://packagist.org/packages/etechflow/module-abandoned-cart)[ RSS](/packages/etechflow-module-abandoned-cart/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (12)Versions (3)Used By (0)

ETechFlow Abandoned Cart Email for Magento 2
============================================

[](#etechflow-abandoned-cart-email-for-magento-2)

Recover lost sales with automated, personalised abandoned-cart email reminders. Fully compatible with Luma, Hyvä, and Adobe Commerce.

---

Features
--------

[](#features)

- **Configurable email sequences** — send up to 9 reminders per cart at custom intervals (e.g., 1 hour, 24 hours, 72 hours)
- **One-click cart restore** — customers click the link in the email and their cart is back exactly as they left it, optionally with auto-login
- **Auto-generated discount coupons** — incentivise recovery with unique single-use coupon codes per email
- **Open &amp; click tracking** — measure exactly which emails are working and which carts they recovered
- **Rich targeting** — per-store, per-customer-group, by cart subtotal range, by item count, by Magento price-rule conditions
- **Guest cart support** — track and email visitors who reached checkout but never logged in
- **Test mode** — preview emails by redirecting to a dev inbox before going live
- **Unsubscribe link** — built into every email, with confirmation page
- **Recovery dashboard** — total abandoned, total recovered, recovery rate, revenue recovered, by date range
- **Per-rule analytics** — at-a-glance recovery rate per rule in the rules grid

---

Compatibility
-------------

[](#compatibility)

Open Source 2.4.6Open Source 2.4.7Adobe Commerce 2.4.6Adobe Commerce 2.4.7Luma theme✅✅✅✅Hyvä theme 1.3+✅✅✅✅PHP8.1 / 8.28.2 / 8.38.1 / 8.28.2 / 8.3---

Installation
------------

[](#installation)

### Via Composer (recommended)

[](#via-composer-recommended)

```
composer require etechflow/module-abandoned-cart
bin/magento module:enable Etechflow_AbandonedCart
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

### Manual (upload zip)

[](#manual-upload-zip)

1. Upload the `ETechFlow/AbandonedCart` folder to `app/code/ETechFlow/AbandonedCart/` on your server
2. SSH in and run:

```
cd /path/to/magento
bin/magento module:enable Etechflow_AbandonedCart
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

### Verify the install

[](#verify-the-install)

```
bin/magento module:status Etechflow_AbandonedCart
# Expected: Module is enabled
bin/magento etechflow:abc:verify
# Expected: ALL CHECKS PASSED
```

### Cron must be running

[](#cron-must-be-running)

The module's emails are sent by Magento cron. If you haven't already set up Linux cron:

```
bin/magento cron:install
crontab -l   # verify it was added
```

---

Configuration
-------------

[](#configuration)

Go to **Stores → Configuration → ETechFlow → Abandoned Cart Email**.

Key settings to review on first install:

- **General → Enable Module**: Yes
- **General → Cart Abandonment Threshold**: 30 minutes (default — adjust to your store's checkout flow)
- **License → License Key**: Paste the key from your purchase email (development hosts skip this)
- **Email Sending → Sender Identity**: Pick which "Store Email Address" sends the recovery emails
- **Cart Restore → Restore Token Expiry**: 30 days default

Then create your first rule under **Marketing → ETechFlow Abandoned Cart → Email Rules → Add New Rule**.

A typical sequence:

1. Rule 1: send 1 hour after abandonment, friendly reminder, no coupon
2. Rule 2: send 24 hours later, includes 5% coupon
3. Rule 3: send 72 hours later, "last chance" with 10% coupon

---

CLI commands
------------

[](#cli-commands)

CommandPurpose`bin/magento etechflow:abc:verify`End-to-end smoke test. Run after install and after upgrade.`bin/magento etechflow:abc:perf`Micro-benchmark of hot paths. Add `--iterations=N` and `--json=path`.`bin/magento etechflow:abc:send`Force a cron tick now (don't wait for the schedule).`bin/magento etechflow:abc:cleanup`Force the cleanup cron now.---

Performance
-----------

[](#performance)

This module is built for high-traffic stores. Performance characteristics on warm cache:

Hot pathp95 targetFrontend cart-save observer&lt; 0.5 msPer-cron-tick batch (50 carts)&lt; 1.5 s1-click restore controller&lt; 50 msTracking pixel&lt; 20 msStorefront pages take ZERO additional work from this module — all heavy lifting happens in cron.

---

Hyvä theme
----------

[](#hyvä-theme)

Hyvä compatibility ships in the same package. The module detects the active theme automatically and:

- Sends Hyvä-styled email templates (Tailwind classes) on Hyvä storefronts
- Sends Luma-styled templates on Luma storefronts
- Restore + Unsubscribe pages render with both Block (Luma) and ViewModel (Hyvä) paths — no Knockout on Hyvä

---

Adobe Commerce
--------------

[](#adobe-commerce)

The module works fully on Adobe Commerce 2.4.6 / 2.4.7 and adds:

- Future v1.1.0: B2B company-account abandoned-cart support
- Future v1.1.0: Customer Segments integration
- Future v1.1.0: GraphQL endpoints for headless

v1.0.0 already handles multi-website / multi-store and AC's customer-group targeting.

---

Uninstall
---------

[](#uninstall)

```
bin/magento module:disable Etechflow_AbandonedCart
composer remove etechflow/module-abandoned-cart
bin/magento setup:upgrade
```

Database tables (`etechflow_abandoned_cart`, `etechflow_abandoned_cart_rule`, `etechflow_abandoned_cart_email_log`) are dropped by the schema patch on uninstall.

---

Support
-------

[](#support)

- Email:
- Website:
- Bug reports: include the output of `bin/magento etechflow:abc:verify`

---

License
-------

[](#license)

Proprietary. See `LICENSE.txt` for terms. A per-installation license is required for production use.

###  Health Score

42

—

FairBetter than 89% of packages

Maintenance99

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

14d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/72d596daffc1cbadfe809b006d2fc518e5ca32cdccca9485410d282898d07ba1?d=identicon)[etechflow0](/maintainers/etechflow0)

---

Top Contributors

[![ayeshanisar786](https://avatars.githubusercontent.com/u/106437953?v=4)](https://github.com/ayeshanisar786 "ayeshanisar786 (2 commits)")

---

Tags

magentoemail marketingabandoned cartpopupmagento2adobe commercehyva-compatibleexit intentcart-recovery

### Embed Badge

![Health badge](/badges/etechflow-module-abandoned-cart/health.svg)

```
[![Health](https://phpackages.com/badges/etechflow-module-abandoned-cart/health.svg)](https://phpackages.com/packages/etechflow-module-abandoned-cart)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1131.8M12](/packages/mollie-magento2)[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50390.4k20](/packages/dotdigital-dotdigital-magento2-extension)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[buckaroo/magento2

Buckaroo Magento 2 extension

32414.8k7](/packages/buckaroo-magento2)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1010.0k22](/packages/loki-magento2-components)[opengento/module-category-import-export

This module add the capability to import and export the categories from the back-office.

1310.2k1](/packages/opengento-module-category-import-export)

PHPackages © 2026

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