TechnicalReplatforming ManagementPlatform SelectionProject DeliveryRequirements GatheringRFP Management
Liam joined Vervaunt as a Solution Architect in March 2020, bringing with him a wealth of Shopify Plus and general technical knowledge and experience. Liam has been working in eCommerce for over 8 years and previously managed the development team at a leading Shopify Plus partner agency. Liam is focused on architecting technical solutions and also has a background of being a full-stack developer.
Over the last few years, the number of online marketplaces has increased considerably, due to various market changes and a number of high profile success stories. We’ve worked with a number of marketplaces over the years and, although it’s a great business model when done well, it’s a very complex area of eCommerce.
The technology of running a marketplace is also a huge discussion point - with lots of platforms offering some level of solution (be it native or alongside third parties), but very few are really nailing the native feature-set required (in part due to the usual need for customisation etc).
Magento has been a go-to historically, with merchants choosing to either customise core parts of the platform or use a third party (such as Unirgy’s solution). The market leader overall is arguably Mirakl (which manages the core aspects of running a marketplace), and this would work alongside an eCommerce platform (commonly paired with Magento or SAP CX, for example), but it’s costly and a big part does depend on the flexibility of the platform.
This said, one of the biggest questions we get asked when we’re talking to marketplace businesses is, “can we build on top of Shopify / Shopify Plus?” This is natural as Shopify’s eco-system is very appealing and the TCO and general simplicity of the platform also has some big pros. However, the rigid, locked-down nature of a B2C / brand-focused SaaS platform does result in a lot of compromise that needs to be considered.
So, with these points in mind, we decided to put together a piece on how Shopify can fit into this and where the pros and cons are.
Marketplace has long been a topic of discussion around Shopify. This is set to continue with Shopify’s Shop App likely to be positioned as a global marketplace of independent Shopify stores to rival the likes of Amazon (one day). There are also lots of rumours around how this offering will eventually be rolled out as a marketplace platform offering - all of this following their acquisition of Handshake in 2019.
But beyond that, we’ve had several discussions around using Shopify as the platform for multi-brand marketplaces in two different ways:
Successful brands with well established Shopify stores, looking to introduce functionality to position and sell a range of other brands alongside (or secondary to) their own.
New project concepts to create a single multibrand store, as a marketplace in a niche vertical (e.g. vintage handbags or luxury watches).
The difference between the two types of projects do come with some different complexities and considerations, but I've documented some of the key approaches when deciding if Shopify is the right platform for a project, and how a solution could be architected.
Firstly, let’s map out what some of the most common marketplace requirements are for a marketplace business, in either of the above forms. We’ve focused on the core / major areas and have left out other aspects around things like reporting, updating of data, management of the catalog, merchandising, search etc.
Administration and management of ‘sellers’ - various levels of management of a ‘seller’ and how they’re positioned on-site and any other associated nuances for processes (e.g. batching of orders or different order management flows).
Ability for ‘sellers’ to send updates to catalog data, assets etc. This would usually be handled via a feed or CSV files and ideally a lot of this would be managed outside of Shopify, and product data would then be updated in a unified manner. More on this later on.
Flexibility around order management. This could be anything from a need to communicate the shipment timing of items from multiple sellers to different shipping options (such as click-and-collect, concierge delivery etc). Often this needs to allow for dropshipping situations where items will be despatched from multiple locations and delivered separately.
Sellers should have the ability to view and manage orders in real time. This could well be managed via a feed or integration into a third party, but it’s a requirement that needs to be considered nonetheless.
Regular inventory / availability updates from the ‘Seller’, be it via a real-time feed, manual updates or imports.
Returns process that allows for assignment to ‘sellers’ - providing the ‘Seller’ with a unique reference to receipt and a return reason - and the ability for them to validate or reject the return. This would be processed seamlessly and show in the customer's account as expected.
Reporting around sales, returns, availability, discounts etc by seller - more robust reporting would be required around things like commissions, profit margin etc - however this would usually be managed externally.
Ability to create complex conditional discounts / promotions that apply to specific sellers only.
Some marketplaces will want to have flexibility around the merchant of record when taking the order.
With those requirements in mind, some of the main areas of risk or areas in need of consideration include:
A large proportion of the requirements would likely be happening outside of Shopify but then making changes via APIs. Core seller functionality would happen outside of Shopify (e.g. seller management, product management, order management etc) simply because of Shopify’s limited account permissions. A major risk to factor in before considering any further detail around requirements is the Shopify API rate limits. At scale, this level of API usage for product and order data moving in and out of Shopify will eventually hit a hard-blocker in the 4 requests per second rate limit. Queuing and a considered architecture should be factored in from the off.
A number of requirements are technically possible, but it will make things messy for Admins (e.g. multiple dependencies and uses of scripts) and potentially risk degrading the shopping experience. While individually there may be straightforward solutions to each, a number of these requirements in combination could quickly cause spaghetti code and legacy data filling the store.
Tax is not the most flexible area of functionality within Shopify. There is the ability to include and exclude on a per product basis whether tax will be added onto the cost at Checkout, but otherwise tax logic (rules per region and displaying breakdown at Checkout) applies sitewide. We can introduce 3rd party tech to handle tax more dynamically but this could potentially be expensive. Any workarounds with tax will likely impact reporting also.
Shopify also doesn’t natively offer enough flexibility for shipping to meet marketplace requirements. Sellers could select per product which predefined shipping rules should apply to them, but it would begin to add major complexity to allow Sellers to create their own shipping rules to be pushed into the store. It would add processes when removing Sellers, to identify and remove related shipping rules - and potential conflicts when multiple marketplace items are on a single order. Messaging and clarity to customers through the buying journey may also suffer. There are Apps that could be utilised to allow more dynamic options though if necessary.
Returns is another area of potential risk based on requirements. Again, a 3rd party returns portal could be introduced - which in its most basic form could handle the Marketplace products as per any other product, but an Admin would manually reconcile anything with the Sellers upon a return. Introduction of a validation layer per Seller, plus comms to Admin and Customer, with automated reconciliation into different accounts would be a major piece of development work and again add major complexity.
Messaging and notifications between Admin and Sellers is the other broader requirement discussed which could completely transform the whole shape of a project if it’s a must have. Platforms that might be integrated for Sellers to manage their products and orders won’t have messaging to this level out of the box, and more of an issue is that Shopify won’t have the functionality to trigger messages being sent at some of the necessary points.
This one is likely a significant amount of development work to get some form of messaging built between platforms, especially factoring in Customer to Seller messaging. If that isn’t key, something more stripped back like email flows or Slack notification integrations would simplify.
Other areas that need deeper consideration include international architecture, handling promotions or customer experiences around mixed carts. This will all have an impact on your requirements.
This first option would be to implement a stripped back solution, where the effort is essentially absorbed by the admin team. This would work something like an approach taken by one of our clients; The Frankie Shop.
Sellers would send across their product details via CSV, which would all be inputted and merchandised onto the Shopify store by Admin. Any ongoing updates would be sent through separately, or via some agreed process - and the product would behave like any other product on the store - any commercial aspects would then be handled manually and separately.
Any product recommendations or upsells requested by Sellers could be added in this way, but overall the idea would be for Sellers to adhere to the store setup for things like Shipping, Tax, Promotions etc. This would be the quickest and simplest way to start selling other brand products on-site and could be fully searched, filtered and merchandised, but compromises on a large amount of the requirements beside that core functionality.
Shortest lead time to get products selling in the store.
Little time and effort to prove the concept.
Can start with the ideal configuration from the Shopify point of view, and build out product and order management for Sellers from there.
All the effort is on store Admin, Sellers just provide data.
Lots of manual work
MVP and minimal flexibility for all parties
Harder to scale as more sellers, channels or on-site complexities introduced
There are a few native Shopify Apps that can be considered, that provide full marketplace functionality. Multi Vendor Marketplace is potentially the most complete option, although Marketplace In A Box and Jetti may also be worth keeping in mind.
Multi Vendor Marketplace is an integration from a Shopify store to an interface outside of Shopify for Sellers to manage their products and orders, similar to how the custom solution would be architected (but more generic to suit the needs of a wider audience). This is a quick and easy option but with limited flexibility or reliability at such scale. The downside to this, over just doing it manually, is that the fundamentals in tagging rules and logic are already dictated for us, which could be a limitation when trying to scale.
Short lead time to be selling marketplace products onsite.
Some form of product management for the Sellers, reducing the admin effort on store admin vs the manual approach. Retailers can track orders, apply to sell, and see commission on orders.
Restricted and inflexible. The frontend appearance and interface to Sellers is restricted to the appearance and setup. It is not a high-end experience for Sellers to login and use.
Risk in terms of reliability and scale, these apps have good reviews but have not been used on stores at large scale and it'd be unknown how reliable it would be.
International limitations again, and you would need separate app instances per store instance.
The natural evolution of a completely manual setup would be the introduction of a range of 3rd party technologies to best perform individual jobs. A major one would be introducing a PIM system such as Akeneo or Pimberly as an interface for Sellers to log into, and perform their required product management without such reliance on Store Admin.
The platform would allow for products to be created, updated and deleted by the Sellers themselves. Stock levels could be added to or edited by Sellers here. There is also the potential of using a connector to link up to a Seller’s ERP system, and keep stock levels automatically updated from their master. Further to this, a platform like Linnworks could handle the above plus allowing order management to be handled by the Sellers, and potentially for validating return requests in combination with a returns platform such as ZigZag, Narvar and Loop.
Key decisions would be how best shipping and tax rules can be handled and if that should be integrated into the Seller’s interface here - whether they would have the flexibility to create their own desired rules (which could create complexity and issues within Shopify) or whether they select from predefined options.
Shipstation or ShipperHQ could be considered for dynamic shipping logic, and Zonos could be considered for advanced tax logic. Another native Shopify App that could be harnessed to create a more automated architecture is Puppet Vendors which can handle the tracking and payout of commission across multiple vendors being sold on a store.
This means you’re not rebuilding the wheel for being able to manage product data and order data.
Reporting for Sellers would likely be available out of the box.
There may be relevant integrations for linking directly to sellers ERP for automated stock update without too much extra effort.
These technologies are proven to be scalable and reliable for other big brands.
No major maintenance / hosting concern or overhead.
Covers a lot of functionality for Sellers, but still doesn't tick all boxes in important requirements.
Messaging and notifications between Admins and Sellers (and additionally onsite customers) likely still wouldn't exist.
Quite significant costs, on models which would scale up as the success of the marketplace scales.
The most flexible and reliable option is naturally a completely bespoke platform built out around the requirements documentation, with API connections into a Shopify store. Architecture and infrastructure will need to be considered as part of this.
This would be the option to tick off the most requirements, although still not all requirements (as some are limited by Shopify functionality). Functionality like notifications and messaging between Seller and Admin through the platform would likely only be achieved here as it's an uncommon specification for PIM and OMS style systems.
This route would be a significantly higher commitment of time and costs (both upfront and ongoing) likely with only a couple of major areas of functionality more than the other options. This is a major resource that is probably better invested in a Mirakl or Convictional project if the other options don’t suffice.
Meet all requirements that are technically possible with an integration to Shopify, including Seller messaging and notifications.
Interfaces can look and work however desired to most benefit sellers.
Bigger cost and timeline implications to the rest.
Doesn't sit well with the SaaS focus of Shopify or other elements of the tech stack.
Different tech expertise required for upkeep, server maintenance and management.
The final option available for implementing marketplace functionality, would be to rethink how tightly integrated with Shopify it actually needs to be. If there are significant complexities, and the aim is to deliver the marketplace at high scale and/or with a large number of Sellers then handling it all independently of Shopify (or with a light touch of critical data being shared) would be something to strongly consider.
The options given for native Shopify apps are potentially suited for MVPs or newer stores without much traction. The weaknesses are primarily around scalability, flexibility and reliability. In contrast to those, there are more enterprise-level options for the opposite end of the scale. These would sit aside from the Shopify store, and function fully without any dependencies. However, they do have APIs to pull or push any data as required. Strong options to review in these circumstances would be Convictional or Mirakl.
Separation of concerns, especially if the marketplace is aiming to extend an existing Shopify store.
Purpose built platforms proven to scale, and meeting the most requirements.
Likely to be the largest ongoing costs of all options.
Thahab : https://thahab.com/
Thahab has recently become a Vervaunt client, and this cool Middle Eastern brand is a marketplace for small drops of luxury products - from the likes of Acne Studios, Alexander McQueen and Balenciaga etc. They take a more manual approach to communicating with brands to manage stock & orders.
Fawn Shoppe : https://fawnshoppe.com
An American based kids clothing marketplace, selling a large array of brands. Fawn Shoppe harnesses Convictional to power all of their marketplace functionality.
Bombinate : https://bombinate.com/
A wide collection of sustainable & high quality brands, Bombinate is UK focused but serves Internationally. They use Jetti.io in order to achieve this effectively.
Family Tickets : https://www.familytickets.com/
A bit of a curveball but deserving a mention on this list because of the functionality in place. Family Tickets is collating a large range of seated/unseated event tickets from venues across the UK via the custom system route, and mapping into Shopify to appear real-time before passing orders back to the relevant places for fulfilment.
Ultimately, there is no correct approach and it comes down to what is best fit in the context of the project. However, the important part is considering how and where the marketplace is likely to scale and having that in mind from the off.
While I’m very pro getting an MVP running and building upon that - the architectural differences between these approaches are potentially huge. So this shouldn’t be taken lightly, especially with the thought of building on top of an established Shopify store.
As a general rule of thumb, I’d approach these requirements by looking to keep the solution as simple and streamlined as possible. If feasible, this might require a lot of admin effort to complete some processes manually - but once your solution is proven to work and scale then it can go on to be automated, and the right piece of 3rd party tech can be introduced piece by piece.
For more major complexities, and with the API rate limits in mind, it would be well worth putting some resources into an in depth discovery as to whether Shopify is indeed the best fit and the right solution for your requirements.
As always, I would love to hear your thoughts on any of the above - feel free to connect with me on LinkedIn for a chat, or email [email protected]. You can also see more of our ecommerce consultancy work here.