Considerations when building a multi-commerce platform

February 5th, 2021 Written by Charles Brook

In this article, Charles Brook, Senior Consultant at Infinity Works, discusses what retail groups need to consider when building a multi-commerce platform.

The concept of e-commerce is nothing new, but the challenges presented by coronavirus saw online shopping grow exponentially during 2020. Customer expectations continue to rise and are forcing retailers to remove any friction from their digital experience.

Whether it’s a rebuild of an existing digital storefront or the delivery of a new front-end website, it’s important that a new e-commerce platform has low operating costs and can collect customer data. But what should retail groups, with multiple e-commerce sites covering multiple brands, be considering when looking to develop a new site?

In this article, I consider both the back and front-end of an e-commerce platform and discuss the available technologies I would recommend to refresh each individual layer.

Product indexes

Retailers with multiple brands have multiple catalogs of products that will come from a number of different suppliers. It’s important to be able to accept a feed of products from the respective suppliers and map the individual feeds into a standardised catalog. The problem is the feeds are likely to arrive in different formats, such as CSV files and live data streams, which means it’s often a manual exercise to put them into a standard format; it’s also time consuming and prone to errors.

Adopting a modern off-the-shelf product information management (PIM) tool, such as Pimberly, should be considered to orchestrate the product data process – bringing all of the data sources together. A tool like this can quickly map data to your catalog fields. The tool also provides a convenient visual reporting dashboard for all your different products, enabling you to better organise and group the catalog as you wish. The output from the PIM can then be used to build your product indexes, and it can be scaled as you onboard new products.

Once the platform is reliably receiving the product information, it’s important to be able to retrieve the data quickly in response to customers’ search queries; for example, e-commerce websites that instantly show the number of matches as the user adds criteria (think hatchbacks in red with no more than 5,000 miles on the clock and so on). Free open-source software such as Elasticsearch is ideal for this as it provides a fast means of providing general and faceted search.

Order management

Orders are often fulfilled in a variety of ways by a range of partners – whether that’s as basic as offering multiple delivery options, or more complex such as varying procedures for passing orders to suppliers of different items. As a multi-brand retailer, you could have customers filling their baskets with a few different items which all need to be fulfilled in different ways. One might be in stock at your distribution centre whereas the other is in stock elsewhere. Using an order management system (OMS) enables you to split the order up and fulfil it based on the individual fulfilment requirements. The customer would only see it as one order to avoid a fragmented and confusing experience.

At Infinity Works, we’ve used AWS Step Functions with customers to model and orchestrate the custom processes required. The approach results in complete flexibility combined with a comprehensive audit trail of the process.  For example, you can keep customers updated on the progress of an order with email notifications at each step, adjust stock levels, and view an audit trail of the fulfilment to identify any errors. 

Dashboards built on top of the data produced by an OMS will provide insight into the key performance metrics for your e-commerce operations, enabling you to continuously optimise and improve your order fulfilment processes.

CMS and IMS

The front end of a website is going to contain all of the content that needs regular editing and images that need to be managed and curated.

When it comes to controlling store content, I’d recommend adopting a headless content management system (CMS) with good GraphQL API support. The reason for using a headless CMS is that it can be weaved into the API layer in the most efficient way possible, removing the baggage often surrounding a regular CMS.

A CMS that has tight integration with a quality image management system (IMS) is also advisable to provide support for responsive images and smart optimisation. At Infinity Works, we’ve had great success using a combination of Dato CMS and IMGIX as it has enabled some of our customers to easily tag and curate their image library.

Middle layer

Taking all of the above points into consideration, you then need to consider an API layer to combine your product indexes, the OMS, and the CMS content. A lot of retailers currently use separate APIs to achieve this, but this approach slows things down and often brings back more data than is actually needed. What you need to find is a super quick and flexible query language that reduces the amount of backwards and forwards.

A GraphQL API is a good choice thanks to its ability to blend and optimise multiple data sources into a single query. For example, to return an individual product page, you would need to retrieve the product data from the product index, images from the image library, promotional content from the CMS, as well as any relevant offers. The GraphQL query will return this data within a predefined product page model containing just the data required to render the page. At Infinity Works, we’ve used AWS AppSync for this purpose due to it’s built-in support for Elasticsearch and DynamoDB data sources (among others) which allows for the rapid development and management of the API layer. 

Front end

Retail groups are often made up of a number of different brands. Some of the brands might have a distinct look and feel that reflects the products sold or the intended target demographic. But a common requirement for all e-commerce sites is to serve static files where possible, however this is not always easy due to the often highly-dynamic nature of a fully-featured e-commerce store. 

At Infinity Works, we’ve had great success using React and Next.js with customers to develop custom front-ends. The latest versions of Next.js now support incremental static regeneration (ISR) which allows you to update existing pages by re-rendering them in the background as traffic arrives. Some of the additional benefits of ISR are:

  • No spikes in latency so pages are served consistently fast.
  • Pages never go offline – if the background page re-generation fails then the old page remains unaltered.
  • Low database and backend load; pages are re-computed at most once concurrently.
  • Pre-rendered pages work best for both speed and SEO.

To reduce the effort of building multiple themed storefronts, I’d recommend building a site from themeable React components. The components can then be managed using a product such as a shared front-end component library like Storybook, allowing individual components to be viewed and tested with different themes.

Data lakes and marketing automation

Marketing a modern e-commerce store relies heavily on good data. It’s good practice to break this into two parts: reporting and the event-driven strategy. For the event-driven strategy, you should look at publishing the complete click stream and all business events into a serverless event bus such as AWS EventBridge before hooking that up with a third-party product such as Segment. A customer data platform (CDP) like Segment allows other best-of-breed third party marketing products to hook into real-time application events and provide services such as personalised advertising, notifications, and analytics.

Once the data has flowed through EventBridge, it’s piped into a data lake where a product such as Snowflake’s Data Cloud could be utilised to generate real-time custom reports as required. All of this enables you to create highly-responsive marketing which will lead to better return on investment.

Conclusion

In this article, I’ve tried to list some of the considerations I’d take when approaching a rebuild or build of an e-commerce website as a multi-brand retailer. Of course there are lots of different technologies and services available to use, but at Infinity Works we’ve had success using some of the above with tier-one retailers. Adopting serverless solutions where possible to reduce infrastructure costs, and heavily focusing on using data for improved marketing, will ensure a new retail platform will deliver both immediate and long-term results.

author-thumb
Written by Charles Brook