Product comparison is one of the nice and good features to have in ecommerce site. The end user (website customer) comes to the website to purchase a product with or without clear idea about the product features. Through up-sell and down-sell features we are giving more options to the customer to choose the best product which caters to his requirement and comes within his budget but to choose which product to buy, the application should provide an option compare products. Many of the current ecommerce giants (dell.com, best buy, eBay, etc) are providing these features and in this article we will see how we can implement it using commerce server.

A product is compared on their attributes and we can implement this feature on multiple ways – one way is through customizing product definitions and another option is through segregating these comparable attributes away from commerce server catalog databases and put them in different data store. The first option is well suited if we are comparing two products from the same category (apples to apples) and the second option is well suited if we are comparing products from different categories (apples to oranges). Click on below blog entry to know more about how to work with metadata.

http://microsoftblog.co.in/commerceserver/working-with-property-metadata/

Let’s discuss them in detail. The option 1 can be achieved through product definition customization (list of attributes is called definition). Key thing to note is that all attributes are not compulsory to show to the customer – some of the attributes are used by business components to perform some processing. So, before we come up with list of attributes for the product, we have add new property to attribute definition (metadata). This new Boolean attribute (name as “IsComparable”) can be added to the product attributes. If the attribute value is true then we will use this attribute for comparison else we will not use it. Now we have to create all attributes required to build a product definition.

Now in your business component, add a method which does comparison process. The method takes array of products a parameter, fetches all comparable properties, build an array list or data table (don’t use it if you are developing application for heterogeneous environment) and send it back to calling function. May be at frontend, we can use Grid View or Data Grid to present details to the customer.

clip_image002

The second option is to store attribute information in another table in the same database or different database based on product ID. Keep all necessary information as part of product definition and extra information or comparable information in different data store. The advantage we are getting is that, with a single query we are able to get the results in a specific format to the business layer but we are adding another overhead to manage the things in two different locations.

As per my view, below are the some things to consider while developing this feature.

  • Don’t assume that the customer knows the comparable item attribute is. For example, if you take camera comparison, the customer might not know 35mm deep zoom, TTL autofocus, etc. It would be good if we provide a link from attribute name to help file where the customer can get more information about that feature.
  • Don’t allow user to compare more than 3 products (make it as configurable item). If he starts comparing more items, it leads to make him confuse instead of giving information about the products.
  • Incorporate web 2,0 features while giving product comparisons – features such as review comments (link), overall product rating, etc comes under this category.
  • Show discounts information (if possible) as part of comparison.
picture1[1] Microsoft should make this functionality to be part of core system. If not possible, incorporate this feature in starter site and provide out of box web part.

Related Articles


If you like this post, please click on our sponsor advertisement.


Leave a Reply

Follow me on Google+
Couldn't get data from google+
Sign up for Newsletter