One of the most common types of questions we get about the Shopify for Drupal project is folks trying to understand if it’s a good fit for their project. In this article, we’ll explore that idea in detail and help you determine if it makes sense for you.
The Project’s Purpose
Drupal is great at content management, managing users, and many other things, but e-commerce could be easier on Drupal. The common paths (Drupal Commerce or Ubercart) take a long time to set up and can be difficult to manage long-term. They make sense for some projects but for others, the effort required is hard to justify. Shopify is a fantastic and popular Software-As-A-Service e-commerce tool, but as a CMS (Content Management System) Drupal beats it in every way.
We created the Shopify E-Commerce module to combine the best parts of Drupal with the best of Shopify, but it's important to explore all your options before deciding on this path.
Could You Just Use Shopify’s Buy Buttons?
Buy Buttons are a quick and dirty little trick Shopify came up with to allow you to sell a product or two on any website. If you have an existing website and you’re happy with it, but you want to add Shopify to it to sell a few products, this is a great option. It’s the simplest way to bring Shopify into the mix, but keep in mind, it’s also limited.
Sprinkling a few "Buy Buttons" on your existing site is a copy and paste procedure. It doesn’t scale well, though. If you need to incorporate more than a few products into your site, Buy Buttons get cumbersome fast and they aren't flexible or very customizable. You’ll also have to depend on your current site to present the content to sell the product, so all the images, text and attributes of the product will need to be created on your existing site, in addition to whatever you want to store in Shopify about the product.
Buy Buttons are effectively just an “add to cart” button. The rest is up to you and you can’t use most of Shopify’s toolset for displaying your products. You get the checkout, inventory management, and backend functions of Shopify but very little otherwise.
Could You Just Create a Subdomain for Your Shopify Store?
The next question to ask is if you can get away with keeping your existing site and adding a new subdomain for your new Shopify store. For example, perhaps you have a Wordpress site at my-amazing-site.com and you want to start selling a dozen or more products. Could you set up a subdomain for your Shopify store at store.my-amazing-site.com? This method is fairly common but also comes with limitations.
One of the biggest drawbacks to this method is that you’re creating a splintered experience for your visitor. They’ll visit your website and then click on “Store” and be brought to a different site entirely. Not a big deal if you’re, say, a band and you want to sell a few T-Shirts and memorabilia.
The splintered experience becomes much more challenging, though, if you want to cross-sell on your website and show visitors products when viewing the main website content. Or, if you want to promote content in the store. The store and the website would be completely separate except for a few links pointing to each other. Certainly not a cohesive experience for visitors, but it can work if you don’t have other options.
Could You Just Switch Entirely to Shopify?
If you’re running a small, low traffic site (even a small Drupal site) and want e-commerce, strongly consider switching entirely to Shopify if you want their features. In that case, adding the Shopify Ecommerce module is most likely not for you. You won't get the return on investment that you'd get from completely switching over to Shopify.
Shopify’s Content Management System (CMS) is limited, but it’s enough for many projects to get by on, usually in combination with one or more paid apps from their App Store (more on that in a minute). In Shopify you get a very basic blog, the ability to create arbitrary pages and the bare bones basics of a CMS that you’d expect, in addition to the very robust e-commerce offering. Do you need more than those basics?
Can You Justify Needing Drupal?
Drupal is like a suit. When a suit fits you perfectly, you feel fantastic in it and people can tell. When the suit is ill-fitting, you feel terrible in it and the suit defeats its purpose. When Drupal is used for very small or very simple sites, it's not a great fit. There's just too many features and too much going on. Drupal is a badly fitting suit in that case. We generally recommend Drupal for mid-sized and larger projects or projects requiring custom programming and recommend other platforms for very small sites.
Here are some key considerations for Drupal by itself:
How often will the site be updated? If you're planning on weekly or daily updates, Drupal is a good fit. If your project will be stood up and then rarely updated, it may not be worth the trouble.
Who will manage the content? Will you be employing a content creator or internal marketing person? If the idea of roles and fine-grained permissions to limit access to administrative areas of the site doesn’t interest you, then you may not need Drupal.
Would your team benefit from structured content? Do you need forced consistency in the presentation of your content? Drupal excels at this but would your project benefit from it?
Do you need to integrate the site with internal or external systems? If your site needs to solve problems that are unique to your business, Drupal can be extended to handle it.
What will your visitors and customers need to do on the site? Do your visitors need accounts and the ability to interact with the site as a logged in user? Do they need access to a customer portal or a closed forum? Drupal is great for these types of problems.
Do you have a bunch of content you need to migrate? Do you have a significant amount of legacy content that you need to move from your current site to your new site? Drupal can handle any sort of migration you can throw at it.
Tying It All Together: How Does Shopify + Drupal Work?
We've looked at a bunch of options for adding Shopify to your existing site or switching to an "all Shopify" solution. We've also examined some key points for choosing to use Drupal at all. Now let's take a look at the basics of a Shopify + Drupal project and how the systems come together.
Architecturally, you would have a Drupal site that users interact with. In general, forget about Shopify as your website. Visitors won’t go there. Visitors will see your products in Drupal, along with the rest of your Drupal content and any custom features.
Users and administrators will have accounts and interact with other areas of the Drupal site as they normally would with any Drupal site.
Your Shopify subscription will house all of your product data including pricing, inventory, product images, product description, tags, etc.
Your products and product data are automatically be copied into your Drupal site. You then set up Drupal to display the products any way you'd like, anywhere you'd like on the Drupal site.
You can leverage all the power of Drupal for the presentation of your products. Any fancy theming that you can normally do in Drupal, you can do to your Shopify products in Drupal, including custom programming. You can even add new fields to those products in Drupal, rather than relying on Shopify's single description field. Or better still, you can take advantage of Drupal’s much more robust Metatag module to greatly enhance your search engine presence. What’s more, products can be indexed for searching right in Drupal and sophisticated search systems can be applied, like Apache Solr. You can even cross-link products with other Drupal content. The sky’s the limit.
When a customer starts the checkout process, they're on your Drupal site. They click "add to cart". When they visit their cart, they're taken to Shopify for checkout. All order processing, fulfillment, shipping, inventory and all store-related features are solely in Shopify.
Taking everything we talked about above into account, we can summarize by saying a great fit for the Shopify eCommerce module is mid-sized and larger Drupal projects that demand the power and flexibility of Drupal but are enticed by the features of Shopify's online store capabilities, or any project that requires a robust custom site and is also enticed by Shopify as an e-commerce platform.
What About Shopify Apps? Can I Still Use Them?
Maybe. The answer to this question greatly depends on the app. In general, any app that is for backend administration, such as apps used for shipping or taxes, will work perfectly fine using the Shopify E-commerce Drupal module. Where this gets tricky is apps that make changes to your public facing Shopify store. For example, an app that allows the visitor to customize a product before they add it to their cart isn’t going to work. The reason for this is because you’re not using Shopify for your public facing store, you’re replacing that with Drupal.
Can You Bear the Hosting Costs for Both?
The last consideration I want to leave you with when thinking about a Shopify + Drupal solution that you'll be paying for hosting your Drupal site and also for your Shopify subscription. There are many factors at play when considering these costs but $45 to $200 per month is a reasonable starting point. Pricing goes up on Shopify if you add additional apps, but hosting and bandwidth are included. On the Drupal side, your hosting concerns are more traditional.
Not every project is a perfect fit for Drupal or for Shopify + Drupal. Hopefully, we've helped steer you towards a good fit for your project and your budget.
Where to Go from Here?
If you're on the fence and need additional help choosing a direction for your project, we’ve created a discovery and road-mapping process just for that situation.
Discovery is a small investment and limited engagement that teases out the finer points of your project, documents your needs and goals and matches your budget with an appropriate solution. If you'd like to chat about it, just reach out through our contact form.