Skip to content

How to Set Up and Extend Virtual and Downloadable Products in WooCommerce


By using these options in WooCommerce, you can sell services easily as well as products such as ebooks, music, etc. In this post, you learn what a virtual and downloadable product is and how to create them. I will also show you the settings that allow you to manage your downloadable products easily.

Lastly, I will share with you some ways to extend these features and also answer the question of whether you should use WooCommerce or Easy Digital Downloads for your downloads.

When creating virtual and downloadable products, you will be using Simple Products.

Virtual Products

Examples of virtual products includes services you may be providing and want people to purchase in advance. Hourly consulting fees is just one example.

Once you click on virtual, a few of the options are removed in the left side tabs, such as shipping.

simple product virutal

Tip: if you are listing an hourly service, and want people to be able to choose more than 1 hour, tick this box under inventory.

virutal product inventory

Downloadable Products

This is perfect if you are selling ebooks, music or any other product that involves only a file download.

A. When creating a downloadable product you will also want to check it as virtual.

1. Downloadable Files: This is where you will put the URL of your downloadable file. First name the file so it’s recognizable to the buyer, as this will be part of their download instructions. And File URL, you have two options here. You can simply upload it to your media file and the link will be automatically added. Or you can put in a URL if you are storing it on some external site like Amazon S3 or another one.

2. Download Limit: This control how many times that single customer can download the product. As note, you can leave blank for unlimited downloads. I typically give them 2 just in case they lose their first one.

3. Download Expiry: Set a date here for the expiration of the download link. I recommend about a week, as people sometimes get busy and this gives them a bit of time. On this and the previous field they will be told about the limitations.

downloadable product settings

Extending Virtual Products (services, etc)

Using WooCommerce to sell your services is a great way to take advantage of this plugin as it gives you a lot of flexibility. You can see our post here that goes into more details of Selling Services with WooCommerce.

Here are some other posts of extensions that will help you selling your services.

Booking Appointments

Using WooCommerce is easy to give people the change to book time slots. This could be for professional services or hotels, motels and B&B’s. You can check out our post on the WooCommerce Bookings extension or the Booking and Appointment plugin.

Adding On Additional Options to Your Services

Chances are you either have some additional services that can be added to your main services. For example, if you are a web designer you might have maintenance and support packages. The Add-On extension makes it easy to list those on the product page in WooCommerce. You can see our post here.

Extending Downloadable Products.

There are many ways to get creative with these kind of products. Also, excellent ways to add additional functionality. Here are some other posts that you might find to fit your specific needs.

Offer Downloads with Your Subscriptions on Your WooCommerce Store

If you are using the Subscription extension, you may also want to check this out if you are offering downloads to your subscribers. The Subscription Downloads extension lets you offer downloadable products to your subscribers, while you still maintain individual listings for each of your downloadable products. This allows you to have them sold individually through your tore and also through subscriptions. Check out our post here.

How to Add a Watermark to Your WooCommerce Downloadable PDF’s

Do you want to protect your downloads such as eBooks or other PDF documents with a watermark? This extension has a variety of features that will ensure your PDF files are protected by giving you several options for watermark position, colors and size. You can learn more about it on our post here.

Offer Customers a Bulk Download Option on Their Account Page in WooCommerce

When selling downloads, often the customer will buy several downloads, for example, music or books. Or it could be free downloads or a mix of downloadsGiving them the option to create a zipped file and downloading them in one sweep is another benefit to give to them. Here is a post that will show you how you can do this and get creative with it.

How to Sell Software Licenses with WooCommerce

A common virtual and downloadable product is software. And most times, you will also need to sell a license with that software. This post shows you how this extension works and how it can allow you to offer upgrades to the software licenses as well.

When it comes to virtual and downloadable products, whether they are services, software of something else, you can use many of the extensions to extend them as you would for physical products. Whether it’s upsells, coupons, promotions or marketing, the options are unlimited.


  1. DocShifty on April 23, 2019 at 1:25 am

    Hello, is there any way to set Virtual products to no tax or tax free and leave items that have to ship auto tax like in jetpack. This is frustrating. I live in Florida so I do not need to charge sales tax on anything sold online. But I do need to collect it when I dropship with Amazon or I end up eating it. So what I am looking for is a way to turn taxes off for virtual and leave it for items that need to be shipped. Any help ?

  2. BobWP on April 23, 2019 at 8:16 am

    Okay, bear with me as I am guessing as it’s always a little harder when I cannot see how things are set up. But for any products that you do not want to be taxed, can you not turn off the tax status on the product itself to “none”?

  3. Dyana on September 20, 2019 at 5:45 pm

    I’d like my customers to download my products for an unlimited amount of times because they will occasionally get updated. How do they have access to these future downloads?

  4. Judy Dunn on September 20, 2019 at 5:56 pm

    The download link will remain in their account page on your site.

  5. Dyana on September 20, 2019 at 6:23 pm

    Does this mean they must create an account first? Because I just tested it and I was able to purchase without creating an account. When I went back to the site, it didn’t have a link I could use to redownload. I just want to make sure I can communicate this to them prior to purchasing and paying.

  6. BobWP on September 21, 2019 at 12:54 pm

    Yes, in order for them to have continued access, you will want to change your settings to require an account. You can also toggle it where they will be asked to set up an account at checkout. This and several options are found in WooCommerce > Settings > Accounts & Privacy.

    You might want to add a note somewhere along the lines that says “please set up an account to access your downloads now and in the future”.

  7. ahmet ozdemir on October 19, 2019 at 9:28 am

    Is there any way to do sell downloadable product per customer, It’s like customer register and enter information after that i put digital downloadable product in its page to download only the customer who registered for that

  8. BobWP on October 19, 2019 at 10:30 am

    Mmmmm, so to be clear. You want only specific customers to be able to access certain downloadable products that are set up on a single product page?
    And how do you want driven to that page?

  9. Anya on October 29, 2019 at 5:40 am

    Hello, I have an ebook that is too large for Media files. What’s the next best (free) way to create this download? Should I zip the file and provide it that way? Or link to Google Drive? Thanks in advance!

  10. BobWP on October 29, 2019 at 3:00 pm

    How big is it? And yes, you could zip it although depending on who your audience is, that can be just one more technical, confusing step. I haven’t use Google Drive for that purpose, but anything you can do via the cloud would work. I have used Amazon AWS which is very, very cheap.

Your thoughts...