As you probably know the setting is located here:
Admin => system => Configuration => Sales => Checkout => Shopping Cart => Quote Lifetime (days)
This will add the setting to the database (core_config_data table) with path:
checkout/cart/delete_quote_after
This path is used in the code on:
app/code/core/Mage/Sales/Model/Observer.php line 54
So when someone is adding something to a cart it will be updated. When a customer logs in and his cart is there it will be updated. When a cart is not updated for the last 30 days. It will be removed.
Extra information:
In case you wonder when this code is used, It is used by the cronjob of magento.
check:
App/code/core/Mage/Sales/etc/config.xml line 1732
<crontab>
<jobs>
<sales_clean_quotes>
<schedule>
<cron_expr>0 0 * * *</cron_expr>
</schedule>
<run>
<model>sales/observer::cleanExpiredQuotes</model>
</run>
</sales_clean_quotes>
Hope this helps.
$quotes->addFieldToFilter('is_active', 0);
and as abandoned carts never getis_active
set from 1 to 0, abandoned guest carts have infinite staying power and after a year, can consume considerable database storage space. – Weinstock