A CMS (Content Management System) is a software system to publish, edit, and change contents, as well as to modify the visual look of contents.
In the case of eCommerce, the main source of contents that feeds the management system are the products for sale. In addition, you should consider some additional functionalities due to the peculiarities of this area. For example, you should be able to link a set of items to a user in the form of a shopping cart or a completed purchase.
In this post I will describe the features which an eCommerce CMS must provide – in particular the main features which you should assess when it comes to choosing a management system for an online store.
What is a CMS?
When it comes to choosing a content management system, you should consider all the possible cases in which those contents will be used. From a practical point of view, you shouldn’t overgeneralize, as that would require the CMS user to keep defining what their contents are like. But it is not possible to offer all the possible solutions, as the resulting system would be too complex and hard to use. A compromise solution is advisable in all cases. Usually a number of general options are offered to cover the most common needs, with the possibility of including additional modules or plug-ins to extent or modify the CMS behavior in order to cover the exceptional specific needs of a store.
The main advantages of a CMS are:
- Lower costs: the system is built once and can be used in many stores. Even though there are evolution and maintenance costs, it’s much cheaper than developing a customized system from scratch for every store.
- Evolution: CMSs usually evolve through the delivery of new versions. This makes it possible to solve existing problems and keep up to date in such as changing environment as the Internet.
- Community: many people will use the same system as you. If you have a problem, it’s highly likely that someone has already experienced it and you may find information about how to solve it.
The main drawback is that the system was not specifically conceived for your store. Very often, the solutions it provides will be more general than required, so you won’t have any problems in that regard. However, you may have a specific need that isn’t covered by the system, so you will have to use extensions, or, in extreme cases, CMS modifications.
In the next posts, I will follow these guidelines to focus on specific problems, providing a framework to compare the various CMS that I will describe. The main parts of an eCommerce CMS are:
As we previously saw, products are the main contents to be managed in an eCommerce management system. An eCommerce CMS should be sufficiently expressive to allow us to save a product status, as well as its features and attributes.
From a general point of view, a product can be defined as anything that can be sold. Such an abstract definition can generate (and does generate) certain problems when it comes to designing a software system. The first question that arises when examining a certain CMS is: What products does it enable me to sell?
When we think of products, we can see them as tangible goods to deliver to the buyer, and this is often the case. However, this is not always so. For example, digital goods can be sold via download, or access to them can be sold. An airplane ticket or a ticket to an event can also be sold, and the only product received by the customer might be a keyword or locator.
The main data items that constitute a product are:
- Product identifier (SKU)
- Sale price data
- Purchase price data
- Supplier data
- Stock data
- Product attribute data (colors, sizes, variants, etc.)
An eCommerce CMS should also enable us to add, remove, and change all the information concerning the store products. It would also be desirable for all these data to be automatically updated (e.g. by automatically decreasing the stock after a sale).
For technical reasons, you will often need to store, at least temporarily, information on the store users. In the case of product delivery, you will need their address so that it can be fed to the logistics system, and you will practically always have the buyer’s email address so that they can be sent at least a purchase notification.
The importance of marketing in eCommerce means that having the maximum information possible about the users is highly desirable. When it comes to considering an eCommerce CMS you should start from the worst-case scenario, so the CMS should be able to manage all the potential store user data. The main data items are:
- Session data
- Delivery address
- Invoice address
- Authorization to receive marketing information
Relationships between products and users
The relationships between products and users (whether they are online or not) are all the data that can be stored which include one or more products and one or more users. This information can include, for example, the products viewed by a user in a session, a user’s shopping cart, or a user’s shopping history.
An eCommerce CMS should provide functionalities to display information in various languages, currencies, and different taxes.
Given that a CMS is built with a general purpose, the setting options offered should be changed to adapt the CMS to various scenarios. For example, you should be able to choose whether you want to display contents out of stock, whether you want to display prices including taxes, etc.
Anything that cannot be achieved by means of the settings will require the system to adapt to our needs. Making changes in the system has a great drawback: you will possibly lose update capacity. To avoid this problem, many CMSs include mechanisms that enable extension and adaptation by means of modules or plug-ins that are integrated in the system, making it possible to change its behavior to adapt to practically any need.
In addition to the functionalities that make it possible to add and manage products, you should be able to control the way in which contents are displayed. The CMS should allow to configure all the potential aspects related to web visualization. Generally speaking, CMS design is such that the visual components (views) are separate from store operation (business logic). This makes it possible to change the visual look, either manually or by means of extensions, without interfering with store operation.