Changing the quantity of an item in the shopping cart is seemingly a straightforward task, yet our large-scale checkout usability study found that there are several important implementation details to get right for all users to be able to easily change the quantity of a product.
In fact, 86% of the top-50 benchmarked US e-commerce sites either don’t auto-update the quantity field as soon as it’s changed or don’t allow users to set a quantity of 0 items — resulting in anything from simple user frustration at a clunky interface, causing their changes to go unregistered, to orders being placed with incorrect quantities. Unintentionally placing an order with the incorrect quantity of an item will have cascading effects, as users will eventually catch the error and often have to rely on customer support to resolve the issue.
In this article, we’ll discuss the research findings from our checkout usability study related to updating the quantity field. In particular, we’ll focus on
OnBluris not enough), and
Changing the quantity of an item, either up or down, sounds like a simple task. Yet our checkout testing reveals how several crucial implementation details can make what should be an easy task into an unnecessarily difficult one.
Requiring that users save changes to the quantity field by clicking, for example, an “Update” button or link will result in changes not being saved for some users. A subgroup of users are likely to either not understand that they have to “tell the site twice” (i.e., by changing the quantity field and clicking “Update”) or will simply overlook the “Update” button, with the result being that the user will enter the checkout flow with an unwanted number of items in their order.
Thus, on sites where the quantity field isn’t auto-updated, some users begin new tasks without having successfully updated an item’s quantity. During our checkout testing, this caused orders to be placed with incorrect product quantities. Yet 50% of the top-50 benchmarked sites don’t auto-update the quantity field as soon as it’s changed.
In order avoid issues caused by “Update” buttons or links for the quantity field, users’ changes to the field should be updated as soon as they’re made. It’s critical that these changes take place immediately and don’t require that users click out of the form field first to submit the change.
It’s not sufficient to only auto-update changes to the quantity after focus is taken off the field (the field
OnBlur event), as it doesn’t take into account the common user behavior of going straight from the quantity field to either the button for proceeding to the next page or to invoke another cart feature for another item (“Save for later”, “Delete”, etc.). During testing, this caused multiple subjects to lose out on the changes made to the quantity field — despite the fact that the site had made an effort to implement auto-updating quantity fields.
Furthermore, some sites use open numerical fields for the quantity field, while others use drop-downs. Our testing didn’t reveal any significant difference for the end user between the two, although it should be noted that, for drop-downs, users have an even stronger expectation that the value is saved as soon as they leave the field, as opposed to open numerical fields. Hence, an “Update” link is even less warranted for drop-down quantity fields than it is for open numerical fields, and should be avoided in both implementations.
When faced with either drop-downs or numerical fields to indicate quantity, a subgroup of users consistently attempt to delete an unwanted item by setting the quantity to 0. This subgroup of users has a strong mental model of “quantity 0 = delete”. Therefore, for both drop-downs and numerical fields users should be allowed to delete items by setting the quantity to 0, whether that’s by selecting “0” as the drop-down value or by typing “0” in the numerical field.
Not only is this mathematically logical, but it’s also implemented this way on several e-commerce sites. For both drop-downs and numerical fields, we therefore recommend allowing users to delete items by setting the quantity to 0. Although it’s only a subgroup that exhibits this behavior, it should only be supplementary to the conventional “Delete Item”. If using a drop-down the implications of setting quantity to 0 can be more explicit by naming the “0” option, for example, “0 - delete this”.
It’s important to be slightly more cautious, however, when allowing users to set “quantity = 0”. In effect, setting quantity to 0 functions as a typical “Remove Items” link and, while that user behavior should be supported, it’s prudent to ask users to confirm their action of removing the item, since it can often be difficult to re-find a deleted product if, for example, the 0 was typed by accident.
For example, a user who has made it all the way to the order review step, and is about to finalize the order by clicking the “Place Order” button, may accidentally change the quantity of a product to 0, or may intentionally do so but then have second thoughts. If users aren’t asked to confirm their action at this stage in the checkout, there’s a much more significant chance that the user will abandon the order, since the user has to leave checkout, re-find the product they had just removed, add it back to the cart, then re-enter the checkout and finalize the order.
Therefore, when setting quantity to 0 or removing an item via a “Remove Items” link, it’s acceptable to deviate from the “instant auto-update” recommendation, and first ask users, for example, “Are you sure you want to remove this item?” before submitting the action.
Even seemingly minor details, such as the behavior of the quantity field, can have outsized impacts on the end user experience.
When quantity fields don’t behave as users expect by not auto-updating, our testing shows that some users will end up with a quantity of products they didn’t intend when they originally placed their order. This, of course, will at the very least result in a back and forth between the user and customer service, as the user attempts to correct the error.
Even more problematically, some users may form a negative impression of the site or brand if they receive an order they believe is incorrect. Imagine users’ frustration when actually receiving an “incorrect” quantity of a product that’s been shipped to their house. They’ll be forced to reorder an item if the quantity was too low or actually ship a product back if the quantity was too high. In both cases, they may be on the hook for additional shipping costs as well.
Therefore, to ensure the quantity field behaves as users expect, it must
Yet, it’s currently 86% of sites that get one or both of these aspects wrong.
This article presents the research findings from just 1 of the 850+ UX guidelines in Baymard Premium – get full access to learn how to create a “State of the Art” cart and checkout user experience.
Join 22,000+ readers and get Baymard’s research articles by RSS feed or
Topics include user experience, web design, and e-commerce
Articles are always delivered ad-free and in their full length
1-click unsubscribe at any time
If using numerical fields, how would auto update work with double digit numbers when there is a delay between entering the first and second digits?
Hi Gabriel, it would update as users typed. Ideally you could do a 200-300ms delay before auto-updating, to better allow users to type “21” without it autoupdating on “2..”
You can try out the autoupdating experience at for example Apple.com; https://www.apple.com/shop/bag (they use a delay as well although it seems to be much higher than 300ms, around 1500ms, leading to a significant delay on single digit updates)
A bit surprised that Amazon’s dropdown is the best example you could find. The dropdown seems a bit clunkyl for a scenario where the user may likely only adjust their quantity by 1 or 2 increments.
A stepper would work well here and would also solve the auto-updating issue. An example of usage can be seen on the John lewis mobile site https://m.johnlewis.com/basket
© 2021 Baymard Institute US: +1 (415) 315-9567 EU: +45 3696 9567 email@example.com