Opening your own online store these days is remarkably simple, as there are so many e-commerce platforms out there that allow you to set your site up in just a few clicks, from Shopify to BigCommerce and WooCommerce, or even more advanced platforms such as Magento or Salesforce Commerce Cloud.
While each of these platforms offer their own unique features and selling points and are particularly good at building a one-size-fits-all solution, they don’t tend to work as well when you are working with a client that wants a very bespoke set of features or a certain ‘look and feel’.
In this article we will examine the limitations of traditional e-commerce platforms and look at exactly why we chose to build our own…
You Can End Up Paying for More Than What You Use
As most e-commerce platforms have a “one-size-fits-all” mentality, they will be packed to the rafters with features, including things like interactive dashboards, analytics and marketing, order management, product management, shipping integration, a website builder, email functionality and more.
While a lot of these features are what you would expect a standard online store to have, we found that – because our client projects were often so specific and operated under such tight timescales – we weren’t actually using half of the features that our chosen e-commerce platform, BigCommerce, offered us. This meant that the client wasn’t getting the best value for money for their requirements, as they had all of this extra stuff that they were paying for that they didn’t need, and it was just money wasted that could have been diverted elsewhere.
Built-In Features Can Limit Your Design
It can sometimes be the case when working with templated platforms that the template restricts what you can do in terms of the design of your website, store or application. While this may make it easier to build common functionality, such as product listings and product pages, carts and checkouts, if you are doing something outside of that box, then it becomes difficult to add it onto the project.
With our client, their expertise was in developing customization applications that typically run on tablet PC kiosks in retail stores. Trying to fit something like that into the scope of a templated product page was a challenge, as we had to work around or completely remove a lot of what the template offered for it to work.
Additionally, most platforms have very subscribed cart and checkout pages that can only work in one specific way, despite being able to customize them to some extent. This leads to a lot of stores using the same cart and checkout system, so you can easily spot if a certain online store is running on Shopify for example. Gaining full control of the cart and checkout process was certainly one motivation for moving away from BigCommerce. In particular, their checkout’s form validation was particularly poor, and we had to spend a lot of time manually editing customer addresses in the dashboard to work with the client’s chosen shipping courier, as customers would exceed the character limit for an address line, or get the address fields mixed up, putting their full address into line 1, instead of breaking it up into city, region, country, and so on.
Poor Support for Operating in Multiple Countries
When you have a client that operates in multiple countries, full support for localization, global shipping options and multiple currencies is a must. While most e-commerce platforms advertise some or all these features, in practice we have found it to be a different story.
Offering localized stores to customers in different countries can be a very messy experience, with few that offer out-of-the-box text and currency localization, while if you want to geolocate your customers you are going to have to use an expensive third-party API to do it for you (or cleverly use the advantages of CDNs to identify your customers that way).
While most state that multiple currencies are offered, they often mean for display rather than for charging. So, while a customer in France may shop on a store based in the US and see all the prices in Euros, they are more often than not still being charged US Dollars, which may result in extra hidden charges as the currency is converted by their bank.
Development Platforms Can Be Difficult to Use and Have Limited Support
With so many features packed into them, the development platforms for these e-commerce platforms can present you with very monolithic, unoptimized codebases, with spaghetti strings of code running everything from getting and showing products, handling carts and checkouts, and building the user interface.
Our experience in using BigCommerce’s Stencil platform was a frustrating one, as we wrestled with its poorly structured JavaScript code and tried to work around its quirks in order to build the pages of the website as the client wanted. Like most Content Management Systems, Stencil runs on a theming system, so you are essentially rewiring a template (the default in the BigCommerce world being “Cornerstone”) to create your own UI. While this may be fine for some, with the UI and UX requirements that our client had we struggled to achieve even simple things such as fluid, reactive layouts, as the theming system is just not built for trying to replicate what were essentially mobile app experiences in the browser.
Additionally, we found that technical support was limited, and we frequently bumped into walls where answers were few and far between, as the development community actively engaging in such issues was very small.
These issues aren’t present in every e-commerce platform, however, and some are easier to use than others. Shopify, for example, has a very active development community around its app plugin system, and do use more modern technology in their development platform, however it still requires a lot of time to learn how to use its templating language, Liquid, or how to integrate their Polaris React components.
Maintenance Can Be Time-Consuming and Costly
Tying in with the previous point; we found that trying to maintain the site we had running on BigCommerce, from fixing bugs to adding new features on-demand, was also a challenge. Finding the correct code to tweak a feature was often very difficult, and typically extended what should have been simple 10–15-minute tasks into things that took hours, inflating development costs unnecessarily.
Building Our Own – Easier, Faster, Cheaper
By building a bespoke e-commerce platform for our client, we produced a platform that is:
Taking these factors into account, using a bespoke solution has solved a lot of the problems and limitations we observed with existing e-commerce platforms, giving us a platform that we can control and grow, and as client requirements quickly change, we can respond in an efficient and timely manner.
If your clients are struggling with some of the downsides of e-commerce platforms, in particular fitting a very unique use-case into a one-size-fits-all solution, then going down the bespoke route may be the right way to go, even if it doesn’t initially seem that way on the surface.