I believe in the admin area its System -> Configuration. And then under Sales on the left, click ‘Checkout’. In there, you have ‘Quote Lifetime (days)’ option.
Only inactive (completed) quotes are deleted by Quote Lifetime cron job. Active quotes preserved as abandoned carts.
/app/code/core/Mage/Sales/Model/Observer.php
public function cleanExpiredQuotes($schedule) { $lifetimes = Mage::getConfig()->getStoresConfigByPath('checkout/cart/delete_quote_after'); foreach ($lifetimes as $storeId=>$lifetime) { $lifetime *= 86400;
In one of those perverse Magento definitions, Quote Lifetime is only used for housekeeping in removal of inactive quotes (why you even keep inactive quotes after they’ve been sales ordered is something a Magento Programmer will have to answer to) and not to filter through the active quotes (saved shopping carts) over the desired period and declaring them defunct.
Active quotes remain forever as zombie saved carts. Who cares about a saved cart after a month or so? NBL that the customer is coming back after six months and so you’re left with an ever expanding bloat of tables in your sales_flat_quote table cluster.
The adventurous could convert this observer to cleaning out all quotes over Quote Lifetime by commenting the following line out of the filter:
// $quotes->addFieldToFilter('is_active', 0); //Leave Active Quotes alone