View Full Version : Your Advice: Saved Carts, User Accounts, and Checkout
05-02-2011, 07:48 PM
I'm getting into the nitty gritty of the programming logic for a website. Here is my question.
I'm programming an ecommerce site with user accounts and carts (of course) that can be saved associated with the account. I've already added wish lists.
My question is about consumer preferences and behavior.
Okay, say you have an account and have placed some items in a cart.
The cart is saved and is associated with the user account.
If the person returns later, when they log in, their cart is retrieved.
HOWEVER, if the person returns later and starts to put items in their cart before logging into their account,
THEN logs in after putting items in the cart...
What should happen to the items in the saved cart?
(NOTE: If they go to checkout before logging in,
then the saved cart items are moved to a wish list
and they retain the items they put in the cart before logging in.)
A. Combine the saved items with the items in the cart when they log in?
B. Move the saved cart items to the wish list?
C. When they log in, display a notice that they had saved cart items, show the items, and ask what to do?
D. Do you have another suggestion?
I'm thinking of a cron for the carts - after a certain amount of time, move the cart items to the wish list.
What time period would be best? 3 days, a week, or do you have another idea? Or is this a bad idea?
05-03-2011, 02:50 AM
Keep the cart contents in a cookie so they don't have to login to reset the cart back to where it was. Or remember login details in a cookie and automatically log them back in.
05-03-2011, 10:48 AM
I prefer to avoid storing acct info in cookies for this in case the customer is on a public computer or shared IP.
05-03-2011, 04:00 PM
There is a difference between account info and cart info. I agree, account info should not be stored in a cookie -- but cart info can. My preference is that cart info would stay in a cookie that expires in 12 or 24 hours -- no cron job necessary. I don't like carts that require you to sign-in prior to placing items in the cart so cookie storage is perfect for my preference.
05-03-2011, 05:18 PM
I have tried many variations on the login/cart/checkout options. My advice is either do what most people expect or give them the option to decide what works best for them.
People have their own way of doing things.
Have a temporary wishlist with an option to save it into a list of saved wishlists.
For both temporary wishlist and saved wishlists have an option to add selected items to their active shopping cart.
Have a single temporary shopping cart. Not logged in.
Have a single saved shopping cart. Logged in and saved with account.
When a person logs in, check to see if they have a temporary cart and/or a saved cart.
If they have a temporary cart and no saved cart, simply save temporary cart with their account.
If they have both a temporary cart and saved cart...
Give them the option:
Add temporary cart items to saved cart or
Abandon temporary cart or
Save temporary cart items to a saved wishlist named _______
(you may or may not want to give them this option as well)
Move saved cart to wishlist named _______ and save temporary cart with account.
Another similar idea is to use an "active" cart that can be either temporary or saved depending on logon status. Then give similar options on login as above.
One other thing to keep in mind, many people have multiple browser windows open. Fore example there might be one window not logged in with a temporary cart & wishlist while the other window is logged in with a saved cart active and a different temporary wishlist. This happens when multiple windows are open and none are logged in. Then one gets logged in. So be careful about using only cookies as your active cart. You could wipe out a temporary cart in another window by accident. So make sure your temporary method works in different windows independently and deal with them when the user logs in.
05-03-2011, 05:20 PM
I agree, cart contents should be stored in a database with an unique id, referred to with that unique id in the cookie. No account info in the cookie or that part of the database. Wish lists are a way to save carts to a user's account, sounds like you have that right. You could remind them at checkout that they have items in their wish list and kindly ask if they want to include them with the cart. I have not seen that done on a website before.
05-03-2011, 09:36 PM
I go towards using the most recent cart (i.e. the one they used before logging in). As they started afresh they won't know or miss they had another cart. Just replacing the old one without their knowing would give them a simpler and less confusing experience.
05-03-2011, 10:00 PM
The one thing that I stress to my customers for their online shops is SPEED.
The one thing that my customers stress to me for their users is SIMPLICITY.
So following many of the previous comments on the thread:
1. Save the cart contents as a cookie that expires in 12 hours. Plenty of time for someone to make up their mind but very unlikely that their will be any issues on a public terminal. Most public terminals being set up (or at least that we set up) clear the browser history and cookies at the end of each session.
2. Make sure that you have a one page check out. I really focus on having the checkout process be no more than 3 clicks - One to review the cart - One to Review the order and enter payment information - One to confirm the order.
If your only focus is to keep the user experience as simple as possible, you will convert more sales. Good luck and happy selling.
05-09-2011, 08:41 PM
If this is the first version of the cart, I would not get too fancy with this feature. At a minimum, you will be storing cart contents for some period of time. And this is usually done by dropping an ID in a cookie that corresponds to a basket on the server.
After you have rolled out your store, you might consider offering a wish-list and then figuring out how it interacts with current cart contents. I generally recommend observing how Amazon does things.
You can move items over either via cron or just wait until people return and if it's been too long, move them over. The latter is probably easier. But again, I don't think this feature is going to move the needle and I suspect that your energy is better spent elsewhere.
05-09-2011, 09:59 PM
If this is the first version of the cart, I would not get too fancy with this feature.
I don't understand what cart version this has to do with the final program. My goal is to present a professionally designed website and do it right the first time. That's why I'm asking for advice from seasoned programmers who are great at brainstorming. The wish list is already programmed as is many other features such as product compare, reviews, 1-pg checkout, etc. And, they are all interacting well so far.
My question was about the programming "logic" as well as designing for the ease of the consumer.
I've gotten some great ideas in this thread and I thank everyone for their well thought out ideas. I'm now pondering and testing the best way for the site under development.