Cart recovery

Cart recovery sends a configured Magento email for an eligible active quote that has items and has not been updated within the configured threshold. The cron job runs in Magento's default group once per hour.

Configure recovery

Under Cart Recovery, enable the feature and select an email template that provides the recovery_url, items_html and related variables. Set the abandoned-cart threshold and choose how a recovered cart interacts with an existing cart:

  • Merge with the existing cart combines compatible carts and recollects totals.
  • Replace the existing cart deactivates the current active quote and uses the recovered quote.

Quotes without a recipient email are deferred. The retry interval and maximum missing-email attempts prevent a quote without a recipient from being retried on every cron run. Adding a recipient resets the deferred state.

The email contains a signed link. Registered-customer links identify the quote by its numeric ID and require the same customer session. Guest links use Magento's masked quote ID. Both link types also verify the store and active quote state. The signed link expires after seven days.

If a registered customer is not signed in, the recovery request stores the link as the customer login return URL. A tampered, expired, inactive, wrong-customer or wrong-store link is rejected and returns the visitor to the cart.

Recovery result

After access checks pass, the module replaces or merges the active quote and redirects to Magento checkout. Product availability and current totals still belong to Magento and should be checked before the buyer places the order.

An eligible quote triggers a recovery email. A valid signed link restores or merges the cart according to the configured strategy, recalculates it and opens checkout.

Cart recovery settings with threshold, retry policy and merge strategy

Cart recovery email for a fictional guest cart in Mailpit

Restored guest cart opened in One Step Checkout