A former client contacted me this week because they were thinking about switching platforms for their ecommerce store. The site had originally been built on WooCommerce but they were now considering a switch to Shopify. The main issue is they didn’t want to have to rely on a developer for site updates and wanted a solution they could more easily manage themselves.
To answer their questions, I signed up for a Shopify account and then went through the technical and business requirements one by one. If you’re trying to decide between Shopify and WooCommerce, hopefully some of these notes are useful.
About the Business
The client’s business was 100% online sales of physical goods. In 2015 they had $2M in sales, with nearly 28k total orders fulfilled with 66k individual products. For 2016 they had projected $10M in sales, but got hit serious production issues which led to a loss of funding. With vastly decreased sales and now very limited budget for development and hosting, they were curious if Shopify could be a better solution.
Some of the most important items for their business:
- Site Reliability
- Ease of Use (for non-developer)
- Calculating Shipping Rates
- Cost and Fees
- Data Migration
Quality hosting is really important for anyone doing ecommerce. The site needs to stay up even if there’s unexpected spikes in traffic. Big shops need to handle multiple concurrent users all checking out at the same time. For WooCommerce, this means one of the high-quality managed WordPress hosts or someone on the team really comfortable with DevOps and wrangling server infrastructure.
The client I was working with had originally decided to go with WP Engine on an premium plan that cost about $650/mo. The standard $249/mo Business Plan may have worked for them too, but while the business was growing they went with a plan that had priority support and ability to scale up quickly.
Reliability can definitely be an issue with WooCommerce. Most stores run with at least a half dozen WooCommerce specific plugins and likely many other general WordPress plugins. Whenever a major WordPress or plugin update comes out, the entire infrastructure and checkout process needs to be tested before rolling out the update. It’s not safe to assume a plugin (even a premium or commercially supported one) has quality code or works nicely with the other plugins on the system.
With this specific client, we encountered a number of issues while I was still doing development work with them. A plugin we used for automatically applying coupons through URLs didn’t work with WP Engine’s caching. Another one for follow up e-mails altered the timezone for the orders API endpoint which led to huge issues with a ShipStation integration. Some of these issues were quick to diagnose; others took hours.
In terms of site reliability, I believe Shopify has the upper hand. A hosted platform can ensure the software works great on the server infrastructure and is able to scale. Themes sold on their platform are reviewed to checked to make sure they work and are well-coded. Extensions also follow strict requirements. With a known set of software, server environment and extensions, the Shopify support team can also more easily diagnose issues and bugs.
The client I was working with had outsourced product fulfillment to a local warehouse and shipping partner. A ShipStation integration was used for sending order information and syncing back the shipping status to WooCommrece. This worked well overall. Shopify also has a ShipStation integration with the same functionality.
For this, Shopify and WooCommerce seem to be on equal footing. The client is considering a switch to Ship Hero because that’s what their fulfillment partner prefers, but both platforms also offer integrations for this.
Calculating tax and shipping rates can be difficult for any business.
The client I worked with had an affiliate program with people all over the country, meaning there was a tax nexus in most states and it made sense just to charge sales tax everywhere. They used a WooCommerce extension called TaxJar that worked fairly well and automated most of this process. The cost of TaxJar is $49/mo.
The Shopify solution for taxes is even more straightforward. If you’re selling in the United States, tax rates can be pulled in automatically. You can set where your business has tax nexus and it will automatically charge taxes for those regions. The Shopify rates aren’t guaranteed to be correct, but you can also use the TaxJar extension or Alvara if you want a service that does offer more guarantees and can automate filings.
Shipping Rate Calculations
Shipping rate calculations often need to be generated on the fly and depend on the weight and size of products and where they are being shipped to. For WooCommerce, the client used an extension called “WooCommerce FedEx Shipping” to pull in dynamic rates as well “WooCommerce Table Rate Shipping” with more manual settings. However, a newer plugin called WooCommerce Connect by Automattic (the company behind WooCommerce) might make more sense for this now.
Shopify pulls in dynamic shipping rates for a number of providers if you’re on the an advanced plan, which starts at $299/mo. If you’re on a lower plan, you can manually set table rates.
Marketing is a huge part of any business that hopes to be successful online. The client had five main tiers to their marketing strategy:
- Affiliate sales
- Facebook ads
- Content marketing (blog)
- Friend referrals
- Email newsletters
Also, promotions would be run a few times a year, which relied on coupon at checkout. Here’s a comparison between WooCommerce and Shopify for these items:
For affiliate sales with WooCommerce, the client used a plugin called Affiliate WP ($49/yr). It was super easy to set up new affiliates, and they got their own account to log into the site and view sales numbers. Payouts could also be automated, but this was actually reviewed manually each month and then sent out by an accountant.
Shopify has a number of extensions you could use for affiliate programs. Programs like LeadDyno can be really expensive, but it looks like they also have other options that are offered as low as $9.99/mo.
If you’re running Facebook ads, it’s important to track conversions using a Facebook code snippet. On the WooCommerce site, we just added this manually (though their are easily plugins for non-developers). On Shopify, it looks like inserting the script is also quite easy.
Both WordPress and Shopify have solid blog functionality.
With WooCommerce we didn’t find a good option that handled everything we needed, so I built a custom integration myself for FriendBuy. Their service was about $1k a month (on top of my time developing the custom plugin).
I just looked and Shopify has a FriendBuy extension that costs $99/mo, so perhaps prices have come down since. It looks like there’s a few other extensions that also offer this functionality.
Most of the e-mail newsletters happened with MailChimp. Instead of trying to use a plugin like “Follow Up Emails”, I’d probably rely on the MailChimp automation features.
WooCommerce has a number of extension that help you connect with the MailChimp API.
MailChimp has their own extension for Shopify that ties into all the features you’d need.
Both platforms seemed to have solid coupon solutions.
It appears that WooCommerce and Shopify have good parity on marketing solutions. The MailChimp integration seems a little more robust than what I’ve seen on the WooCommerce side, and the Affiliate WP seemed like a stronger solution that what I saw on the Shopify side- but without testing them out thoroughly it looks like either platform would work fine.
The aspect of WooCommerce that I like the most is that it is completely open-source. With a good WordPress developer its possible to extend it do almost anything. On the client’s site we had a number of features that were developed in-house, from a custom theme to a custom integration with the Facebook Audience API.
I didn’t attempt any customizations of a Shopify theme, but from the range of sites I’ve seen out there is looks possible to build almost any type of custom design. For custom integrations, like what might be needed with a Facebook Audience connection, it looks like another server would be needed (such as a cheap droplet on Digital Ocean) and the integration could be built there in whatever language you prefer. The integration could pull data from your store (via the Shopify API) and then send post it to the Facebook API (for that specific example).
In terms of extensibility, WooCommerce seems ahead simply because you have full access to the code and can build any integrations you need directly on the same server.
The WooCommerce plugin is free and there’s no guaranteed support. Individual extensions you purchase might have support and good host try to provide debug and server support, but there isn’t a single service you can rely on to support the whole system.
Shopify does provide 24/7 hour support through e-mail, live chat and phone. Individual developers and companies may support their extensions separately, and there isn’t support for custom integrations.
Cost and Fees
Credit card processing is essential for an online business. One of the biggest differences I noted was the pricing structure for Stripe. Pricing starts at 2.9% + 30 cents for each transaction with Shopify Basic and the WooCommerce extension. For my former client, that would have worked out to $66,400 in transaction fees in 2015. However, with the Advanced Shopify plan ($299/mo) fees are just 2.4% + .30 cents. At that rate structure, my client’s fees would have been $56,400, or $10,000 cheaper! I’m not sure how many WooCommerce companies negotiate an enterprise rate with Stripe, but that’s definitely a lot of money to leave on the table.
WooCommerce itself is free, but you need to host your site somewhere and get an SSL certificate. You’d probably start around $99/mo with Pagely or WP Engine, but once the site traffic starts to grow you’ll be paying significantly more (remember, this client was at $650/mo at their peak). In contrast, the highest tier Shopify plan is $299.
The extension costs, external service fees, and theme will be a much smaller cost of business, and they seemed largely comparable across the two platforms.
I suspect development costs will also be largely consistent ($120/hr for a highly qualified freelancer) with WooCommerce and Shopify, however because Shopify is a hosted platform my guess is that a store owner may won’t need to contract as much time to ensure platform updates go smoothly and integrations are working correctly.
I can’t really speak to this since I haven’t actually done a migration between the two platforms, but it looks like there’s a few plugins on the WooCommerce side that enable self-serve migrations. Many of these companies also offer it as a service too: Cart2Cart, OmniWP, and LitExtension.
With the amount of customer records and order records the client had, it looks like a migration service would cost about $1k.
Even as a WordPress developer, I find the Shopify platform incredibly compelling for a purely ecommerce site. It solves a lot of the difficult issues like taxes and shipping rates out of the box. The additional features (especially on the Advanced plan), like lower credit card transaction fees, support, fraud analysis, free SSL certificate, and abandoned cart recovery are all items WooCommerce can’t or doesn’t offer. There’s also some really nicely designed themes in their marketplace.
WooCommerce obviously benefits from its relationship to WordPress. The ecosystem is huge, there’s a plugin for almost everything, and there’s a large base of developers familiar with the platform. Some of the common issues, like the ones I mentioned with shipping rates and taxes, are already starting to be solved with WooCommerce Connect. For companies that already have a WordPress site, adding WooCommerce to sell products makes a lot of sense. For companies that have complex website needs and developers on board, the extensibility of WooCommerce also can’t be beat.
In terms of what is best for my former client, I am mixed. Their main goals in making the switch is cost savings and ease of use (so a developer is not required to help them maintain the site). On both those counts, I believe Shopify would be the better solution for them.
However, I am concerned about the cost and time involved with migration, as well as potential SEO impacts. Although it appears most of the data could be migrated (posts, media, customers and orders), it would require development time or outsourced service fees. Some data likely can’t be migrated in an automated fashion, like affiliate accounts, SEO meta data, and perhaps also items like customer reviews and comments.
In addition, the client has a highly custom designed and developed theme. Their home page is complex, with custom elements that won’t be present in any stock theme. Several of the other primary pages on the site (about, product details, contact) also have very custom elements. If they choose a stock theme and don’t want to spend additional budget to customize it at least a little bit, the site loses a lot of the interesting visual appeal and branding. If the site design wasn’t as great, going with a Shopify stock theme would likely be a great choice, but for this particular former client it would be a bit of a loss.
A bit more minor, but all the services would also need to be re-integrated. MailChimp would need to be hooked up, ShipStation re-enabled, tax and shipping rates verified, etc. Hopefully the client would be able to manage all this themselves, but it would take some time to get it all updated correctly.
Finally, there is the concern of SEO. The client would need to audit closely to make sure all the URLs stay the same, the content of pages is largely consistent, and SEO meta data gets migrated correctly.
For all these reasons, I’m not sure the potential benefits of switching platforms would outweigh the costs (and potential costs) of data migration.
But I’d love some other opinions on this, especially from people who have migrated between the two platforms and have more experience with Shopify customizations and development.
If you were starting a ecommerce site from scratch today, what would you use?
Update: There have been a lot of great comments via Twitter. Here’s some of the conversation: