Importing digital products into WooCommerce using a CSV file streamlines the process of adding multiple items, such as eBooks, audio files, and software downloads, efficiently. This method is essential for businesses looking to scale their digital offerings without the burden of manual entry, ensuring accuracy and saving time.
- A CSV file allows bulk import of digital products into WooCommerce, including essential details like names, prices, and downloadable file URLs.
- Digital products in WooCommerce are classified as either virtual, which do not require shipping, or downloadable, which provide access to files after purchase.
- Proper preparation of the CSV file is crucial, including ensuring correct file hosting and using UTF-8 encoding to avoid import errors.
- WooCommerce offers a built-in product importer, while plugins like WebToffee provide advanced features for managing complex imports and updates.
- Users can update existing products by including their SKU in the CSV, allowing for modifications without creating duplicates.
- Testing imports with a small batch helps verify that all settings, links, and product details function correctly before a full-scale import.
Adding digital products individually can become time-consuming when you have dozens or hundreds of eBooks, PDFs, audio files, software downloads, courses, or other downloadable resources.
A CSV file lets you add these products to WooCommerce in bulk. You can include product names, prices, descriptions, categories, downloadable file URLs, download limits, expiry periods, images, and other details in a single file.
In this guide, we’ll explain how to prepare a WooCommerce digital product CSV and import it using two methods:
- WooCommerce’s built-in product importer
- WebToffee’s Product Import Export plugin for WooCommerce
In WooCommerce, a digital product is anything a customer can buy and access online without shipping. These products are delivered electronically after purchase. Common examples include:
- eBooks and PDFs
- Online guides, checklists, and worksheets
- Software files or plugins
- Audio files, music, or podcasts
- Video files or digital courses
- License keys or downloadable resources
If the product doesn’t need to be packed or shipped, WooCommerce can treat it as a digital product.
Virtual vs Downloadable Products in WooCommerce
Although the terms are often used together, virtual and downloadable products are not exactly the same.
Virtual Products
A virtual product does not require physical shipping. When you mark a product as virtual, WooCommerce removes shipping-related fields and calculations for that product.
Examples include:
- Online consultations
- Digital services
- Membership access
- Event registrations
Downloadable Products
A downloadable product gives customers access to one or more files after purchase.
Examples include:
- PDFs
- ZIP files
- Audio files
- Videos
- Software installers
- Digital templates
Can a Product Be Both Virtual and Downloadable?
Yes. Most digital products should be marked as both virtual and downloadable.
For example, an eBook does not require shipping and includes a PDF file. It should therefore have both settings enabled.
However, a product can be:
- Virtual but not downloadable, such as an online consultation
- Downloadable but not virtual, such as a physical book that includes a free PDF
- Both virtual and downloadable, such as an eBook or software file
Before You Import Digital Products
A few checks before the import can help prevent broken downloads, duplicate products, encoding problems, and failed rows.
Use this checklist before uploading your CSV:
- Back up your WooCommerce store.
- Test the import with two or three products first.
- Save the CSV using UTF-8 encoding.
- Assign a unique SKU to every product.
- Confirm that every downloadable file URL works.
- Use direct HTTPS URLs wherever possible.
- Make sure the CSV column headings are clear and consistent.
- Check the download limits and expiry periods.
- Verify that product image URLs are publicly accessible.
- Avoid changing existing SKUs when updating products.
Before you upload digital products using a CSV file, it’s important to do a bit of preparation. Spending a few minutes organizing your files and CSV data upfront can save you from import errors, broken downloads, and extra cleanup later.
Let’s break this down step by step.
Organizing Digital Files
Your CSV file will only work properly if WooCommerce can access the digital files you’re selling. That means your files need to be hosted correctly and linked properly. WooCommerce supports different ways to host digital files. You can choose what works best for your store.
WordPress Media Library
You can upload your files directly to the WordPress Media Library and use their URLs in your CSV.
This method is:
- Easy to manage from WordPress
- Suitable for PDFs, images, and smaller ZIP files
- Convenient for stores with a limited number of downloads
However, it may not be ideal for very large files or stores with high download traffic.
Cloud Storage or Object Storage
You can host files using services such as Amazon S3 or another compatible cloud storage provider.
This can provide:
- Better performance for large files
- Reduced load on your WordPress hosting server
- More control over file storage and delivery
- Improved scalability
External File URLs
You can also use external file URLs, but the link must point to a file that WooCommerce and the customer can access.
Be careful when using Google Drive, Dropbox, or similar platforms. A sharing-page URL may not work as a direct downloadable file URL.
Before adding an external URL to the CSV:
- Open the URL in a private browser window.
- Confirm that it opens or downloads the correct file.
- Check that the link does not require a login.
- Avoid temporary or expiring URLs.
- Make sure the server does not block external access.
Content Delivery Network
A CDN can help customers download files from a server closer to their location. This may improve download speed and reliability.
Prepare the WooCommerce Digital Product CSV
Once your downloadable files are ready, you can prepare the CSV file.
The file should contain one row for each product and separate columns for each product field.
Recommended CSV Columns for Digital Products
The following fields cover the most common requirements for importing digital products.
| CSV column | Example value | Purpose |
|---|---|---|
| Type | simple | Defines the WooCommerce product type |
| SKU | ebook-001 | Provides a unique product identifier |
| Name | WooCommerce Setup Guide | Sets the product name |
| Published | 1 | Publishes the product |
| Regular price | 19.99 | Sets the product price |
| Virtual | 1 | Disables shipping requirements |
| Downloadable | 1 | Enables downloadable files |
| Download 1 name | Setup Guide PDF | Sets the customer-facing file name |
| Download 1 URL | https://example.com/files/setup-guide.pdf | Provides the downloadable file URL |
| Download limit | 3 | Limits the number of downloads |
| Download expiry days | 30 | Sets the link expiry period |
| Description | Product description | Adds the full product description |
| Short description | Short summary | Adds the summary shown near the price |
| Categories | Digital Products > eBooks | Assigns the product category |
| Tags | woocommerce, ebook | Adds product tags |
| Images | https://example.com/images/guide.jpg | Imports the product image |
| In stock? | 1 | Marks the product as available |
Use a consistent format throughout the CSV. For Boolean fields such as Virtual, Downloadable, Published, and In stock, use 1 for enabled and 0 for disabled.
Example WooCommerce Digital Product CSV
Here is a basic CSV example for a downloadable eBook:
Type,SKU,Name,Published,Regular price,Virtual,Downloadable,Download 1 name,Download 1 URL,Download limit,Download expiry days simple,ebook-001,WooCommerce Setup Guide,1,19.99,1,1,Setup Guide PDF,https://example.com/files/woocommerce-setup-guide.pdf,3,30
This row tells WooCommerce to:
- Create a simple product
- Use ebook-001 as the SKU
- Publish the product
- Set the price to 19.99
- Disable shipping
- Enable downloadable content
- Attach a PDF file
- Allow three downloads
- Expire the download link after 30 days
How to Add Multiple Downloadable Files
WooCommerce can attach multiple downloadable files to the same product. For example, an online course might include:
- A course workbook
- A checklist
- A bonus template
Add separate numbered columns for each downloadable file.
| Download 1 name | Download 1 URL | Download 2 name | Download 2 URL |
| Course Workbook | https://example.com/course.pdf | Bonus Checklist | https://example.com/checklist.pdf |
A CSV row with two files might look like this:
Type,SKU,Name,Virtual,Downloadable,Download 1 name,Download 1 URL,Download 2 name,Download 2 URL
simple,course-001,WooCommerce Starter Course,1,1,Course Workbook,https://example.com/course.pdf,Bonus Checklist,https://example.com/checklist.pdf
Make sure each file has both a name and a URL. A missing name or URL can prevent the file from being added correctly.
Before we dive in, make sure you have a product CSV file ready.
- Migrating from another WooCommerce site?
You can easily export your digital products as a CSV file from your current WooCommerce store.
- Switching from another eCommerce platform?
Most platforms allow you to export your entire product catalog as a CSV file. You can then upload this file to your new WooCommerce store and get started with a fully stocked product list.
Once you have the CSV file, you’re ready to begin importing products into your WooCommerce store.
Note: For a flawless import, the CSV file needs to be UTF-8 encoded. Refer to this article on how to save a CSV file in UTF-8 encoded to know more.
Also Read: How to Export Products from WooCommerce?
Method 1: Import Digital Products Using WooCommerce
WooCommerce has a built-in product CSV importer, and both WordPress and WooCommerce provide full support for exporting and importing data in the CSV format. This implies that you may use a single CSV file to import, export, and update all of your products.
Let’s go over the procedure step by step.
Step 1: Navigate to WooCommerce Products Page
From your WordPress dashboard,
- Go to Products > All Products.
- Click on the Import button.

Step 2: Upload CSV File
To import your digital products into your WooCommerce store, upload your CSV file in this step.
Select whether you want to update existing products if necessary.

Once you have selected a CSV file to upload, click Continue to proceed.
Step 3: Map CSV Fields to Products
Choose which fields in your CSV file to ignore and map to the fields in the CSV with those in your WooCommerce store.

If you are happy with the options, click Run the importer button.
This will then import the digital products into your WooCommerce Store.

Method 2: Import Digital Products Using the WebToffee Plugin
WooCommerce’s built-in CSV importer works well for basic imports. But if you’re managing a large number of digital products, updating files frequently, or dealing with more complex setups, an advanced import/export plugin can make the process much easier.
WebToffee’s Product Import Export for WooCommerce plugin is built to handle exactly this. It makes importing and exporting digital products in WooCommerce quick and hassle-free. Follow the steps below to import your digital products using the plugin.
Step 1: Install WebToffee Product Import Export Plugin
From the WordPress dashboard,
- Go to Plugins > Add New Plugin.
- Enter the search term “WebToffee Product import plugin” in the search box.
- Install and activate the plugin.

Step 2: Choose Product as Post Type to Import
Once the plugin is installed, navigate to:
- WebToffee Import Export (Basic) > Import from the WordPress dashboard.
- Select the post type as Product.

- After the post type selection, click on Select import method button.
Step 3: Select Advanced Import Method
You can import products in two ways: Quick Import and Advanced Import. We will use the Advanced import option because it allows for filters and customization, making it simple to import just the products you want.
For detailed instructions on import methods, refer to the plugin user guide.
If you want to try out a sample CSV file, you can easily download one from the option next to the Choose File for Import button.
Next, just upload the CSV file from your computer to continue importing.

Step 4: Map Product Import Columns
The import mapping feature lets you map the column headers in the CSV file to the WooCommerce product data fields. The mapping section is crucial if you import from a different eCommerce platform, such as Magento or Shopify.

Once you have mapped the CSV file, you need to move on to the next and final step of importing the product.
Step 5: Import Products to WooCommerce
The plugin offers you some critical import options in this phase. It includes,
- Skip import of new products.
- Match product by their ID or SKU.
- Update existing products in your store.
- Import new products.
- Set up the batch count for batch import.
You can now click the Import button to start the process. All the digital products in the CSV will begin to be imported and appear in your WooCommerce store.

Quick Tip: Save the import template to reuse it for future imports!
As instructed in the CSV, the sample digital product, a music file, is imported into WooCommerce.

The free version of the plugin is perfect for managing basic product import and export tasks.
If you have more advanced requirements, the premium version of the WooCommerce Product Import Export plugin provides extra features designed for more intricate digital product management. This includes support for variable, subscription, and custom product types, making it great for digital offerings such as bundles or memberships.
How to Update Existing Digital Products Using CSV
You can also use a CSV file to modify digital products that already exist in WooCommerce.
For example, you may need to:
- Replace an old downloadable file
- Add a new bonus file
- Change a file URL
- Update the product price
- Modify the download limit
- Extend the download expiry period
- Change descriptions or product images
Match Products Using their SKU or ID
Include the existing SKU or product ID in the CSV so the importer can identify the correct product.
For example:
SKU,Regular price,Download 1 name,Download 1 URL ebook-001,24.99,Updated Guide PDF,https://example.com/files/updated-guide.pdf
During the import, enable the option to update existing products.
Avoid removing or changing the SKU unless you understand how the importer matches products. When the SKU does not match an existing product, WooCommerce may treat the row as a new product.
Test Updates on a Small Batch
Before replacing file URLs across the entire catalog, test the update with one or two products.
Confirm that:
- The correct product was updated
- The previous file was replaced as intended
- The new download link works
- Unrelated product information was preserved
Yes. WooCommerce includes a built-in CSV importer that can create digital products in bulk. Your CSV should include the product details, virtual and downloadable settings, downloadable file name, and file URL.
Common fields include SKU, Name, Type, Regular price, Virtual, Downloadable, Download name, Download URL, Download limit, and Download expiry days. You can also add descriptions, categories, tags, images, and stock information.
Most downloadable-only products should also be virtual because they do not require shipping.
However, a physical product can include a downloadable file without being marked as virtual.
Yes. Add separate numbered columns for each file, such as Download 1 name, Download 1 URL, Download 2 name, and Download 2 URL.
Yes. Include the existing product SKU or ID, add the new file URL, and enable the option to update existing products during the import.
WooCommerce’s standard product fields do not provide complete license-key management. License keys are usually handled through custom fields or a licensing plugin.
You may need an importer that supports custom metadata and third-party plugin fields like the WooCommerce Product Import plugin.
Open the imported product, check its downloadable settings, place a test order, and download the file as a customer. This confirms that the URL, permissions, limits, expiry settings, and order delivery process work correctly.
Wrapping Up
With the global digital product market proliferating, selling eBooks, software, and online courses has never been more accessible.
You can use WooCommerce’s built-in importer to bring in your digital products. Alternatively, you might consider the more advanced features offered by WebToffee’s Product Import Export Plugin for WooCommerce. The built-in tool is adequate for basic imports, but the WebToffee plugin provides additional flexibility, making it an excellent choice for scaling your store effectively.
Either way, these tools help you save time, reduce mistakes, and grow your digital product business effortlessly. Hope this post helped you and pointed you in the right way. If you have any questions or feedback, comment below, and we will get back to you at the earliest.