When creating an eCommerce system, one of the first steps is to decide to make-or-buy the software platform. For small-medium businesses, there are many advantages in selecting an existing platform. The most popular option is an off-the-shelf SaaS solution such as Shopify, SquareSpace, or Wix. The second most popular option is to install and customize an open source platform such as Magento.
A more expensive and complex option is to build your own platform. I would not recommend considering this unless your company has access to a qualified team of software developers and the commitment to support it. If you have the resources to create and maintain your own solution, the benefits of a custom-made platform can be huge.
Deep customization is expensive and should be limited to features that can provide a significative competitive advantage. No matter how flexible your off-the-shelf solution, you will soon discover a feature that you consider important and that can not be implemented or added. A typical example is the definition of custom relationships among products that are strategic for the products you are offering (e.g. product A is a plugin of product B). Another feature that can be extremely difficult if not impossible to add to a standard platform is conditional discounts (e.g. a discount available only in certain geographical areas or reserved to users who own a specific version of a product purchased within a specific time frame). If your eCommerce is running on a custom-built solution, those features can be easily implemented and added to the platform providing a significant competitive advantage while greatly simplifying the user interaction (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. The flexibility is what makes those general purpose platforms appealing. We can use them to sell almost any type of product. But this flexibility doesn’t come for free. There is a performance cost that we will have to pay. Let’s say we are selling simple products and we don’t have to deal with configurations and sizes that are typical of shoes and clothes. The configuration and sizes subsystem, even if we don’t use it, will be running anyway taking away resources from more critical. Multiply this small overhead for all the subsystems and features you don’t need or don’t use and you get a platform that struggles to meet performance requirements recommended to attract and retain mobile users or to meet Google SEO guidelines.
The image shows the huge gap in performance that can be achieved when working on a custom-built platform. The website on the left with a performance of 3/100 is based on Squarespace (similar results with Shopify and Magento) while the website on the right with a performance of 91/100 is a custom platform I built for Novedge. The performance was measured with Google PageSpeed Insights. Both results are for the mobile platform. Results for the desktop platform are even more striking.