I'm fairly certain I would rather collect the emails even if it means less retention. Not for marketing purposes but for support purposes.
With MakePostSell [1] a customer may add products to their shopping cart and interact with a shop as if they are logged in, but at the point of sale / checkout, we ask them to verify their email.