How to Set up WooCommerce to Sell Digital, Downloadable Products on Your Blog

19 min read

This post may contain affiliate links. Please read disclosure for more info.


How to set up WooCommerce for your WordPress blog or site so you can start selling digital, downloadable products.

I remember when I had only three products in my shop. All of them were Pin graphic templates made with Canva. The first ale I made came out of nowhere. She wasn’t even a subscriber! (I checked!) But she found me none the less and I made 20-something bucks in my sleep.

I was literally asleep when I sold it!

And the rest is history.

Now I make about 200 bucks a month on average from the shop on the regular. I have for some time now, and I bet I could make hella more if only I added new products consistently. Which I don’t, so that’s on me!

But even so, it’s good to have $200 in disposable earning every month, wouldn’t you agree? Imagine what you could do with it! A pedicure? A nice dinner you and bae? Or you and your Mom? Or you and just you? If nothing else, stash it in the emergency car repair fund and then forget about it.

But in any case, I sure do love me $200 bucks every month off of products I made some months ago that continue to sell even today!

I have written about how to create a passive income stream by selling digital products before. Today, I’ll show you the technical side of things, namely, setting up WooCommerce to sell your products!

Let’s get started.

What You’ll Learn In This Post

All about using WooCommerce to start selling your digital products today!

What is WooCommerce and How to Use it?

WooCommerce is a plugin. It is free, and it works seamlessly with WordPress. It ONLY works with WordPress.

WooCommerce is a full-fledged e-commerce solution for WordPress users. You can use it to sell anything you want! Whether it’s physical goods you’re selling, or digital goods, and even wholesale goods. It works like any other e-commerce platform, but because it is open source, just like WordPress itself, there have been a good number of additional plugins, both by the WooCommerce creators (Automattic) and third parties, to compliment WooCommerce to add pretty much any feature or functionality you can possibly think of. Some of these additional plugins cost extra money, and some are totally free to use. But the core of WooCommerce itself has always been free.

And for what I’m about to show you, the free WooCommerce plugin itself is more than sufficient to sell digital products on your WordPress blog.

So, in the rest of this post, I’ll show you how to set up WoCommerce, how to add and sell your digital products, as well as some nifty little tools and tricks to further enhance the looks and functionalities of your digital product shop.

Why Can’t You Just Install the Plugin And Start Selling?

You can.

But don’t we all want things to be just a bit better? A bit more buyer-friendly? A bit more seller-friendly?

That’s what this post is about.

The little things that are so easy to miss, but if you do them, they enhance the user experience just that much, for yourself as the seller, as well as the ones who’re buying from you!

And that little something can often make a huge difference!

So, without further ado, let’s see how we can make the WooCommerce experience a little more refined, a little more user-friendly, and combined, a whole lot better!

Prep Your Website/Blog

As I mentioned already, WooCommerce is made for working with self-hosted WordPress. So the first thing you need to do is set up your website properly, and after that, install the WooCommerce plugin.

Set Up WordPress

You must have your website on the self-hosted WordPress platform. Also, make sure that you have SSL (Security Socket Layer responsible for a secure, encrypted connection between a web server and browser). Some payment gateways won’t even work if you do not have SSL.

I suggest signing up with SiteGround [affiliate] hosting as they have the best bang for the buck. With their GrowBig or higher plans, they offer free wildcard SSL (for your main URL as well as subdomains if you have any–a feature most other hosting companies will make you pay for), and a bunch of other features built into their system that make your site faster and more secure. They also offer free daily backups, and on-demand backups as well as full site restoration from backups, totally FREE, if you sign up for the plans mentioned above.

After you’ve purchased your domain and hosting, set up your website. I have a tutorial where I’ve laid out the setup process. Follow the steps in this blog post if you need help: How to Set Up a WordPress Blog with SiteGround.

After you’ve set up WordPress, install a theme of your choice. Make sure whichever theme you choose is WooCommerce compatible.

Technically, you can pick any theme you want, but if it isn’t Woo compatible, then the store will not have the same style as your theme, and that’ll just make your site/store unprofessional.

I personally use the Astra theme with Elementor Pro [affiliate] on this very blog. I strongly recommend the combo! Also, Elementor Pro offers certain customization to the native Woocommerse shop which I find pretty cool.

Aside from that, Genesis is also a solid WordPress framework and most Studiopress themes are WooCommerce compatible too.

Install WooCommerce

After you have your WordPress site set up and running, install the WooCommerce plugin. Go to WordPress dashboard, then click on “Plugins” on the left menu. Next, click on “Add new”, and then type “WooCommerce” in the search bar. Click “install now” on the correct plugin, and then “Activate” it. If you need further assistance, please refer to the post: How to Install Plugins to Self-Hosted WordPress Sites

Install the WooCommerce plugin.

Installing and activating WooCommerce will automatically create these pages for you: Shop, Cart, Checkout, My Account. For now, we’ll leave them be and go through the setup process first.

Set Up WooCommerce So You Can Start Selling

Once you’ve installed and activated WooCommerce, go through the setup process.

Set up WooCommerce

1. After you hit “Activate”, you’ll be redirected to a page that looks like the one below. Fill out this form with the correct information, paying special attention to the country and currency. Choose whether you want to sell both physical and digital products, only physical products, or only digital products.

Since we’re tackling selling digital products only, for the sake of this tutorial, we’ll choose only digital products. Once done, hit “Let’s go!”

Fill it out with appropriate information. make sure the country and currency are correct.

2. In the next window, you’ll be asked to set up payment gateways. For me, I have both PayPal and Stripe activated. I use Stripe for credit card payment processing. PayPal is nice to have because some people prefer that over having to give out credit card information.

The PayPal gateway requires that you have a PayPal account, and once you’re logged in to your PayPal, you can choose whether you want to pay with a credit card, transfer directly from your bank or just pay with your PayPal balance.

The reason I also have Stripe is that it allows me to process credit card payments directly from the website, without having the buyer to log into PayPal in case they do not have a PayPal account.

Now, PayPal does offer a credit card solution that does not require buyers to log into a PayPal account, but the setup process for that is much more complicated. Whereas setting Stripe was a breeze!

We’ll go through connecting these payment gateways shortly to the respective platforms, but for now, during the WooCommerce setup process, make sure you have these two options turned on.

You can use the email address associated with your Stripe and PayPal accounts respectively, or leave it blank for now and connect later when we’ll go through the process of connecting the shop to the payment gateways.

I prefer to have both PayPal and Stripe turned on.

3. When you click “continue”, you’ll see automated tax calculation on the next screen. We do not need that for digital/downloadable products, so leave it unchecked. You can also connect MailChimp and Facebook here, but I use none of those, so I’ll leave those unchecked too, and hit “Continue”.

We do not need these for downloadable/digital products.

In the next window, DO NOT bother activating Jetpack. Skip the whole thing. No other plugin is as much a waste of cyber-space as Jetpack.

And this is it! WooCommerce is not all set to go. But before you connect payment gateways to your shop and do some other tweaks to make it more digital product friendly, we need a bit of house-cleaning.

When you installed WooCmmerce, it likely added a few additional and unnecessary things. Two plugins in specific. WooCoomerce keeps switching things around, so depending on when you’re reading this post, and how much things have changed, and when this post was last updated, you may or may not see these two additional plugins: Jetpack, and WooCommerce Services. You do not need them.

The first, as I mentioned, is a waste of space, so simply deactivate, then delete the plugin. WooCommerce services can come in handy if you’re selling physical products. For digital products, we do not need it, so go ahead and deactivate then delete that plugin too.

Deactivate and delete Jetpack and WooCommerce Services

And now, you’re ready to connect your payment gateways.

Make Sure You Can Accept Payments

If you were selling physical products, you’d have to deal with shipping rates, taxes, the refund policy and what not. But because digital, downloadable products are so simple, all we really need to do is be able to accept payment.

Set up Stripe

Go to WordPress dashboard, and then from the left settings, go to WooCommerce > Settings.

On the Settings page, click on the Payments tab. You’ll see a bunch of options here. We’ll leave most of them as is (turned off), except the PayPal and Stripe – Credit card. 

We’ll start with Stripe. Click the Manage button (as shown) to finish the setup.

We’ll start with the Stripe credit card checkout option.

Here’s the setup:

Stripe setup on WordPress Dashboard.
  1. Make sure that the Enable Stripe checkbox is checked.
  2. Uncheck the Enable Test Mode checkbox. When that box is checked, the system will capture a sale. Use it to test if things are working, but when you’re ready to accept payment, make sure to uncheck it.
  3. To accept payment, you’ll need to add a webhook endpoint. It is shown in your setup page (refer to the image above). Copy this webhook and then click the link next to it. It will take you to your stripe dashboard where you can add the webhook. (You must already have a Stripe account; if not, make sure to create that first. Creating a Stripe account is straight forward and outside of the scope of this post, so I’ll leave it to you to take care of that part.) Once you’re in the Stripe dashboard, you should already be in the webhooks page. Click on the button that says “Add Endpoint”; a popup will open. Paste the URL you copied from your WordPress Stripe setup page on the designated field. Click on “Add Endpoint” on the popup to add it.
  4. After you’ve added the webhook, you’ll need to add two API keys. In the Stripe Dashboard, on the left menu, find and click on API Keys. This will show you the two keys. Copy them and paste them on WordPress Stripe setup page in their designated fields.
  5. Make sure to check “Capture charge immediately”.
  6. Leave the rest of the setup as is (refer to the image above).
  7. And done!
Add the webhook endpoint you copied from WordPress Stripe Setup page, to your Stripe Dashboard.
Get the necessary API keys from Stripe Dashboard > API keys.

Set up PayPal

Go back to WooCommerce > Settings > Payments.

This time, we’ll set up PayPal. Now, you’ll see two options for PayPal here. One says PayPal, and the other says PayPal Checkout. We’ll choose the former. The latter has a few more options that we do not need as digital, downloadable product sellers.

So, enable the PayPal option and click on Set up next to it (and DISABLE the PayPal Checkout option!)

Make Sure to turn on PayPal, and NOT PayPal Checkout.

Now, go through the setup:

PayPal setup page.
  1. Make sure to check Enable PayPal Standard.
  2. Enter the email address that is associated with your PayPal account. This is important; that’s how PayPal knows where to send payments.
  3. IPN email notification is used for refunds and such. You can uncheck it or leave it as is. Digital, downloadable products are typically instantaneous, so refunds are not issued on these type of items. We don’t need to worry about that.
  4. may sure Payment Action is set to Capture.
  5. Since we do not need to issue refunds, there’s no need to set up API credentials. leave those blank or at their default state.
  6. Save changes and you’re done!

Make Sure Your Shop Related Pages are Working

When you installed and activated WooCommerce, it would have automatically created four (4) pages for you: Shop, Cart, Checkout, and My Account.

The Shop Page is where your products are shown.

The Cart Page is where the items one intends to buy are stored (after someone has clicked on “Add to Cart”).

The Checkout Page is where the payment is processed.

The My Account Page is where people can access their purchase history. If you’re selling downloadable products, your buyers will be able to log in to their account (provided they created an account when purchasing an item) and download a product they had previously purchased.

After you’re done setting up payment gateways, go to Dashboard > Pages and then make sure these pages have indeed been created. Check out the live pages as well, just to make sure they’re working as intended. Feel free to create a dummy product by going to Dashboard > Products > Add New, and make sure it works.

You can rename the pages if you want. Just edit the name and slug (URL) as you would for any page or post.

If you have a theme that is customized for WooCommerce, the shop styles will reflect the overall site styles. If not, then your theme is not WooCommerce compatible. The shop and all other related features and functionalities will continue to work, just that they won’t look very pretty.

Make Sure You Get Notifications in the Right Email

By default, WooCommerce sends all sales and related notifications to the site administrator’s email address. You can change it by going to Dashboard > WooCommerce > Settings and then clicking on the Emails tab.

Guest Checkouts and Customer Accounts

I like to make sure people can check out as guests or create an account if they want to. This way, those who create an account can easily access all their downloadable items from their account page, view their order, etc.

To make sure all of these settings are properly set up, go to Dashboard > WooCommerce > Settings and then click on the Accounts & Privacy tab.

Below are the settings that I’m using:

Select whether or not people can create an account.

Check the option to allow customers to place orders without an account.

Check the box that says “Allow customers to log into an existing account during checkout.”

Also, check “Allow customers to create an account during checkout.”

Personally, I only allow customers to create an account during the checkout process, and not on the My Accounts page. So I leave that option unchecked.

Make sure to always save your changes!

Privacy Policy and Customer Information Retention

In the same Accounts and Privacy page, you can also set which page to use as your Privacy Policy. You can also set how long you want the system to retain your customer’s information.

Bypass Processing, and Automatically Mark Orders Completed

For physical products, services or custom-made-to-order products, there’s usually a period between the time when an order is placed, and when order is shipped r delivered otherwise. But for products that are instantaneously downloadable, which is the focus of this post, there is no processing time. Every order is completed as soon as they are placed because all downloadable items are available to the customer as soon as they place an order.

So, you want to make sure that there is not processing time lag. The customer isn’t usually affected by this, but to make your own life easier so that you don’t have to go to the backend and manually mark every single order completed, you can add a nifty little function to your site so that all orders are automatically marked completed as soon as they are placed.

Do keep it in mind that adding this code to your site will make ALL ORDERS complete as soon as they are placed. Add this code only if you’re selling only digital, instantaneously downloadable products. If you have a mix of products that are complete right away and some that need processing time, then do not add this code.

How to Add the Code to Bypass WooCommerce Processing

if you have a child theme, you can add the code directly into your child theme’s functions.php file. You can access this file via ftp or by going to Dashboard > Appearance > Theme Editor. Make sure your child theme is selected, and then click on the functions.php file. Add the code and save.

Alternately, if you do not want to mess with the theme files, or you’re not entirely sure how to do this, you can use a plugin for this. By now you should know how to add a plugin to your WordPress site. Just how you added WooCommerce in the first place, now also add a plugin called “My Custom Functions” by Space X-Chimp.

You can add custom functions to your theme using the plugin My Custom Functions.

After you’ve installed and activated the plugin, go to Dashboard > Settings > PHP Inserter.

You’ll see a box where you can insert your code.

In this box, copy and paste the following codes:

/**
* Auto Complete all WooCommerce orders.
*/
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) { 
     if ( ! $order_id ) {
          return;
     }
$order = wc_get_order( $order_id );
$order->update_status( 'completed' );
}

After adding this code, make sure to save it by clicking the “Save Changes” button.

Also, make sure that the code is applied by making sure that the Functions (PHP Code) box is turned on. By default, it is turned off. So, make sure to turn it on.

You must turn on the box to apply the code to your theme.

How to Add Digital, Downloadable Products

Adding products is similar to adding a page or post on WordPress, with a few additional sections so that you can add product-specific things such as price, quantity, additional gallery images, downloadable file, etc.

Based on your product specifications, some of these will change, but here’s an example of how a typical digital, downloadable product is added:

  1. Go to WordPress Dashboard > Products > Add New.
  2. Add your titles and descriptions. WooCommerce has two separate description boxes. Remember that the top description box in the WordPress product editor is the one that shows up underneath the product images in the actual product page on the site. And the description box that is at the bottom of the product editor page is the one that shows up at the top, next to the product image, in the actual product page.
  3. You also have two different places, within the WordPress product editor page, where you can add images. One of them is the “product image”, which is the main product image that shows up in the Shop page, as well as the first (larger) image that people see in the single product page. The other section is the “product gallery”, which is where you can add more photos. In the single product page, these are shown right below the main image. But if you click on any of these, the top-main image is replaced by the one you click.
  4. Towards the middle of the product editor, you’ll see the section where you can do all the fun stuff, like, setting the price, adding the actual downloadable product, etc. Let’s take a close look!
    (Follow the images!)
Choose simple product, and check both virtual and downloadable.

Make sure to choose “Simple Product”, and then check both “Virtual” and “Downloadable”. Typically, you wouldn’t need the “Virtual” option, but I have had issues with downloads when I didn’t have that option checked. So, make sure to check both.

Under the “General” tab, set your price, and add the files your buyers will be able to download upon purchase.

You can also set a download limit and expiry if you want to. If you do not want to set any limits, just leave those blank.

Set inventory if you want.

Under the “Inventory” tab, you can set up ho many products you’re selling. These are digital products, so, technically, you do not need to set a limit or have inventory. It is totally up to you whether or not you want to set a limit to how many of these products you’ll sell.

Also, since they’re all digital, downloadable products, there is no reason to allow backorders.

I also make sure to check “Sold individually”. Nobody needs multiple copies of the same digital product. if anything, it may cause confusion if someone accidentally chose more than one; then you’ll need to deal with refunds and you don’t want to waste time with that.

Choose cross-sells and/or upsells.

Under “Linked Products”, you can choose if you want to upsell or cross-sell products. My favorite is the cross-sells which are products that are shown in the Cart. These should be products that compliment the one your buyer is about to purchase.

You can also just leave them blank if you want a cleaner cart page.

To add a product, simply start typing the name of the product, and it will automatically pull the product for you.

The Attribute tab is used if you have a variation of the same product within one product. For example, if you have a product with two size variations. You can use this section to add your variants based on their attributes. For the sake of brevity, I’ll skip this part as it is not the most common setting digital/downloadable product sellers use.

Additional options are found under the Advanced tab.

Under the “Advanced” tab, you can add a purchase not, enable or disable reviews, and also, use the “Menu order” field to set in which order the product is shown. If not sure, leave them blank.

Review everything, and then hit “publish”!

Tweaks to Further Enhance User Experience

At this point, you are ready to sell products.

But why stop here when we can make things better?

Let’s see how we can tweak things further to make the products look better.

Change Product Image Dimension

After adding more products, your “Shop” page may look something like this:

The main product page right out of the box.

As you see, the main photo appears square right out of the box. maybe you want that, but maybe you don’t. You can change that in the WordPress customizer. Go to Dashboard > Appearance > Customize. Then, click on “WooCommerce” from the left menu, and then click on “Product Images”. You can choose custom size or check “uncropped” if you want to retain the original ratio.

Change the size of the product images in the WordPress customizer.

Enable or Disable Product Reviews

Some people give honest reviews, but the internet is full of trolls and some people just want to mess with you. I prefer to turn off all reviews because what’s the point? If a customer is not happy, trust me, they’ll let you know! You do not need reviews for that.

Unless you have an assistant who can help you with vetting reviews from spam, I suggest you turn off this feature.

To do this, go to Dashboard > WooCommerce > Settings and then, under the Products tab, scroll down until you see the option “Enable Reviews” Make sure the box is unchecked. Then save your changes.

Change the Add to Cart Button on the Main Shop Page

Do you see how the buttons on the main shop page, under the products, say “Add to cart”? This is annoying. Clicking that button automatically adds a product to the cart. if you want to view details of the product itself, you will need to click on the image itself.

Now, unless you know how WooCommerce works, you’ll click the button and instead of going to product details, you’ll just end up adding the product to your cart.

Let’s change that, shall we?

Just go to your custom functions plugin page once again (Dashboard > Settings > PHP Inserter), and then right below the codes that you added previously to bypass the order processing time, insert the code below, and then save changes.

//Change Add to Cart Button Text
add_filter( 'woocommerce_loop_add_to_cart_link', 'add_product_link' );
function add_product_link( $link ) {
     global $product;
     echo '<form action="' . esc_url( $product->get_permalink( $product->id ) ) . '" method="get">
     <button type="submit" class="button add_to_cart_button product_type_simple">' . __('View Details', 'woocommerce') . '</button>
     </form>';
}

You can choose for the button to say anything; in the code above, I have set it to say “View Details”. You can change that to whatever you want. After adding that code, clicking the button will take the user to the product page instead of automatically adding the product to cart.

The product page now looks like this:

Much better-looking product page.

Get Rid of Unnecessary Info in the Checkout Page

The checkout page has way too much information for the client to fill out. These may be necessary for physical products, such as shipping and billing addresses, but not for digital, downloadable products. You can make the checkout process for such digital items much smoother if you get rid of this unnecessary information.

You can do so easily with a simple plugin called “Woo Checkout for Digital Goods” by Thedotstore.

Just install and activate the plugin, which will create a new dashboard menu item called “Woo Checkout Fields”.

Go to Dashboard > Woo Checkout Fields, then select all the option. Save settings to apply them.

Under Woo Checkout Fields, elect all then save.

This will take away all the unnecessary billing and shipping information and will create a clean checkout page where your customers will only have to add their email address and payment information to make a purchase.

Optimize Your Shop for Pinterest

We all know by now how important it is to drive traffic to your blog via Pinterest. The same is true for your digital products. Here are some interesting stats:

  • 59% of millennials discover products on Pinterest.
  • 90% of weekly Pinterest users use the platform to make purchase decisions.
  • 55% Pinners look for product ideas.

So, yes, you and your products need to be on Pinterest!

Pinterest has a nifty feature called the Rich Pins. When activated through the Rich Pin Validator, Pinterest shows useful information such as product price, title, description, etc. here’s what a product pin looks like from my blog shop.

Product rich Pin from TSB Blog Shop.

Now, the thing is, WooCommerce doesn’t come equipped with all the necessary markups for Pinterest to show this information. So, you’ll need to add some custom codes. Simply go to the custom functions plugin (Dashboard > Settings > PHP Inserter), add the following code right below all the other codes you have added so far, and then save.

//WooCommerce Metadata
function add_open_graph_meta(){
	if( is_product() ){
		$product = new WC_Product( get_the_ID() );
		echo '<meta property="og:price:amount" content="'.$product->price.'" />';
		echo '<meta property="og:price:currency" content="'.get_woocommerce_currency().'" /> ';
		/* Hardcode a product brand here or get the term from a plugin*/
		echo '<meta property="og:brand" content="Your brand" />';
		// Get the product rating if it has been rated
		if ($product->get_rating_count() > 0){
			echo '<meta property="og:rating" content="'. $product->get_average_rating().'" />';
			echo '<meta property="og:rating_count" content="'. $product->get_rating_count().'" />';
			echo '<meta property="og:rating_scale" content="5" />';	
		}
		// Get in stock & out of stock
		if ( $product->is_in_stock() ) {
        	echo '<meta property="og:availability" content="in stock" />';
    	}else{
			echo '<meta property="og:availability" content="out of stock" />';	
		}
	}
}
/*Add da hook */
add_action( 'wp_head', 'add_open_graph_meta' );

There are plenty of other tricks and tweaks to make things better, but well, this post is already turning into a mid-length eBook of sort, so I’ll stop here. At this point, your store is perfectly functional, and you have all the necessary tools in place to make it as smooth sailing as possible for yourself as well as for your customers.

You can further refine how the shop looks and works with the settings you have available, or with custom plugins and CSS. Play with it and refine things further as you go. However, for starter, this tutorial will get you out the door.

All you need to do now is actually create some digital, downloadable products. And as I’ve said before, it’s a pretty nifty way to make some disposable income on the side. Make these products once and then continue to sell and add to your revenue!

It’s a pretty cool way to make some passive income.

As always, let me know if you have any question for me, or leave a comment below.

It's time to grow your blog already!

Sign up for weekly tips on blogging, branding, design, business, and monetizing your hobbies and skills + Subscribers get access to the library of epic freebies! 

Your email is safe here; no spam, like, EVER! You can unsubscribe at any time.

How to set up WooCommerce for your WordPress blog or site so you can start selling digital, downloadable products.

How to set up WooCommerce for your WordPress blog or site so you can start selling digital, downloadable products.

2 thoughts on “How to Set up WooCommerce to Sell Digital, Downloadable Products on Your Blog”

Leave a Comment

Your email address will not be published. Required fields are marked *