Ultimate Cart Recovery - User Guide (EN)

Recover abandoned carts on Adobe Commerce / Magento Open Source with automated multichannel sequences (email, SMS, WhatsApp, webhook), dynamic coupons, win-back campaigns and a recovered-revenue dashboard.


1. Installation

composer require visicrea/module-ultimate-cart-recovery
bin/magento module:enable Visicrea_UltimateCartRecovery
bin/magento setup:upgrade
bin/magento setup:di:compile        # production mode only
bin/magento cache:flush

Via package (.zip)

Unzip into app/code/Visicrea/UltimateCartRecovery, then run the same module:enable → setup:upgrade → cache:flush sequence.

Verify:

bin/magento module:status Visicrea_UltimateCartRecovery

2. License activation

  1. Buy a license at the Visicrea portal - you receive a key like VCR-XXXX-XXXX-XXXX-XXXX.
  2. Activate it: bash bin/magento ucr:license:activate VCR-XXXX-XXXX-XXXX-XXXX or in Stores → Configuration → Ultimate Cart Recovery → License.
  3. The module checks the license once per 24 h. If the server is unreachable a 7-day grace period applies, then a growing banner for 30 days. Beyond that, sending is disabled (dashboard and data stay available). Dev/staging hosts (dev, staging, preprod, test, local, localhost, or developer mode) never consume the license.

Check license state any time:

bin/magento ucr:debug:license

3. Setup wizard

The first time you open Ultimate Cart Recovery in the admin, an 8-step wizard guides you:

  1. License - enter/validate your key.
  2. Store scope - which store views are active.
  3. Mailers - sender identity, Mailgun/SMTP settings.
  4. Channels - enable email and, optionally, SMS/WhatsApp/webhook.
  5. Rule - create your first recovery sequence.
  6. Cron - confirm Magento cron is running (a non-blocking health check runs).
  7. Test - send yourself a real test email.
  8. Finish - review and go live.

You can re-run configuration any time under Stores → Configuration.

4. How detection works

A cron (DetectAbandonedCarts, every 10 min) flags quotes that have been inactive past your threshold and inserts them into the tracking table. A second cron (ProcessSequences) evaluates your rules and sends the due step. A third (CheckConversions) matches the quote to a placed order within the attribution window (default 7 days) and records the recovered revenue.

Dry-run mode (Ultimate Cart Recovery → General → Dry run) runs the whole pipeline without sending anything - ideal for validating rules safely.

5. Creating recovery rules

Under Ultimate Cart Recovery → Rules:

Variables available in templates include {{customer_firstname}}, {{cart_items}}, {{cart_total}}, {{restore_url}}, {{coupon_code}}, {{unsubscribe_url}} (see the template editor for the full list).

6. Channels

7. Coupons

Rules can attach a dynamically generated coupon (VCR{tracking}-{hex}) built on a Magento Sales Rule. Expired coupons are cleaned up daily.

8. GDPR

9. Dashboard

Ultimate Cart Recovery → Dashboard shows recovered revenue, conversion rate, and per-channel performance (CTR-first). Revenue is recorded in the store's base currency using the order's frozen base_grand_total.

10. Troubleshooting

Symptom Check
Nothing is detected Is Magento cron running? bin/magento cron:run; check threshold.
No emails sent Dry-run enabled? Mailer configured? Recipient on unsubscribe list?
License banner shown bin/magento ucr:debug:license - verify connectivity to the license server.
Inspect one cart bin/magento ucr:debug:cart {quote_id} (tokens are masked).
Force a run bin/magento ucr:detect, ucr:process, ucr:check-conversions.

Logs: var/log/visicrea_ucr.log (and visicrea_ucr_debug.log in debug mode).

11. Support

Contact: [email protected]. Include your Magento/PHP versions, the module version, and the relevant log excerpt.

Documentation

Documentation (FR)