The issue: "lost" shopping cart
ProductCart uses “sessions” to store information while a customer goes through the checkout process. A session is basically a small piece of the Web server's memory. Using sessions instead of saving information immediately to the store database ensures fast access to that information (to retrieve it and update it).
The issue with sessions is that they expire. They are designed that way so that the server memory is released after a session is idle for a certain period of time. By default, the time is 20 minutes (although it can be extended). When customers add products to the shopping cart, that information is saved to a session. If the customer remains idle for more than 20 minutes, or closes the browser, the session is lost.
This can create an issue as a customer might spend a good amount of time adding products to the shopping cart, become occupied with another task (e.g. received a phone call), and find an empty shopping cart upon returning to the online store. It's as if the shopping cart was “lost”.
To avoid this problem, ProductCart saves the shopping cart content and offers customers to keep it (or discard it) if the shopping cart session has expired and the customer returns to the store. Below, you can see an example of how the message looks like.
The ability to Restore a saved shopping cart on the next visit is a feature that can be turned on and off through the Control Panel.
How it works
When customers add products to the shopping cart and visit the shopping cart page (pc/viewCart.asp), the following occurs:
- A harmless cookie is saved to their desktop with a unique ID.
- The shopping cart content is saved to the database and references that unique ID.
- When customers are logged in, their customer ID is also stored in the database, so even if the customer logs in from another computer (where the cookie does not exist), they will be able to restore the shopping cart. Logged in customers can also review and manage their saved carts from the Customer Account Area.
When the customer returns to the store the cookie is read and the database is checked. If a match is found then ProductCart offers to restore their shopping cart as shown in the screen shot above ( you can turn this feature On/Off from the Store Settings > Miscellaneous page in the Control Panel). The language used in the message can be edited as always.