When creating an eCommerce system, one of the first steps is to decide if we want to make or the software platform. For small-medium businesses, there are many advantages in selecting an existing platform ( buy). The most popular option is to buy an off-the-shelf SaaS solution such as Shopify, SquareSpace, or Wix. The second most popular choice is to install and customize an open-source platform such as Magento or WordPress (with the WooCommerce plugin).
A third and more expensive and complex option is to build your proprietary platform ( make). In general, I would not recommend this option. However, if you have the resources to create and maintain your platform, and can afford a qualified team of software developers, the benefits of a custom-made platform can be huge.
if you have the resources to create and maintain your platform, the benefits of a custom-made platform can be huge
Implementing any deep customization of an eCommerce platform is expensive and should be limited to features that can provide a significant competitive advantage and generate an ROI. No matter how flexible your off-the-shelf solution, you will soon discover a feature that is essential for your business and that is not included and can not be implemented or added. A typical example is the definition of custom-relationships among products that are specific of the vertical market you are serving (e.g., product A is a plugin of product B, or product C is the maintenance for product D). Another example of feature that can be extremely difficult, if not impossible, to add to a standard platform is conditional discounts. Conditional discounts are discounts available only in specific geographical areas or reserved to qualified users based on some criteria or business rule (be aware that the manufacturers can be extremely creative in defining those criteria). If your eCommerce is running on a custom-built solution, features like custom-relationships and conditional discounts can be implemented with a relatively small effort. This deep customizations can provide a significant competitive advantage while greatly simplifying the user interaction and experience (the platform takes care of the complexity).
No matter how good your off-the-shelf or open-source-platform is, the speed is going to be disappointing. Flexibility is what makes those general-purpose platforms appealing. They can be used to sell almost any sort of product. However, there is a performance cost that we have to pay. For example, let’s assume we are selling simple products, and we don’t have to deal with product’ configurations and sizes. The platform configuration and sizes subsystem, even if we don’t need it, and we don’t use it, will be running anyway, taking away resources from more critical tasks. It’s a small overhead, but multiply it for all the subsystems and features that are not relevant for you products and target market, and you get a platform that struggles to meet minimal page-load time requirements. Under such conditions, it can be challenging to attract and retain mobile users or to meet Google SEO guidelines.
The image shows a massive gap in performance between off-the-shelf and custom-built platform. The website page tested on the left (implemented with SquareSpace) has a problematic performance of 3/100. Websites created with Shopify and Magento have similar performance. The web page tested on the right (implemented on the custom platform I built for Novedge), is presenting the same product, and performs much better at 91/100. I used Google PageSpeed Insights to evaluate the loading and rendering speed for both pages on a mobile device, results for the desktop platform are even more striking.
This article was first posted on Franco’s blog on June 19, 2019.
Franco Folini lives and works in the eCommerce territory, a wild area between the Kingdom of Technology and the Kingdom of Marketing. He speaks fluently the language of both realms. For many years, Franco has been helping people bridge the divide and successfully collaborate.
If you want to find out more about Franco, visit his LinkedIn profile or send him an email folini[at]gmail.com