I've been researching shopping cart designs, and so far it seems like the consensus is that the only thing you can update in a shopping cart is quantities. Let's say I've added a large t-shirt to the shopping cart. If I want to change this shift to different size, I'd have to:

  1. Go back to the shirt page
  2. Add the new size
  3. Return to the shopping cart
  4. Delete the original size

Why not allow the user to update the size (or whatever option) directly in the cart? It seems so obvious that this could be reduced to 2 clicks, yet none of the big players support this (or any at all that I've seen)

Zappos! Shopping Cart

I've observed this quandary in Amazon.com, Zappos.com (shown above), as well as in web development frameworks which seem to not support the ability to update options in the cart, you can only update the quantity.


Despite the technical reasons listed in other answers, there is no good reason not to do this. Pitch it to some company; or don't, and by mentioning it here, you'll probably see it appear in e-commerce sites soon enough.

It makes the linkages between the UI and the backend more complex--but not ridiculously so. Amazon has already introduced the "switch options without changing 'product page'" feature--you can switch between Widescreen and Fullscreen varieties of a DVD, for example, and whatever it's doing under the covers to accomplish this, to the user it looks like you've just selected an option.

It does break the metaphor of the shopping cart to be able to change options--perhaps developers are thinking, "you couldn't change the color of a shirt in your physical shopping cart". But we have no such constraints in a digital cart!

  • At a time when most sites are working as hard as possible to simplify the number of options and inputs required to complete the conversion, though, does editing attributes in the cart make sense? I can easily envision just as many users being confused by the option to change attributes as are helped by it. Probably something that would need usability testing. – Daniel Newman Jul 20 '11 at 17:42
  • 5
    Task complexity is nothing to be scared of. This is complexity in the user's language. Scanning a list of options (Size, color, material) will help reassure the user they are selecting the right item, and each of those options could be a control for changing it. With the removal of two page switches, this would be a vast simplification overall. – Alex Feinman Jul 20 '11 at 17:46
  • Agreed. And plenty of websites have been built with completely custom shopping carts and have the freedom to add more advanced features like this. All it takes is a little time and effort. – Steve Wortham Jul 21 '11 at 2:53

The reason for this quandary is that in the enterprise backend, each option is a different product, with it's own product ID number, stock level, pricing, etc. As far as most shopping cast systems are concerned, a small t-shirt is as different from a medium t-shirt as apples and oranges.

In the case of a site selling t-shirts, it seems that it would be relatively easy to implement a system to allow users to change sizes once they have something in their cart (essentially, the system would be deleting the old item and adding the new item to the cart). However, things start to get tricky really quickly -- what happens if the selected size isn't available, or has a different price? How do you communicate that to the user?

Likewise, what if the product has many attributes? Say it's a piece of furniture - it might have different configurations, different color options, and different finish options, all of which are accessible from a single product page. Each change to an attribute affects pricing and availability. Suddenly, you've made your simple shopping cart as complex as the product page itself (with a ton of different error cases required).

Certain systems have support for this -- RedComponent does this "out-of-the-box" and there's a module for UberCart in Drupal, but it's not particularly common.

In summary, changing of attributes in the cart might work for some stores with a limited variety of merchandise, but I'd be surprised to see it adopted by any of the bigger players for the above reasons.


The shopping-cart interface would have to be able to display all options of all products. A t-shirt vendor, as Daniel says, could add a "size" option, but for Amazon, you're talking about the shopping cart supporting size, color, GB of memory, basic vs. director's cut, etc etc etc. Doing that in a way that is efficient for the backend and intuitive and uncluttered for the user would be challenging.

  • 1
    It doesn't have to show all options. It could show the most useful, most-commonly-changed options, and have a button for "Edit other options" that goes back to the product page. – Alex Feinman Jul 20 '11 at 17:47
  • 1
    @Alex, good point. Or how about this: what if clicking on "edit options" gave you a pop-up or in-page edit dialogue, so you only see this for the product you're currently trying to change? For example, Google+ lets you edit the circles a person is in using that kind of interface, without making you go to the person's profile page or the circles-management page. Something like that, maybe? – Monica Cellio Jul 20 '11 at 17:53
  • That could work, and a popup is a smaller distance 'away' than a page change. – Alex Feinman Jul 20 '11 at 17:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.