I am currently involved in shopping cart redesign project. I have been doing competitive audit, and have noticed that most of the e-commerce sites out there ask users for the preferred shipping method (regular / expedited / rush) in check out instead of on the cart. Is there any reason behind this? I thought the users want to see out the door price (true cost) as early as possible.
The reason is that shipping costs very often depend on the destination. Typical eCommerce checkout flows incorporate these steps:
Shopping Cart ->
If the user didn't enter his address details yet it can be hard for the merchant to tell how much the shipping cost will be or if he can ship at all at reasonable costs. Some merchants would also have lower or higher shipping costs depending on the selected payment method.
There are also other things that could matter, depending on the country you're doing business in, like legal obligations, sales tax etc.
Another potential reason: Once users have invested so much - finding the item, putting in their address and payment details. they are less likely to drop out of the process, unless the shipping is excessive. I dont think this is "the reason" more of an indirect side effect.
This effect is often abused with "hidden" charges, such as insurance that are added towards the end of a process. Where as shipping is an expected charge, although the amount can differ.
If a user is logged in then you can give an estimated shipping cost based on the user details you have. If you do not know the details, you can give an estimated shipping cost: 1. within country 2 within continent 3 global or something like this.
I agree that informing early on the complete price (product + shipping) is a good experience for users.