WooCommerce version 2.4 is slated for release this week, and it includes several changes designed to simplify set up and usage for new stores, along with making WooCommerce more performant and scalable.
One main goal of WooCommerce 2.4 is to make it easier to launch a new store. To help with this, the new version includes an on-boarding wizard that runs on new WooCommerce sites, and will help the user configure basic settings like shipping rates within a few minutes. This helps the user to understand what the settings influence on the site, and speeds up the WooCommerce set up. It also leads new users into product creation to guide them into the rest of store setup.
Shipping rates have been drastically simplified so that new users can quickly create both domestic and international flat rates. These rates can be on a per-order or per-item basis, and are easy for beginners to configure while still allowing advanced users to adjust rates as needed.
Aside from on-boarding, WooCommerce 2.4 aims to improve integrations, performance, and scalability. The REST API learned some new tricks, such as the ability to generate multiple API keys for a user instead of limiting users to one set. A visual endpoint has also been added to make it easier for apps to connect to WooCommerce, especially from mobile devices.
Finally, performance was improved, especially in relationship to product variations. Shops with large numbers of variations per product will benefit from variations loaded via AJAX in both the admin and frontend. Custom AJAX endpoints also make it faster to perform AJAX requests, such as adding an item to the cart, to improve site performance.
This WooCommerce 2.4 review will take a detailed look at each new feature or change in comparison to WooCommerce 2.3.
Some very large changes have been put in place for on-boarding new WooCommerce users in version 2.4. WooCommerce now uses an on-boarding wizard and embeds WooCommerce 101 videos into the WordPress dashboard to help out when users get stuck.
When you first install WooCommerce in a new store, you can use the on-boarding wizard to easily configure settings, tax rates, and shipping rates. Using the on-boarding wizard in my test store cut down on the time I typically spend configuring a new WooCommerce installation, as it prompts the user to set up all basic settings, such as store location and tax / shipping information.
First, you can let it install pages. This was previously an admin alert that you could click to install pages, but making this part of the wizard makes it easier for users to understand that (1) it’s necessary for the setup process, and (2) gives them more information on what the pages are for.
Next, shop owners can set up their store location, currency, and default units rather than doing this under both “General” and “Product” settings.
Shipping and tax set up are optional. I liked that the shipping rate set up was easy to understand, and it showed me how formulas work to charge both per order and per item rates. For example, my international rate here is automatically entered in my settings as
6.99 + .99 * [qty].
However, this won’t set up shipping locales in your settings. For example, I have rates for both Flat Rate and International shipping already created via this wizard, but I need to visit my settings to set “United States” for flat rate, and all other countries for international shipping. You also can’t change free shipping settings in the wizard.
Opting to charge tax also helpfully prompts you to import the tax rates for your base location to expedite setup. I would have preferred to see separate steps for shipping and tax to be able to set up locales or free shipping, but this step is still helpful.
Next, you’ll be prompted to set up your payment methods. Merchants can enable PayPal or any other default payment method (except Simplify Commerce, as this requires an account).
Finally, merchants can end the set up or opt to then create a product.
If merchants opt to create a product, they’ll be guided through product creation with admin tips so they can understand different types of products and product data.
Another change geared towards helping new users in the inclusion of the WooCommerce 101 video series from within the WordPress dashboard. Each of these videos is embedded in the “Help” tab in the top screen links.
The embedded video changes based on which page the user is viewing. For example, while viewing a particular settings page, the correct video for those settings will be shown.
WooCommerce 2.4 also makes some minor changes to the WooCommerce settings. First, a new option is added for the “Default Customer Address” setting: Geolocate (with caching support). Users are guaranteed to see the correct pricing and tax rates for their location, as the cache will be cleared for new visitors, ensuring they don’t see a cached result from a different country.
Checkout settings also have a new option: “Calculate coupon discounts sequentially”. Previously, discounts were all calculated on the order subtotal or total. Now, they can be stacked so that a new discount will come off the already discounted price, not the original order price.
This is disabled by default, so you may want to enable it if you allow multiple discounts to be used on an order (especially if you use percentage-based discounts).
Some changes in the REST API are related to settings, while others change generating or managing keys and API access.
First, API settings used to be spread between “General” settings and the “Webhooks” section of the settings. They’re now all grouped under one “API” section of the WooCommerce settings:
API keys are also generated and stored here rather than in the user’s profile. This allows users to have multiple API keys rather than one set, letting you revoke a particular set of keys as needed. For example, you could revoke keys used for an inventory integration while keeping keys active that connect the WooCommerce iOS app.
Keys are also only shown when generated, and can be copied or a QR code can be used to connect your store to another app or service via the REST API.
The API also now features a visual authentication endpoint that can be used by apps that integrate with WooCommerce. Rather than requiring you to enter your secret / key for the API or scan a QR code, apps can use the visual endpoint to let you approve access, and generate API credentials behind the scenes.
This should make it easier for mobile or web apps to connect to your store (should they use this endpoint).
Payment method settings and the checkout process haven’t changed much in WooCommerce 2.4, but there are a couple of refinements to note.
It’s now more obvious that users can drag and drop payment methods to adjust the way they’re displayed at checkout, and the name of the method will now link to its settings.
The checkout also features one change: the country field is no longer listed first, but is instead listed after some generic fields that will always be needed for each country. The address fields (which depend on country) are still after the country selection.
The core flat rate and international rate shipping methods have been greatly simplified in WooCommerce 2.4. Shipping classes are now hidden by default, and costs can be calculated using a flat rate (i.e., $3.99) or a formula (i.e.,
$1.25*[qty]) to support per-order and per-item shipping.
Shipping classes are only displayed if they’re being used, and will be added below flat rates. The shipping class costs can also accept formulas that use quantity, item costs, and fees.
International Flat Rate shipping is simplified as well, and can accept costs or formulas just like regular flat rate shipping.
Finally, re-ordering shipping methods for the checkout display is more obvious, and selection priorities can be set rather than a single default.
Previously, you could set a default method, but this may not have been available to the customer (i.e., flat rate for US customers wouldn’t have been the default internationally). When this happened, you couldn’t have a “fallback”, so something like free shipping or another method would become the new default. Selection priorities let you assign a numerical priority instead of a default to determine which shipping methods should be defaults over others. Start priorities with a
1 for your desired default, then count upwards from there to set fallbacks.
The product variations interface benefitted from large changes in WooCommerce 2.4 as well. Shops with hundreds of variations historically had a hard time using variations, as pages could take a long time to load.
The way variations are loaded has now changed, as they’re created and edited via AJAX if you have more than 20 variants for a products. Variations are also paginated in batches of 10 to make using them more manageable (though you can change the number per page easily with this snippet).
Some buttons, such as the “Link Variations” button, have been removed in favor of adding these options to the dropdown menu.
Variations will also be loaded via AJAX on the frontend of your site if there are more than 20 variations for a given product.
Most of the changes related to variations are behind the scenes, but they’ve made variations faster and more performant as your store scales.
Emails got a tiny bit of love in WooCommerce 2.4 as well. Email templates have also been updated to improve compatibility with Outlook, and an “order refunded” email has been added to notify customers of a refunded order (status changes to refunded).
First, developers building apps or other platforms that integrate with WooCommerce will be interested in the API changes in version 2.4 we mentioned previously. The visual authentication endpoint is a great tool for making connections to WooCommerce sites extremely easy. Using this connection method is also easier for a user to understand, as they can see what they’re giving permission for and approve or deny it, rather than copy and paste keys from their site without really understanding what’s going on.
There are also a few API wrappers available in different languages to make integrating with the WooCommerce API easier.
The changes to variations are important to developers, as loading variations via AJAX can change how plugins need to add data or fields to product variations.
Custom AJAX Endpoints have been introduced to improve loading times on the frontend during events such as adding to cart. Previously, admin-ajax.php (the standard WordPress ajax endpoint) was used but this had the disadvantage of loading the entire WP admin just to make a request. The custom endpoints work around this.
The entire admin no longer needs to be loaded for an AJAX request, making these requests faster and more scalable.
Developers should also be aware of some template changes in version 2.4, namely the
content-product_cat.php template (and some email templates have minor styling changes). If you’ve overridden these templates, you need to make sure that you’re updating your versions. A new
/cart/proceed-to-checkout-button.php template was added as well.
WooCommerce has made some significant steps towards improving the experience for new users, and the on-boarding wizard helps to guide new shop managers into the WooCommerce settings and usage. While the on-boarding wizard didn’t address all of the settings I needed to change in my test shop, it did help speed up my typical installation process, and I like that it includes detail so that new users can understand why pages are being inserted or how shipping rates work.
I was a bit shocked by the shipping rate changes at first, but I think that new users will find them much easier to understand rather than the old system of a base rate + add on rates. They give new users an easy setup, but still let advanced users calculate more complex rates.
The performance changes for variations and AJAX requests were much needed for stores with large numbers of product variations, and the API changes were also a nice refinement. The ability to have multiple keys per user will be very helpful as more apps and services integrate with the WooCommerce REST API, making it easier for users to manage the access across different applications.
These are all nice evolutionary changes that both help new WooCommerce stores get up and running, and help established WooCommerce shops in terms of performance, scale, and integrations.