Want to sell a service, an online course, or a booking without dealing with shipping? A virtual product is the answer. WooCommerce powers about 4.5 million live online stores, roughly a third of all ecommerce sites on the web (StoreLeads data, 2025). Many of those stores sell virtual products every day.
This guide shows you how to add a virtual product in WooCommerce in a few clicks. No code needed. You will also learn how to fix the common errors that trip people up, like shipping fields that refuse to disappear.
What is a Virtual Product in WooCommerce?

A virtual product in WooCommerce is an item that does not need shipping. When you check the Virtual box, WooCommerce hides all shipping fields and skips the shipping step at checkout.
Use a virtual product for anything you do not mail or deliver in a box. Examples:
- Services (consulting, coaching, lawn care, repairs)
- Bookings and appointments
- Online courses and memberships
- Event tickets
- Insurance or warranty plans
That is the core idea. The product is real. It just has no physical shipping.
Virtual vs. Downloadable: What is The Difference?
People mix these two up all the time. They are not the same thing.
| Feature | Virtual product | Downloadable product |
| What it does | Removes shipping | Adds a file to download |
| Best for | Services, bookings, memberships | eBooks, music, software, templates |
| Shipping fields | Hidden | Still shown (unless also virtual) |
| File upload field | No | Yes |
Here is the simple rule:
- Not shipped? Check Virtual.
- Comes with a file? Check Downloadable.
- Both (like a downloadable eBook)? Check both boxes.
Most digital products need both boxes checked. That way there is no shipping, and the customer still gets their file.
Good Read: How Many Products Can WooCommerce Handle
Before You Start
You need three things:
- A WordPress site.
- The WooCommerce plugin installed and active.
- Admin access to your dashboard.
That is it. Virtual products are built into WooCommerce. You do not need an extra plugin.
How to Add a Virtual Product in WooCommerce (Step By Step)
Follow these steps. The whole process takes about two minutes.
Go to Products > Add New. In your WordPress dashboard, hover over Products in the left menu. Click Add New.
Add a product name. Type the name at the top. For example, “1-Hour Yoga Consultation.”
Write a short description. Add a description that tells buyers what they get. Keep it clear.
Find the Product data box. Scroll down to the Product data section. Make sure the dropdown is set to Simple product.
Check the Virtual box. Next to the Product data dropdown, you will see a checkbox that says Virtual. Check it.

Watch what happens. The Shipping tab disappears right away. That is how you know it worked. WooCommerce now treats this item as non-shippable.
Set the price. Open the General tab. Enter your Regular price. Add a Sale price if you want one.
Add tax and inventory details (optional). Set your tax status if needed. You can skip stock management for most virtual products, since you never run out.

Add a product image and category. On the right side, set a Product image. Pick a Category so shoppers can find it.
Publish. Click the blue Publish button. Your virtual product is now live.
Done. Customers can buy it, and checkout will not ask them for a shipping address.
How to Add a Virtual Product That Includes a Download
Selling an eBook, template, or audio file? You want it virtual and downloadable.
Follow steps above. Also check the Downloadable box, right next to Virtual.
Open the General tab. New fields appear. Click Add File. Upload your file or paste a file URL.
Set a Download limit (how many times they can download it). Leave blank for unlimited. Set a Download expiry (days before the link stops working). Leave blank for no expiry.

Set your price and click Publish.
Now the buyer pays, gets no shipping charge, and receives an instant download link.
How to Make an Existing Product Virtual
Already have a product and want to switch it? Easy.
Go to Products > All Products. Click the product you want to edit. Scroll to Product data. Check the Virtual box. Click on Update.

The shipping data is hidden, not deleted. If you ever uncheck Virtual, the shipping fields come back.

This is the example of how the front end of a virtual product will look like.
Virtual Products Inside Variable Products (The Part Most Guides Skip)
Here is a trap many store owners hit. For a simple product, one Virtual checkbox handles everything. For a variable product, it works differently.
The Virtual checkbox appears on each variation, not on the whole product. So if you have three sizes or three plans, you must check Virtual on all three.
Miss one variation, and WooCommerce still asks for shipping at checkout. This is the number one reason “my virtual product still wants shipping” happens.
To fix it:
- Edit the variable product.
- Open the Variations tab.
- Expand each variation.
- Check Virtual on every one.
- Make sure Weight, Dimensions, and Shipping class are blank.
- Click Save changes.
Common Problems & How to Fix Them
These are the issues real store owners report on WordPress forums. Here are the fixes.
Shipping still shows at checkout
Your virtual product still asks for a shipping address? Check these:
- Variable product? Confirm Virtual is checked on every variation (see the section above).
- Mixed cart? If a physical item is in the same cart, shipping shows for that item. That is normal.
- A plugin is forcing it. Some shipping or checkout plugins override WooCommerce. Deactivate plugins one by one to find the cause.
Checkout still asks for a billing address
This one confuses people. A billing address is not the same as a shipping address.
WooCommerce may still ask for a billing address on virtual orders. Your payment gateway needs it. Card processors use the billing address to check for fraud and prevent chargebacks. This is expected, and you usually should not remove it.
If you want to strip billing fields for free virtual products, you can, but test your payment method first. Removing them can break card payments.
The order gets stuck and the customer cannot download
Order status matters for downloads.
- If a product is both virtual and downloadable, WooCommerce completes the order automatically after payment. The buyer gets the file right away.
- If a product is downloadable only (not virtual), the order may stay on “Processing.” The customer cannot download until you mark the order Complete.
Fix: check both Virtual and Downloadable for instant delivery. Or set orders to auto-complete in your settings.
The Virtual box got checked by accident
Importing products or copying a template can turn Virtual on without you noticing. If a physical product suddenly has no shipping, this is why. Edit the product, uncheck Virtual, and update.
Tips For Selling Virtual Products Well
A few small things make a big difference.
- Name it clearly. “30-Minute Strategy Call” beats “Service Package 1.”
- Skip stock management. You never run out of a virtual item.
- Test a real order. Buy your own product to confirm checkout works.
- Protect your files. For paid downloads, use a plugin that hides the direct file URL so people cannot share it.
- Set a download limit for paid files to stop link sharing.
Frequently Asked Questions (FAQs)
Do virtual products need shipping in WooCommerce?
No. Checking the Virtual box removes all shipping fields and skips shipping at checkout. That is the whole point of a virtual product.
Can a product be both virtual and downloadable?
Yes. This is common for digital goods like eBooks and music. Check both boxes. The item has no shipping and comes with a download link.
Why does my virtual product still ask for shipping?
Usually it is a variable product with Virtual unchecked on one variation. Check Virtual on every variation. A conflicting plugin can also cause it.
Why does checkout still ask for a billing address on a virtual order?
The billing address is separate from shipping. Payment gateways use it to verify cards and stop fraud. Removing it can break payments, so most stores keep it.
Do I need a plugin to add a virtual product?
No. Virtual products are built into WooCommerce. You only need extra plugins for advanced features, like protecting download files.
Start Selling Your Virtual Product Today
Adding a virtual product in WooCommerce takes two minutes and zero code. Set the product type to Simple, check the Virtual box, add your price, and publish.
If you sell files too, check Downloadable as well. If shipping still shows up, look at your variations first.
Now open your dashboard and create your first virtual product. Then place a test order to make sure everything runs smoothly for your customers.


