Downsides of Using a WooCommerce Shopping Cart for Free Downloads

In my last post, I offered 7 Reasons to Handle Free Downloads with Your WooCommerce Shopping Cart and ended by saying that there are some downsides to consider as well. Let’s dig right into those along with some solutions.

Free Items Throw Off Your Reports

The first downside is that the free items throw off your Sales by Product reports. WooCommerce reports don’t currently differentiate between free and paid products. So if you have a lot of free item “purchases”, those products will dominate your top-seller list instead of showing your actual paid products.

A partial solution is to look at that report by Top Earners rather than by the default Top Sellers. To do so, simply find and click the Top Earners section tab at the bottom of the report’s product list.

I created a GitHub issue at the WooCommerce repository to start some discussion about reporting on free and paid products. I like the ideas presented so far about splitting out the reports. Hopefully, the discussion will lead to a long-term solution.

No One Likes Giving Away Personal Information

My friend Steve summed it up nicely in his tweet:

I personally believe in having a good balance between my needs and the customer’s needs—probably weighted more toward the customer’s side of things. That’s why many of the reasons from my last post were of benefit to the customer, such as more reliable downloads and allowing re-downloads of a past items.

There’s a lot of resistance to having to fill out your name, address, phone number, and e-mail, for a free download. And rightfully so! Most of us don’t need so much information in exchange for a free download so it’s understandable when asking for it causes mistrust and suspicion. I know, I’ve received the angry e-mails and found myself agreeing with them.

My solution is to simply not ask for so much information. WooCommerce will happily create an account or process an order for virtual items with only a name and e-mail address. Here’s a small plugin I created to remove all the other checkout fields when an order has a zero total and all of the items are virtual:

In addition, the customer doesn’t even have to create an account if you set WooCommerce not to require it. I recommend doing that for customer convenience and to reduce cart abandonment for regular purchases. However, I like to add some explanation to my checkout page explaining the benefits of creating an account, for example:

Creating an account is optional but recommended—An account allows you to view your order history and re-download any digital items you have purchased. Simply create a username and password below.

This can be accomplished by editing an override copy of woocommerce/templates/checkout/form-billing.php placed in your theme.

7 Reasons to Handle Free Downloads with Your WooCommerce Shopping Cart

Shopping Cart

Free downloads are a great way to  draw attention and traffic to your site. They also allow potential customers to sample what you have to offer, and hopefully gain an interest in your paid products. Rather than just providing a link for a free download, I much prefer to run those downloads through my WooCommerce shopping cart. There are a number of great reasons for doing this:

  1. Amazon S3 is a very reliable way to deliver downloads. When I previously delivered downloads from my own sites I had a lot of problems with incomplete downloads from timeouts, particularly for those on slower connections. As you can imagine, the associated customer service was eating up a lot of time. That was all solved by switching to S3 and letting Amazon handle the details. The Amazon S3 Storage extension for WooCommerce makes it dead easy to get set up, including expiring links if you want them.
  2. Potential customers get a chance to try out your shopping cart in a non-threatening way and with no financial risk. This builds trust and experience so they are much more likely to feel comfortable making an actual purchase in the future.
  3. Downloaders are encouraged to create an account. Accounts are a good thing because they help you build a history and fuller picture of your customers. That history can help you offer better customer service and give you insights for marketing. Accounts can also integrate with other services you may offer and want to encourage participation in, such as e-mail lists and forums.
  4. If you offer a particular downloadable item free for a limited time only, then the “customer” can come back to his or her account and easily re-download that item at any time. And seeing all of your items in your account, free or paid, is a nice convenience even if the download wasn’t limited. Convenience makes for happy customers, which is always a good thing.
  5. Going through the checkout process makes free items feel like they have more value.
  6. You get stats and reports for free items, just like purchased items. That can give you valuable insights into areas of interest for developing future products and marketing campaigns.
  7. Those who come for free downloads are exposed to your cross-sells, up-sells, and related products during the normal browsing, add-to-cart, and checkout process. That exposure may convert them to paying customers. I can’t tell you how many times I’ve seen an order with a cart full of free digital items and then a purchase or two at the end.

There are at least a couple downsides to using your shopping cart for free downloads. In my next post I will discuss those and offer solutions.

Shopping Cart designed by Fernando Vasconcelos from the

Global Warming at Walgreens?

Walgreens 506 degrees F

It’s not unusual to see all sorts of problems and errors on the Walgreens lighted signs around here. But this one is the best with the temperature at 506 degrees F. I don’t know if it was intentional, but if it was, props to the employee who went with the fun and added the other slides between the temperature screen!


E-book Download Icons

E-book icons example

An example of the e-book icon set in use for a book available in PDF, EPUB, and Mobi formats.

I recently set up a web page for downloading an e-book that is available in multiple formats. I had already been using a small document icon to decorate PDF download links, and now I wanted matching icons for the mobi and EPUB format too.

A Google search didn’t turn up what I was looking for so I created my own based on the PDF icon from the Fugue Icons set by Yusuke Kamiyamane. He so kindly released his icons under a Creative Commons attribution license and now I’m doing the same with the extra two icons. Continue Reading…

iOS 5 Safari Now Has Native HTML5 Date and Time Pickers

This falls under the category of sometimes it’s the little mundane things that can get me excited…

I’ve been wanting mobile Safari to have native date pickers ever since I started creating Web apps for iPhone. Every time I dealt with date fields I had to create pickers with javascript that were just not as good as those for real iPhone apps. I had been checking to see if native pickers were included in each iOS release but forgot about checking iOS 5 until now. Continue Reading…

Getting the Bad Behavior Extension to Work with MediaWiki 1.17

Update: This procedure should not be needed with current versions of MediaWiki. Just grab the current version of Bad Behavior and follow the Bad Behavior MediaWiki installation instructions.

I recently updated my robotic lawn mower site running an old version of MediaWiki to the current (as of this writing) version 1.17.0. The wiki had been filled with a bunch of spam users so after cleaning that up I thought I would add in the trusty Bad Behavior extension to keep some of the bad guys away. Long story short: it didn’t work and despite much Googling I couldn’t find a current solution.

So for my own future reference and to help anyone else dealing with this, here is how I made it go. Continue Reading…

Finding WordPress Custom Post Types and Taxonomies Already in Use

I’ve recently been evaluating WordPress shopping cart plugins to choose the best one for a project I’m working on. One of things I wanted to know is what database tables, custom post type, and custom taxonomies each plugin adds. The reason is that I favor plugins that don’t add extra tables because it’s easier, faster, and safer to use the well-tested functions already built into WordPress to customize the way I want the site to work. Continue Reading…

Illinois Pineapples

Why do I find so much humor at our local grocery store? I think it’s because they make it too easy!

I stopped by my local Highlander (Kroger) grocery store to pick up a few essential food items (that’s code for ice cream.) They’ve been pushing a locally grown message for a while now with posters and signs around the store. We’re in Northern Illinois and the store has stretched local to mean things like Michigan blueberries and Kentucky cucumbers. It’s within a long day’s drive, I guess. Continue Reading…

I Don’t Want a Verizon iPhone

Rumors of a Verizon iPhone have been circulating for years. Even though none have materialized, the news ticker on our TV today showed that the mainstream media has picked up the topic…again. This new surge of rumors seems no more likely than previous batches. I suspect they are fueled only by wishful thinking, which I can’t completely relate to.

I may be in the minority, but I don’t want a Verizon iPhone. Continue Reading…

Gravatar, AppleScript, and the OS X Address Book Revisited

A while back I did a series of posts (part 1, part 2, part 3, and part 4) on using Gravatars in AppleScript to update pictures in your Mac Address Book. Those address pictures then sync to your iPhone, iPod Touch, or iPad.

I’ve learned a few things since then, plus the Gravatar service has a new option that removes the need for a workaround I had to come up with. So it’s time for an update to my now obsolete posts. Continue Reading…