Let's go shopping...
When it comes to selling products online there are a few important considerations and decisions to make that will determine the best solution to meet your needs. Whilst everyone wants a smooth user experience, including a quality mobile checkout, we know that for most of our small, non-profit clients, the likelihood of selling via voice-activated AI, or investing thousands in Google's AdWords for an even higher return on investment (ROI), is not really on the horizon.
You can read about these wider trends in the world of commercial sales on sites such as https://www.top10-websitehosting.co.uk/9-ecommerce-trends-in-2018 and http://10ecommercetrends.com. These industry-watchers provide interesting insights as to where mass capitalism is heading in terms of getting you to spend you hard-earned cash, but here are a few of the more realistic, even prosaic, considerations that we find help to narrow the focus of identifying a specific solution for our, predominantly non-profit clients:
- Does your shop need to integrate with or be a direct part of your website
- Do you need your sales data to be passed to any customer relationship management software (eg CiviCRM, SalesForce or Upi)?
- Do you want to sell digital products such as music files, articles or ebooks?
- Do you want to sell subscription products, or anything else that calls for "recurrence" functionality?
- How do you want your customers to pay for your products or services?
- Will you ship your products internationally or need any complex shipping rules?
At Netuxo we have experience of developing and extending a range of "shop" solutions, from very simple Paypal integrations to fairly complex Drupal Commerce sites selling digital files and annual subscriptions.
Here's a quick overview of some of the ways we have created shops for our clients and why. Note that these are all free and open-source solutions. A brief comment on the primary paid-for offerings is included at the end of this article.
Simplest (cross platform)
If your needs are relatively simple, for example a few products with simple shipping calculations and no need for recurrence, then you could go down the custom Paypal button route. However, this is definitely not a good solution if you have more complex needs.
This method enables you to create payment buttons dynamically based on other values - so, for example, you can draw prices from a price field, likewise for an SKU and product description. Developer documentation is available here: https://developer.paypal.com/docs/classic/button-manager/integration-guide
You can see a working implementation of this approach at https://shop.wri-irg.org . This is a Drupal 8-based website and buttons are generated dynamically to include shipping costs, based on field values of the product node. These include four shipping zone values, each with a second value for use when more than one product of the same type is added (ie shipping costs may be reduced for 2 or more of the same item). It also includes the capture of additional custom variables such as a gift shipping address. All custom variables, including the "add to cart" buttons are translatable via Drupal 8's native interface string translation mechanism.
This approach enables the dynamic generation of appropriate payment buttons automatically, every time you add a new product, without needing to add a custom button for each product every time via the Paypal button creation tool. It also means that you can change a shipping value or SKU without having to manually recreate anything, as the values in the button are created from the field values. Changing the field values = changing the payment button values.
If you are either already a Drupal user, or you are looking to integrate a shop and CRM, then Drupal Commerce and its associated modules may well be the best solution. This is especially true if you have more complex needs such as selling digital products or recurring subscriptions, have a lot of shipping rules, or want to provide a range of different payment methods.
Netuxo has developed and extended a number of Commerce-based Drupal websites over the years, including Lawrence and Wishart's book, article and journal shop, that sells both physical and digital products and annual journal subscriptions. This site has some very bespoke features and has required us to patch and extend some of the Commerce contributed modules (for example https://www.drupal.org/project/commerce_cardonfile/issues/2000420#comment-11786270).
We are also working with Commerce at http://wholesale.e5bakehouse.com (recurring bread orders) and http://booking.e5bakehouse.com (sales of classes and associated gift certificates) and at http://www.pastpixels.co.uk (sales of physical products).
The upside of using Drupal at the core of shop development is that there are no limits to how functionality can be extended to suit your needs. This has enabled us to develop bespoke features such as an automated email reminder system for recurring subscriptions which tells the subscriber that the coming year's subscription fee will automatically be taken from their "card on file" in 30 days time.
With Netuxo's help we have been able to implement a number of new features on our website which have had a direct positive impact on our sales revenue.
More recently we have developed a custom module (and heavily patched an existing one: https://www.drupal.org/project/qbo_api/issues/2936266) to enable communication between Drupal websites and Quickbooks Online to automatically raise invoices.
If you are familiar with Wordpress, or are looking to integrate a shop solution into an existing Wordpress site then the standard solution is the long-established WooCommerce plugin that can enable less advanced users to create a shop within an existing Wordpress installation.
Advantages include the free and open source nature of the plugin and the fact it integrates. However, its credibility has taken a knock at times after security vulnerabilities and it is not considered by some to be sufficiently scalable for enterprises that wish to grow in any significant way. In reality, for the scale and scope of most of our non-profit clients, this is less of a consideration. However, opinions differ and it remains a trusted solution for millions. See this blog f(for example) for more detailed information and opinions.
A hosted version is also available via wordpress.com.
For a standalone shop you could do a lot worse than choose Magento (Open Source edition, formerly known as the Community edition): https://magento.com/products/open-source . This is a dedicated sales platform and includes all the things you would expect from one. It also has an active developer community, with lots of documentation and both free and paid-for apps are made available via the "Magento Marketplace" to extend the core functionality and to provide themes and integration with external services such as Mailchimp.
Perfect if you want a site that is primarily a shop and do not have an existing website already to integrate with.
Hosted eCommerce solutions...
And finally... if none of the above suit your needs - and if selling physical products is the #1 motivation for having a website - you may want to consider going straight for a hosted commercial eCommerce solution. Some of the biggest players at the time of writing are Shopify, BigCommerce and Wix
Shopify has been around since 2004 and has a well established feature set that will cover most essential needs and can be extended, though it uses its own programming language. At the time of writing the monthly subscription fees for BigCommerce, Shopify and start at USD$29, with Wix coming in the cheapest at around USD$16 for its offering.
For a more detailed look at hosted eCommerce solutions, check out TechRadar's April 2018 overview.
There is a good range of shop solutions available and, based on your specific needs, you should be able to identify the one that suits both your requirements and your budget. Talk to us today if you want to explore shop development further.