In the ideal world, e-commerce sites would be able to tailor their product lists to the unique interests of each user, but of course, in the real world, sites can’t guess what the user is thinking. Yet with some clever product list adaptations e-commerce sites can actually approximate this kind of personalization with relatively modest efforts. We’ll explore how in this article.
Now, in the instances where we don’t have knowledge about or proxies for the user’s preferences, we should obviously base list item information on the information needs of the majority of our users. This ensures the generally most important product aspects are presented without paralyzing users with a deluge of information. However, while this creates a good baseline, it doesn’t cater to the particular interests of each user.
During our e-commerce product list usability study, static product lists that showed the same information regardless of the user’s context caused issues as users couldn’t properly evaluate the list items – they simply didn’t have the necessary insight into the product aspects that were of importance to them. In the following we’ll further explore the issues observed during the test sessions, and how e-commerce sites can better personalize the list item information in product lists.
When users browse a list of products – be it a category or a set of search results – they need to be able to quickly determine which items are of relevance and which they can ignore. However, when the product attributes important to the user aren’t included in each list item, users have an incredibly difficult time making such distinctions. They are essentially left with two options:
- Guess if the product is a match based on the sparse information available in the product list. This inevitably led the test subjects to reject numerous relevant products and waste time on many irrelevant ones.
- Pogo-sticking back and forth between product pages and product list for every single list item to check up on the attribute(s) of interest. This is obviously a tedious process, and the test subjects understandably didn’t bother going through more than 10 items in a product list.
Clearly, neither of these options are desirable. They both suffer from the same fundamental usability issue: the user isn’t able to quickly and accurately determine which items are of relevance and which they can safely ignore, because the user cannot see the product attribute(s) that are important to them straight in the product list.
Clearly the product aspects the user is interested in should ideally be included in each list item so they can quickly determine whether the product is suitable for them or not. Unfortunately we can’t just indiscriminately list all product attributes in the list item as this would lead to product list clutter and information overload. Users wouldn’t be able to quickly scan the product list any longer, which would defeat their whole purpose.
This is where contextual list item information enters the picture.
As we mentioned in the beginning of the article, e-commerce sites would in the ideal world be able to tailor their product list uniquely to the particular interests of each user, regardless of whether they are logged in or not. As it turns out, this type of personalization can actually be approximated by tapping into the user’s context.
By looking at applied filters, sorting direction and page context, we’re often able to glean particular product and feature interests of the user with a fair degree of accuracy. We essentially rely on any applied filters and sorting as signals of user interests – after all, a user will rarely filter a list of products by an attribute they are indifferent towards. For example, if a user has filtered a set of sleeping bags by temperatures 0–10°C, they are very likely interested in knowing about each bag’s temperature rating, regardless of whether this is a part of the default product list attributes.
It is in this insight that we find a solution to the predicament of on the one hand lacking product attributes that are all-important to certain users while on the other hand trying to avoid inundating users with information overload: what if we simply include list item information based on applied filters and sorting? In other words, whenever the user applies a temperature rating filter, then we include the temperature ratings of each product in the product list. This way we are able to display product attributes that are important to this particular user without overloading the product list with an indiscriminate barrage of product information.
We’re essentially making the list item information contextual – adapting the listed information based on the user’s context, such as the category they’ve chosen, the filters they’ve applied or the sorting direction they’ve chosen; all of which represent key signals about their particular product interests and preferences.
Direct vs Indirect Insight
While it’s true that the very fact the user has filtered or sorted by an attribute does give them insight into the attribute, it only does so indirectly.
In the case of applied range filters, the user will know the products fall within the defined values, but they won’t know where on that scale each product falls. This is particularly problematic for pre-defined filtering values, as some of the resulting products may be irrelevant to the user. For example, in the earlier example of sleeping bags filtered by 0-10°C, the user would only know the temperature range of the listed sleeping bags fall somewhere in that range – they wouldn’t know where each sleep bag fall within the range.
Meanwhile, for sorting, the user will know that the value of the selected attribute increases/decreases as they scroll through the product list, yet they once again won’t know the actual value for each product, making it difficult to compare and evaluate the results or observe any “gaps” in the scale (or even tell where the scale begins and ends).
This is why contextual list item information is needed – it provides the user with that additional information when they are filtering and sorting the product list. This gives the user direct insight into the product aspects they’ve expressed an interest in without overloading the product list with information. As an added bonus, the dynamic inclusion of attributes from applied filters and sorting can help clarify what the differences are between otherwise seemingly similar products in the list.
Now, much like our recent article on category-specific sort types, this is an instance where we’re simply maximizing the return on investments already made in collecting and structuring the site’s product catalog. After all, the underlying dataset has already been collected and curated into a structured format in order for the user to be able to filter and sort by these product attributes in the first place.
Here we’re simply tapping into those existing data structures and reusing them to dynamically include information in the product list based on the user’s context. This selective inclusion of product attributes therefore boils down to the fairly simple matter of detecting which filters have been enabled (again, the site already knows this for the filters to work in the first place), and then including those product attributes in each list item.
Other signals such as the user’s page context may be utilized as well. For instance, if the user is in a category which has sub-categories, those could be displayed in the list items as well – indicating which of the sub-categories each product in the list belongs to (and possibly providing shortcuts to those sub-categories). If the user any items in their cart, things like compatibility notices could be shown as well – for instance, it’s easy to imagine a list of camera lenses highlighting relevant compatibility information related to a camera in the user’s cart.
It’s all about tapping into the user’s context (also explored for errors and search) and then adapting the product list based on all these signals the user is revealing about their interests. This way we increase the relevance of the information displayed while avoiding the pitfall of information overload. This enables the user to make a much more informed evaluation of which products to explore further and which they can safely discard – improving their return on click investment and ultimately their product finding abilities.
The Exception: Single-Value Filters
It should be noted that there is one case where it doesn’t make sense to dynamically include a product attribute in the list items; namely, single-value filters. It turns out there are a few different types of product attributes and filters:
- Single-value attributes – Only one value is possible; for example, a ‘Wi-fi capable’ filter for DSLR cameras. It doesn’t make sense to include single-value attributes in the list items when they have been filtered by, since they provide the user with no additional insight – there’s only one possible value for the displayed results, so by virtue of being displayed in the list, the user already knows the exact value of the attribute for each product.
- Multi-value attributes – Multiple values are possible; for example, a ‘Genres’ filter for movies. It makes sense to include as many as possible of the multi-value attributes in the list items when one of them has been filtered by, because they provide the user with additional information about a product aspect they’ve expressed an interest in. For example, displaying ‘Genres’ in the list items after the user has filtered by ‘Drama’ will provide additional information about the other genres of each movie in the product list, letting the user know if it is a ‘romantic’ drama, a ‘period’ drama, a ‘sports’ drama, etc.
- Scale attributes – The value falls on a scale, such as a ‘Dimensions’ filter for sofas. It makes sense to include scale attributes in the list items when filtered by, since the user can’t know the value of each product, only that it falls within a certain range. For instance, if a user has applied a ‘Megapixels: 20–30’ filter to a set of cameras, they won’t know how many megapixels each of the returned cameras shoot in, only that it is somewhere between 20–30. This is particularly important for pre-defined filtering ranges since parts of the range may be irrelevant to the user.
It should be clear that contextual list item information makes a lot of sense for multi-value and scale attributes. For single-value attributes it is however redundant and should be left out in order to highlight the attributes that do differ between the products.
For sorting, the story is a little different, since it typically only makes sense to sort by scale attributes. Therefore any attribute that’s sorted by should typically be dynamically included in the list item. In fact, contextual list item information tends to be even more important for sorting because users can’t define the range themselves. Therefore, whenever the user sorts by a product attribute, it should be added to the list items so the user can see the actual value for each product.
In fact, during usability testing we’ve observed that many users actually prefer category-specific sorting over filtering because they favor the soft-boundaries of sorting over the hard cut-off points of filtering. However, if the sorted-by attribute isn’t included in the list item, they can’t effectively browse this way because they are unable to see which products fall within their preferred range. An extra perk of displaying the values for the sorted-by product attribute is that it enables the user to identify any “gaps” or “clusters” in the product domain (and how they relate to e.g. different price groupings).
Contextual List Item Information
When multi-value and scale attributes are dynamically included in the list item based on applied filters and sorting, the user is provided with additional insight into attributes they’ve expressed an interest in. This effectively supplies the user with product information relevant to their particular product interests and needs – upfront, in the product list. Which in turn means the user no longer has to fall back on guessing or opening an endless stream of product pages to learn more about these attributes.
And so, we have effectively approximated a site that tailors its product lists to the unique interests of each user. It’s product list personalization without the hassle of user configurations or complex machine learning algorithms. In fact, this doesn’t even require any new data structures – it simply taps into the existing schemas of the site’s filters and sort types. Now, if you’re Amazon and can afford to develop a highly advanced predictive solution, by all means go for it. But for the rest of us, contextual list item information represents an entry into the game of seamless user personalization, reaping 80% of the results at 20% of the cost.
It seems inevitable that the future of e-commerce will be increasingly adaptive and predictive sites. Showing the same static product list to each and every user – regardless of their context and preferences – simply doesn’t make sense. Static product lists were fine back in the days when computing power was limited and we were still struggling with getting the basics of e-commerce right. However, this is no longer the case and while some sites still do struggle with the basics it’s also clear that some players are beginning to push ahead of the pack – and they are doing so with incremental step-by-step improvements to their user experience. Contextual list item information is such a step, and lets us dip our toes into the waters of e-commerce personalization without massive technology investments or site overhauls.