Quick Start Guide to Using WooCommerce as Your Shopping Cart

If you’re setting up to sell through WordPress, there’s really just one option.

WooCommerce is a free plugin that’s owned by Automattic, the company behind WordPress. At the time of writing there are more than five million active installs.

Once installed and activated, WooCommerce turns WordPress into a full featured ecommerce store.

If you’re selling a single product, that may sound like overkill, but you still need to charge sales taxes where applicable. You may also need to charge shipping if your product is physical, though we’re not looking at that here.

So you can use WooCommerce purely as a shopping cart, saving you from paying for another service.

After activating WooCommerce, you are taken through a guided setup process. You can skip setup, but I advise you run through this if you’re new to WooCommerce. It will only take a few moments and will ensure the basic settings are in place. You can always amend any settings later, so don’t worry that you’re committing yourself to any long term decisions.

Setup includes giving you the option to install additional plugins to allow you to take payments through Stripe and PayPal. You can choose to use one, both or neither of them. If you need to take payments through any other services, there’s a good chance you’ll be able to find a plugin that will connect WooCommerce to that service. You can look into that after you complete the setup steps.

The setup process will also ask if you want to use WooCommerce’s automated service for calculating sales taxes, which is currently available for North America, the European Union and Australia.

If you choose to use this, WooCommerce will also install the Jetpack and WooCommerce Services plugins. If you choose not to at this stage, you can still manually install those plugins and turn the automated service on later.

We’ll look at some of the pros and cons of automated tax calculations in a moment, along with your options for manually configuring your taxes.

After completing the setup process, if you want to connect your shop to other payment services, there are a few places you can look for plugins.

The first place to look is the WordPress repository (https://wordpress.org/plugins/search/woocommerce/). The WooCommerce Extensions Store (https://woocommerce.com/product-category/woocommerce-extensions/) has a mix of free and paid for plugins, while you’ll find just paid for plugins at (https://codecanyon.net/category/wordpress?term=woocommerce).

There may be other settings that you will want to set up and we’ll briefly run through and explain a few of the more important ones. You can find more information on setting up and using WooCommerce in their online documentation. When you’re viewing any WooCommerce screen in admin, links to help are always available in the Help slider at the top right of the screen.


Before quickly running through the settings screens, you need to make a decision on how you will apply sales taxes

Sales taxes

Sales taxes for online sales are becoming much more complex for shop owners.

Once upon a time, you only ever had to worry about charging taxes to customers in the same tax location as you. Of course this meant that sellers in a different tax location could effectively undercut local sellers. Those sellers could also take advantage of not charging tax in other locations, so for business owners it could even itself out potentially.

For the tax authorities though, they found that they were losing out on taxes that were no longer being collected by businesses in their location. This has led to many tax authorities around the world taking action to change how taxes are applied on online sales.

In the EU, since 2015, sales of digital products online have had tax charged at the rate prevalent in the buyer’s country. This situation is slightly different to that described above, because sales tax was charged before 2015, but at the rate of the seller’s country.

In the USA, the more recent changes have been a bit more dramatic. Thanks to South Dakota’s victory over Wayfair, Inc, US states can now require remote sellers to collect sales taxes. As an article on Avalara shows (https://www.avalara.com/us/en/learn/sales-tax/south-dakota-wayfair.html) most have already brought laws into effect.

There’s even more though. Many other nations have also enacted similar tax laws, with others planning to. Take a look at this post on digital tax rates around the world (https://quaderno.io/blog/digital-taxes-around-world-know-new-tax-rules/).

Some locations have minimum thresholds in terms of number of sales or value of sales, below which tax isn’t due.

Sales tax is something you should take professional advice on. A knowledgeable accountant could save you from all sorts of problems and also potentially prevent you paying taxes that aren’t due as a result of not hitting a threshold for a location.

I can though explain to you the mechanism for charging tax using WooCommerce.

If your business is located in and only selling to customers in the USA, Canada, EU and Australia, you have two options for applying tax to your sales. The easiest from your point of view is WooCommerce’s automated tax calculations. There are some caveats to consider before jumping into this.

The other option that’s suitable for businesses located anywhere is to manually configure your tax rates.

Automatic tax calculations

WooCommerce can be set to automatically calculate tax based on your customer’s address. That’s super attractive for site owners, but using this service, product prices in your store, cart and checkout price are displayed without tax.

The total sales tax is displayed on the checkout page when a billing address is entered. There is also the option to turn on geolocation to try and establish the location of each customer. When this is used, taxes due are also displayed in the cart and in the checkout page before the billing address is entered. In the event billing address location is different to that assigned by geolocation, the tax amount will be updated to match the billing address.

Where this possibly falls down is that even with geolocation turned on, prices in product pages are displayed without tax.

Displaying prices without tax is quite common for sales to other businesses. If that applies to you, then this is probably perfect as is, assuming automatic rates are available for your location and/or the locations you sell to.

If you’re selling to consumers, they more commonly expect to see prices inclusive of tax, so adding an additional charge in the cart or at checkout to cover tax may lead to higher cart abandonment rates. Additionally, some locations may even require prices for B2C to be displayed including applicable taxes.

Fortunately there is a solution to this, though it may not be perfect for everyone. This is reliant on geolocation being turned.

To turn it on, click on Settings under the WooCommerce menu item. The Default customer location control is what you need to update. Assuming you’ve set up a caching plugin on your site as recommended earlier, be sure to use the Geolocate (with page caching support) option, otherwise set it to Geolocate. This will ensure customers see prices based on their location.

Note that when Geolocate (with page caching support) is enabled, every URL of you site will have a URL parameter added. A string of text similar to ?v=xxxxx will be appended to the address in the address bar.

URL parameters can, in some cases, lead to Google indexing pages in search results multiple times. Duplicate results like this can hurt the rankings of these pages. Google Search console has the URL Parameters Tool that can be used in cases where this is happening.

Before taking this route though, ensure that your site matches the criteria specified by Google.

Your site must have more than 1,000 pages,


Your Search Console logs show a significant number of duplicate pages being indexed by Googlebot.

Do not use the tool if both of those conditions do not apply to your site, as you may do more harm than good to your site’s rankings.

There’s more information about this subject at https://support.google.com/webmasters/answer/6080548?hl=en.

On the Tax tab of settings, with automated taxes enabled, in the Price display suffix field, enter ({price_including_tax} inc tax). The {price_including_tax} is a placeholder that is replaced in the front end of your site with the product price including tax. You can edit the rest of the ext as you wish, just ensure the placeholder is unchanged.

Now when a customer views the product price, they see the price without tax and the price with tax based on their location as calculated by their IP address.


This should remove the possibility of a customer seeing the product price unexpectedly increase when they view their cart or checkout.

In most cases, configuring WooCommerce like this with automated tax calculations is probably the best solution.

As you start to grow your revenue, you may want to start using a premium plugin and service like TaxJar (https://woocommerce.com/products/taxjar/) or WooCommerce AvaTax (https://woocommerce.com/products/woocommerce-avatax/). These can handle more complex tax situations, but perhaps most attractive is that they can automate your tax reports and filings too.

Those two services are well established, with TaxJar actually powering WooCommerce’s built in automated tax calculations. Both businesses also have many useful articles on their sites that I’ve been referring to for years and I’ve also been using Avalara’s tax rate tables for manual tax set up as described below.

During the writing of this book, I’ve also come across another service through their plugin in the WordPress repository. I believe the Simple Sales Tax (https://wordpress.org/plugins/simple-sales-tax/advanced/) plugin was only published in December 2019 and this connects a WooCommerce enabled site with the TaxCloud (https://taxcloud.com/) service. If your sales are just to US states, this appears to offer an attractive solution for applying the correct taxes on sales and also filing the taxes for your business. At the time of writing, this is done for free in 25 states and a low percentage rate in the others. This offers another option to research if you believe the inbuilt automated tax calculations aren’t sufficient for your needs.

Manual tax rates

WooCommerce have got documentation on setting up manual tax rates at https://docs.woocommerce.com/document/setting-up-taxes-in-woocommerce/, so I won’t repeat that information.

If you choose to add rates manually, that you should set the rates for every location you will sell to. For some countries that’s easy as they only have a single tax rate nationwide.

In other locations it can become more complex. For example, for a business in the EU selling physical and digital products, they would need to set up one tax rate based on their location for physical goods. They then need to setup rates for every EU country that will be used for digital goods.

EU digital product taxes can be simplified by using EU VAT Compliance Assistant for WooCommerce (https://wordpress.org/plugins/woocommerce-eu-vat-compliance/). This can automatically insert all the tax rates and ensure the correct rate is applied for each purchase.

Manually adding tax rates for the USA is a bigger job, especially with so many states now requiring out of state sellers to apply sales taxes too. It is just about possible though.

Avalara offer free tax rate tables for the US states at https://www.avalara.com/taxrates/en/download-tax-tables.html. You have to register, partly so you can be notified of changes to any rates that you download. The downloads are in a CSV format, but not a format compatible with WooCommerce. You can convert them to WooCommerce format at https://shoestringhustle.com/tbp/tax-rates-csv-converter/.

If automated tax rates are available for you, in most cases they will be the best option. There is one possible situation where I think there may be an argument for setting up rates manually.

Let’s assume you’re selling a digital product and you want the price to be the same for every buyer regardless of their location. I most commonly see this with higher end training courses where, for example, everyone pays $1,997. The seller then subtracts any tax applicable so in effect they make less profit from customers who tax is applicable to. This can make sense as adding tax onto the relatively high price already could lead to lower sales. Obviously with digital products there are no material costs so making different profits based on a buyer’s location is possible, whereas it might be more difficult with physical products

That scenario isn’t possible with automated taxes.

Strictly speaking, it’s not possible with manual tax rates either. However, for several years, WooCommerce has included an experimental feature that is turned off by default (https://github.com/woocommerce/woocommerce/wiki/How-Taxes-Work-in-WooCommerce#prices-including-tax—experimental-behavior) that allows a store to charge every customer the same price and then calculate the taxes behind the scenes.

If you need this functionality, don’t worry, you don’t need to work out how to add that code to your site.

The EU VAT Compliance Assistant for WooCommerce plugin mentioned above can turn this on by checking the Same net prices everywhere checkbox in Settings.

If you’re not using that plugin, you can download a free plugin from https://shoestringhustle.com/tbp/one-price-plugin-for-woocommerce/ that will automatically turn that feature on as soon as the plugin is activated. Just deactivate the plugin to disable the experimental feature again.


Click on Settings under the WooCommerce menu item. You’ll see several tabs across the top of this screen. Some of these settings you will have set up during the setup process.

You’ll find full details on the various settings at https://docs.woocommerce.com/document/configuring-woocommerce-settings/, so I’m not focusing in depth on these. There are just a few comments I think may be helpful.


We’ve already looked at the Default customer location setting when we discussed taxes.

You can set both Selling Locations and Shipping Locations. If you’re selling physical products only, it will usually make sense for these to be the same. If you’re selling a mix of physical and digital products, you could set these differently.

For example, let’s say you sell giraffes. Understandably, you may not want to ship your giraffes abroad, so you could restrict Shipping Locations to just your home country. However, you might sell ebooks about looking after a pet giraffe and want to sell those to all countries that you’ve configured taxes for. So your Selling Locations may contain more countries than you ship to.


The Placeholder image is an image that is displayed on products if a featured image has not been added. Obviously you should have at least one image for every product, but there may be occasions when you’ve got to add products before receiving any images.

The default image currently looks like this, assuming your theme doesn’t include its own replacement placeholder image. If your theme has its own placeholder, it will probably also override your custom image if you add one.


You can enter the ID of a different image into the Placeholder image field to have that image display instead. To get the ID of an image, click on Media in the admin menu. Locate your custom placeholder image and click it. Depending on the view you’re using in the media library, the address bar will either include a URL parameter called post or item.


The ID of the image is the number that follows the equals symbol.

If you have Product ratings enabled but they are not showing on product pages, the cause is usually that you have turned off the ability for users to leave comments in the Discussion settings screen. Alternatively they may have been disabled on individual products. Comments must be enabled for product ratings to display.

If your store is setup for downloadable products, click the Downloadable products link. By default, File download method is set to Force download. This should function fine on every site, though when multiple downloads are occurring simultaneously, it may put strain on your site and slow it down.

The X-Accel-Redirect/X-Sendfile option takes advantage of a server module to download files and this is a more efficient method. It can only work though if the module is installed on your web host’s server. You could ask them about this and whether it is available to your site. Alternatively, you could switch to this setting and test if a product download works okay. If the module isn’t available, when you try to download a product, it won’t work. In that case, switch this back to Force download.


Accounts & Privacy

Guest checkout by default has Allow customers to place orders without an account enabled. This makes the checkout process easier as a customer isn’t forced to create an account. While that only introduces a little friction, it could lead to some users abandoning checkout because they don’t want to setup an account with yet another website.

For that reason, when selling just physical products, I advise leaving this enabled.

My opinion is different for sites that sell digital products. In this case there is still the argument about a little more friction in the checkout process. However, customers who have an account on a WooCommerce site are able to login and download their purchases. This can reduce the number of customers getting in touch asking how they can download their purchases.

You can reduce the friction a little if guest checkout is disabled by ensuring the two options to automatically generate a username and password are left checked. These should be automatically emailed to customers after completing checkout and this can make the checkout process a little quicker.


If you’re using WooCommerce’s geolocation features to guess the country of customers from their IP address, you need to register for a free License Key from Maxmind. You can register on their site at https://dev.maxmind.com/geoip/geoip2/geolite2/.

WooCommerce have created comprehensive documentation covering this process at https://docs.woocommerce.com/document/maxmind-geolocation-integration/.

Theme and shopping cart

In the customization section, I focused on two themes for your site, but if you’re using WooCommerce for an ecommerce store, there’s one more free theme to mention.

Storefront (https://wordpress.org/themes/storefront/) is from the same team behind WooCommerce and is optimized for ecommerce. It’s not the most stunning theme, but with its focus on selling, it’s worth considering. Take a look at Amazon and eBay, neither will set the heart a flutter with their looks, but they’re both doing a great job when it comes to sales.

One important feature of Storefront is the fact that includes a shopping cart in the header, where customers are used to finding a cart on most ecommerce sites.

If you’re using a theme that doesn’t include support for a WooCommerce shopping cart, you’ll need to install a plugin to handle this. There are a few plugins that add the cart as a floating button, but I prefer the cart to be displayed in the header of the site, ideally on the right as this is the most common positioning used.

WooCommerce Menu Cart (https://wordpress.org/plugins/woocommerce-menu-bar-cart/) is a free plugin that lets you add a cart link to one of your menus. As every theme should have a menu in the header, this is an easy way to insert your cart. The free version of this plugin is limited in functionality. It is only a link to the cart, though it can display the number of items and/or total of the cart. The paid for version lets you display a fly out mini cart so users can view and edit the cart contents on any page.


If you want a fully functioning mini-cart in your page without spending anything, I‘ve tried a few. They generally place a floating button over your page, usually with the choice of appearing at the top or bottom of the screen. The top isn’t a great location as it tends to get in the way of header elements. The bottom of the screen can interfere if you want to use Tawk.to or OneSignal or any other plugin that needs to place a floating button.

That’s why I’m suggesting Mini Cart Drawer For WooCommerce (https://wordpress.org/plugins/woo-mini-cart-drawer/), though with one reservation. This looks like a very polished plugin in terms of its appearance to your users. What makes it stand out most though is the way its uses a tab at the edge of the screen that you can vertically center. It’s less likely to interfere with header and footer content in that location. It will get in the way of content a little, particularly on mobile, but it feels like a better compromise than most I’ve seen.

My reservation about this plugin is the fact it currently has very few active installs. If you want a recipe for making abandoned plugins, very few active users is one of the main ingredients. There is a premium version planned, so hopefully this will be actively maintained on an ongoing basis. The author has obviously put a lot of work into this.

Notes on Jetpack

Jetpack is a freemium plugin from Automattic, the company behind WordPress and WooCommerce. To make use of automated tax or shipping calculations, this has to be installed and activated.

This plugin is a bit of a Swiss Army knife of a plugin. It includes a wide range of different tools and features. While there are several pages of forms that let you configure Jetpack, the easiest way to manage the plugin is using the Modules page.

Click on Jetpack in the admin menu and then scroll to the bottom of the screen and click the Modules link.


On this page you can see all the modules that are active and activate and deactivate those you don’t need. For example, the Contact Form module is activated by default, but if your site has a contact form plugin installed, it’s not needed. Clicking the Deactivate link turns the module off.

The great thing about this page is that clicking the name of any module opens a new page with information about what the module does and how to use it. So deactivate any modules you’re not using.

Cart abandonment

One of the biggest pain points for ecommerce store owners is when a shopper gets as far as the checkout page, but then fails to complete their purchase. The level of cart abandonments vary from site to site, but it’s going to be an issue for every site to some extent.

A technique used to mitigate this issue is to use an email sequence to follow up with users who bailed out at checkout. These might include a discount or other incentive to help encourage a shopper to return and complete their purchase.

There are a few plugins that can help with this and one of the most popular is WooCommerce Cart Abandonment Recovery (https://wordpress.org/plugins/woo-cart-abandonment-recovery/). Most other cart abandonment plugins I’ve used have been freemium, meaning that the free versions tended to be missing some features. This plugin only comes as a free version and includes all the features you should need to run effective recovery sequences.

Cart recovery tools are reliant on the shopper having entered their email address before leaving the checkout process. Normally this field is the last field to be displayed in the billing details form. To maximize the number of abandoned carts that have entered their email, it would be better if this field was displayed first.

Checkout Field Editor (Checkout Manager) for WooCommerce (https://wordpress.org/plugins/woo-checkout-field-editor-pro/) is a free plugin that lets you customize aspects of the checkout page, including the order the fields are displayed in. With this activated, you make the email field the first input displayed to shoppers arriving at the checkout page.

There’s one important thing to be aware of if you’re selling to customers in the European Union. Under the GDPR laws in the EU, customers have to explicitly opt in to receive marketing messages from a business. That also applies to cart recovery emails.

WooCommerce Cart Abandonment Recovery does claim to be GDPR compliant as it includes an option to display a notice advising shoppers that their email may be used for cart recovery.


As the screenshot shows, you can display a message in tiny text and if the shopper clicks the No Thanks link, they should be excluded from recovery emails.

While that is a step towards improving user privacy options over other cart abandonment plugins I’ve seen, that doesn’t make it it GDPR compliant. EU based users are required to actively opt in, not opt out which is the case here. I imagine European regulators would also question the use of tiny text.

It’s probably impossible for any cart recovery tool to be GDPR compliant if we follow the strictest interpretations of the legislation. That would require a customer to actively opt in for cart recovery emails, which would be unlikely if someone is abandoning their cart. Other people interpret GDPR legislation a little more loosely though and you may prefer their interpretations.

Cart recovery emails can be an effective way to increase sales, but unless a shopper is an existing customer who has opted in for marketing emails, you’re likely to be flirting with the wrong side of GDPR legislation when using such emails with EU shoppers.

Which payment service should you use?

If you follow the WooCommerce setup wizard, you’ll be presented with options to use both Stripe and PayPal to take payments. You don’t have to install or use either, there are many other plugins you can install to take payments with other services. You can also use both Stripe and PayPal in your checkout, letting your customers choose which service they pay through.

One factor that may affect your choice will be the relative costs of the two services. At the moment they’re quite similar, but do also consider other costs such as chargeback fees.

An advantage of PayPal is their service called PayPal Credit that allows customers to buy from a site with six months to make their payment, interest free. The store owner receives their money when the purchase is made as normal. That can be a very attractive option to offer to customers, though note that it’s only available in some countries, including the USA and UK. You’ll need to check to see whether it’s available in the countries you sell to.

If you search online, you’ll find negative stories about both payment services and probably any other service you consider. Remember when reading such reviews, there’s always two sides to every story and people are more likely to shout about perceived poor service than good service.

However, that should at least serve as a reason to have a second payment service already approved and ready to use in case you ever have a problem with your first choice.

Test with sandbox

When you’re setting up an ecommerce site, you may worry that it will be difficult to test the purchase experience because you’re worried about running up charges on your credit card or PayPal account.

Fortunately that isn’t an issue with some payment service providers. Both PayPal and Stripe let you create credentials for testing.

Stripe requires you to set up test API keys that are entered into the Stripe checkout plugin along with the live keys. You can toggle between these keys in the plugin’s settings to run your site in test or live mode.

With PayPal, you need to set up testing accounts at their developer site (https://developer.paypal.com/). You can learn more about setting up the PayPal Checkout plugin at https://docs.woocommerce.com/document/paypal-express-checkout/.

Of course, when you finish testing your site, don’t forget to switch your payment plugins back to their live mode.


If you have no audience, perhaps as you’re starting out from scratch, one way to get a running start is to borrow audiences from others.

This is how affiliate systems work. In return for a share of the profits from sales they generate, other people will promote your products. This could be other website owners promoting to their users or individuals promoting to family and friends.

Affiliates Manager (https://wordpress.org/plugins/affiliates-manager/) is a free plugin that lets you create an affiliate system on your WordPress site. By default it works with WooCommerce out of the box.

This is quite flexible in the free form, allowing you to specify different commission rates per affiliate or use a global rate. If you want to apply different commission rates on a product by product basis, you’ll need to pay for a premium addon.

Your shop to social media

Once you’ve set up your WooCommerce store it makes sense to maximize your opportunities to promote and sell your products. A few of the leading social media platforms offer possibilities that you may want to consider.

Facebook is reported to reduce the reach of posts added through third party systems such as schedulers. However, adding your products, particularly if you have a big store, is likely something you won’t want to handle manually.

Facebook Pages allow owners to add a shop section, though note this can only be used to show physical products. You can use the Pixel Caffeine plugin from Adespresso to automatically send your products from WooCommerce to a Facebook Catalog. That catalog can then be used to create a Facebook Shop on your page as described here – https://www.facebook.com/business/help/1397367397077286.

Once you have a catalog of your products setup, you could also use that catalog with Instagram Shopping. This allows you to post products that other users can click to buy. For more information, you can check out this page – https://www.facebook.com/business/instagram/shopping/guide. It’s not yet available in all locations and has other conditions, one of which follows Facebook in only being for physical products.

Pinterest also allows business accounts to create a catalog of your products from your ecommerce store and use these to create pins. You can find an overview with links to more information here – https://business.pinterest.com/en/shopping. Pinterest’s docs suggest a few partners who can create a feed for use with Pinterest Catalogs. However these are all paid for services.

If you’re interested in Pinterest Catalogs, I’ve got you covered with a free plugin that will create a feed for you. You can download your copy of PinCat Builder at https://pincatbuilder.com. This will produce a feed that you can add to your verified business account. Bear in mind that Catalogs are not available in all locations, so check that first.