If you are looking to enter the world of eCommerce, there are a stack of platforms out there, but if you’re checking this article out, you’re probably wondering if you should go with Shopify or Drupal 8.
Both of these platforms have a lot of serious backers behind them, both of them have zealots who are completely made up and happy with their solution, and both of them have their discontented followers who are looking from an escape from their current solution. Which is more often than not goes for every platform to varying extents.
In this article we’re going to round up some of the good and not-so-good points about both platforms, that should hopefully help you further round down your final decision.
A history lesson
Firstly, you should know that Drupal has been around a lot longer than Shopify. It was created in 2000 by a student aiming to keep his friends connected. Eventually, this little system grew until it was released as open source. Over time it was picked up by the community and, the more it grew, eventually backed by industry-leading companies and institutions.
The original founder of Drupal, Dries Buytaert, currently sits on the board of an organization called Acquia, which, along with hosting and development, is a key role in the direction of Drupal’s future. Because of it being open sourced and it’s long history, there are innumerable developers, digital agencies and professionals across the globe with knowledge in the platform, along with this comes a huge library of modules and components that can be used, mostly, for free.
Shopify was similarly created in 2004 again as a solution to a problem, to create an online store, it was then released as a closed source platform in 2006, with a customizable API, and has grown significantly in a similar way to Drupal.
What’s in the box
The first thing to remember is the origins of both platforms. Drupal started as a way of communicating, sharing and posting content. Shopify began as an eCommerce platform, designed for listing and selling products. Because of these two origins, both have understandably grown in these directions.
With Drupal, what you are getting in a nutshell is a platform that out of the box, is designed for creating, categorizing and managing content of various kinds, with an emphasis on giving the user ways to filter and display that content in different ways, and with a very intricate administration panel and user roles built in.
Its power lies in the completely open nature of its code and the massive amounts of open source modules for complete site customization. Things like meta tags, SEO, pretty paths, advanced searching, google analytics, integrations, and e-commerce, aren’t included, the site would need to be extended with modules for this.
There are no assumptions with Drupal, you are expected to have a developer or shop handle your detailed requirements, who would then go about implementing those accordingly with custom and community modules, as well as theming considerations. There are only a few base themes with Drupal 8. All assumptions are that you will have your own theme created and tailored to suit your requirements, and whether or not you received a mobile ready theme would solely depend on the deal you make with the developer or agency you’re working with.
With Shopify, what you are getting, in a nutshell, is an online storefront for hosting and selling products. The is the assumption that you are looking to create a store first and foremost, with payment processing, possibly doing in-person sales, so they give you a POS, and with little emphasis on the content creation side of things.
There is a selection of themes to choose from, each guaranteeing you a mobile version of your site. For most everyday users there are three subscription levels granting varying levels of functionality. As always, the more functionality you want, the more you have to pay. When it comes to enterprise businesses, there are custom solutions that can be tailored with the subscription of Shopify Plus.
With the subscription fee, you’re getting access to the platform, the hosting and the support. For an everyday user just wanting to sell some stuff, that’s pretty darn good provided they don’t have too many special requirements and just want to showcase their stuff and sell a few items. There is also a POS there, which can cut the costs of needing to purchase an alternate POS, keeping inventory in sync rather than having to keep the POS inventory and online inventory separate.
As far as getting in a really customizing the site, there is an API and Shopify app store where apps can be bought to extend the site. As Shopify isn’t open source, however, plugins are going to set you back with additional subscription fees or one time costs, and the extent to which you can customize the platform will be limited compared to Drupal 8, which will let you rip it’s heart out and bend it to your every will.
Community Driven vs Closed Source
Let’s look at the differences between open sourced community driven Drupal 8 and closed source paid service Shopify.
Drupal was founded as an open sourced project, what that means is the developers aren’t paid, they come from far and wide and made additions to the code base. Anyone can download that code, anyone can modify it and commit their changes back into the community for approval. This also means that, should anyone encounter an issue they need to create a programmatic solution for, they would be able to give that back to the community for free, for others to use. This is quite a big deal, because of Drupal’s long history, you could find all sorts of solutions to problems for free by bolting modules onto your site. If you wanted a Marketo, Google Tag Manager, Amazon Web Services or any other kind of integration out there, chances are you’d be able to find it for free on the drupal.org website.
Being open sourced, lots of non-profit organizations and governments have weighed in and also made contributions to the site. In some cases, the organizations use the contributions themselves. Educational institutions, businesses, non-profits, governments, studios, agencies and all manner of organizations have used Drupal effectively, and this should elevate the potential of the platform.
That being said, as the platform is open source, you’ll find that the developers often aren’t being paid or are only being paid on a competitive salary. The work is done by companies who have an intellectual investment in the platform, willingness to commit back, or by programmers who are looking to establish a name for themselves, or who have a passion for the platform. This means that some community modules can fall off of the radar as the developers who built them are no longer with the original agency, or by people who no longer have the time, or want to commit the time. Meaning that it falls on other community members to provide solutions to problems encountered with them.
Being open sourced, the direction of the platform may either move towards or away from specific organizations using the platform, meaning that large changes could happen in the next release of Drupal. This might not always align with the needs of specific individuals.
Shopify, on the other hand, was founded as a closed source project, with the prime intent of being an eCommerce solution, the money going into the company was and still is, put into its developers who work on specific functionality, with a specific purpose. Any large updates or releases are automatically deployed into sites, meaning that the user base isn’t going to be faced with a specific upgrade path. For additional functionality, however, you’ll have to go through the Shopify app store. You can find free apps there, but a lot of the time apps are not free, sometimes as a one-off cost, sometimes as a subscription.
In comparison, the benefit of the open sourced Drupal is you could download a module, realize that it’s missing something, then modify that functionality yourself, or with the use of a developer and commit a patch back. Alternatively, if a project was left by the wayside or not upgraded, you could even fork it, make it your own and then commit it back. With Shopify, you would have to contact the developers and make a suggestion, in some instances, you might have to pay some fee for the suggestion to become reality.
In terms of the code, with Drupal you have full access to the core code in its entirety, you could effectively make your own distribution out of it if you wanted, make your own platform and just migrate the community changes back in as you saw fit. The sky's the limit. With Shopify, you’ll have to make do with their API to make changes to the site and to add new additions. This might not be an issue at all to some or even most users on Shopify, however the control you will have over the platform will be limited compared to Drupal 8, which lets you do whatever you want to it, which is how Drupal 8 has profile distributions for eCommerce sites, universities, newsrooms, non-profit organizations to name a few.
This really leads us onto the most important part of this article.
Content First Or Commerce First
Drupal 8 by nature isn’t commerce first, it is content first, this means Drupal assumes that you will be creating content. There are no assumptions made when it comes to what you’re going to do with the site. You may well be a research site that releases research papers, allows interaction, paid subscriptions to content, contributions to it, there may be a requirement for some serious search capabilities and the site may need hosting on a seriously powerful infrastructure to cater for the large volume of people accessing its resources.
Drupal 8 is a toolkit, it won’t box you into commerce, you don’t even need to use it if you don’t need, but if you do need it, there are options. Two of the leading commerce platforms for Drupal 8 are Ubercart and Drupal Commerce. Both have a rich history, have many community modules to extend it and are being used in some top commerce sites. Need advanced reporting? It can be added. Need supplier management? It can be added. Need shipping, payment gateways, POS? It’s there and can be added, but Drupal 8 isn’t going to have it there by default.
By being content first, and being able to create content types of anything you choose, the site can easily do whatever you want to throw at it. It could be a simple blog, it could be a law firm with a team listing, blog, services section, newsroom and give notifications. Maybe the site is an online repository of open-sourced audiobooks, with some paid versions, subscriptions, blog, team section, advanced page flows and relies heavily on forms.
Shopify by nature is commerce first, that meant that Shopify assumes that you will be selling things. That means when you open it up, if your aims aren’t to sell products, you’re going to be missing out on the point of Shopify. It’s not there for you to manage student faculties, document submissions, staff content curation and research articles, it’s there for you to list products and get them shipped.
If your sole intent really is to just create an e-commerce store, Shopify is a really awesome candidate. That’s not to say you can’t push it in other directions, it’s just that if you did try to push it in other directions, you’d be missing the point of Shopify.
Let’s discuss what I mean by the point of Shopify.
The bit about commerce
Shopify is an all-inclusive system. When you sign up for that initial subscription or go through with Shopify Plus for enterprises with their custom solutions, you’re getting a lot of stuff pre-determined for you.
Depending on your subscription tier, you’re getting your site and database hosting fees bundled into that subscription, you’re also getting your support bundled, you’re getting SSL, reports, shipping rate calculation, a customizable theme with mobile mode included, your credit card payment rates are decided for you, a point of sale, gift cards, abandoned cart.
Right out of the box everything is there and Shopify has your back, you’re not going to get that with Drupal 8 unless you leverage an installation profile like Commerce KickStart, but then you’ll need to figure out styling, hosting, ongoing support and special customization considerations. Now, this may seem like a bit of a dig against Drupal, but both really have the potential to handle what you want to do with it.
The difference is, just like with Wordpress you could purchase a subscription, select a theme, customize it and get to writing your blog posts, you could do the same with Shopify with regards to selling your products, you can get on there with minimal to no development experience, set up a shop, pick a theme, upload products and get selling. If you wanted something more advanced and custom, you could go through their Plus package and get a more intimate experience with the people over at Shopify.
But if you’re ruling Drupal out, it’s worth noting that currently Ubercart for Drupal has over 30,000 active installations and Drupal commerce has over 60,000 active installations. That’s a lot of businesses using Drupal for e-commerce.
A note on Shopify Plus
Where Shopify shines on its enterprise Plus platform is its specific tool allowing for multi-channel listing. That means if you want to list all of your products on multiple different vendors for maximum reach, you can configure and manage all of that in Shopify. If you want to do that in Drupal 8 you’re going to need to find a module to do it, build one, or utilize a feed subscription service.
Another awesome feature of Shopify Plus is their Flow toolkit, which lets site owners use a set of simplified tools to decide how to automate certain things and to take certain actions when things happen on the site. Want a certain action to be taken place when an order comes in? You could use Flow to decide what. This kind of thing would take some custom work on Drupal 8.
What would be the best recommendation?
Let’s double back to the hosting and development part real quick.
With Shopify, everything is all in. Anyone could technically set up a shop and get selling. It’s closed source, everything is hosted for you and you can buy apps to bolt onto it if you need to. You can scale it up by increasing your subscription and eventually moving up to their Plus package if you turn out to be a rockstar business.
The thing with Shopify is it’s a closed environment. You can’t just say, I’m fed up with the last couple of support people I’ve dealt with over at Shopify and pack up and move to another developer or webshop and have them do that. The code is closed source and owned by Shopify, likewise, the apps also belong to the people who write them. Whatever the team at Shopify decide to do, or what direction they take will be implemented on all stores.
If there’s a massive feature you want to add into Shopify, you can’t just build it yourself like you could on Drupal 8 and submit it to the core.
Now, this isn’t a necessarily a bad thing. Knowing that the people who made Shopify are hosting and taking care of your stuff can be pretty comforting, just in the way that some companies choose to host their Drupal site over at Acquia feel, as the creator of Drupal is on the companies leadership team. The difference in this instance is the people who for some reason may grow tired of Acquia have the choice to pack up and leave and pass their code and site onto another team they love working with and have it hosted elsewhere.
So my recommendation would be this.
Is your prime focus on the product you want to sell with a low priority on content? Are you looking for something with a lot of things inside of the box geared towards sales and marketing and would you prefer not to have to worry about too much custom development in other areas? If you’re happy with certain things being decided for you like credit card rates and are comfortable paying additional subscription fees for apps or plugins, then Shopify may well be the way to go. Being able to get your shop up and rolling in a pinch and use a complementary POS for use in a shop is a really great addition also. Their premium Plus program has some compelling features and Shopify boast a much quicker implementation and release date than other shops.
All that being said, if you have a larger content focus and are looking more for an all-encompassing web application/site than simply e-commerce, Drupal could be the better option. The reason is this: Drupal is more of a toolkit, Universities manage entire departments and faculties, including assignment submissions, questionnaires, tests and examinations. Drupal’s emphasis on content first means that it’s going to be able to grow in the direction you may eventually decide to push it. Perhaps now maybe you’re just selling books, but what about down the road if you decide to start publishing books, what sort of functionality might you want to have?
If you want more hosting options, more detailed and more intricate customization, custom content publishing workflows, advanced user role management with integration with things like LDAP, the decision of who to work with and want to grow in directions way beyond commerce I would recommend Drupal 8. If you want the all-encompassing sales solution where you can worry about your product and business, getting reports and insights with a pure commerce and marketing focus, then I would recommend Shopify in a pinch!