Home » Blog » Selling Digital Products with WooCommerce: Downloads, Licences and Delivery
WooCommerce

Selling Digital Products with WooCommerce: Downloads, Licences and Delivery

Selling digital products with WooCommerce - overview of the main digital product types: ebooks, software, design templates and audio assets, delivered instantly

If you want to sell digital products with WooCommerce, you are choosing the best-margin business model an online store can have: no shipping, no stock, no warehouse, and a product that costs the same to sell once or ten thousand times. I have built digital stores for photographers selling presets, developers selling plugins, designers selling templates and consultants selling ebooks and toolkits, and the pattern is always the same – the product is the easy part, and the delivery, protection, VAT and licensing are where stores get it wrong.

This guide covers the whole picture as I set it up for clients: what actually sells as a digital product, how WooCommerce’s native downloadable products work, where to host the files so they cannot be pinched with a direct link, how to make delivery emails land instantly and reliably, the digital VAT rules that catch EU sellers, licence keys for software and templates, how buyers get updates, the honest reality of refunds and piracy, pricing models that work, and whether you should sell on your own store or a marketplace. Real tool names, real numbers, no hype.

Table of contents

What actually sells as a digital product

Almost anything that can be a file can be a product, but some categories sell far better than others because the buyer knows exactly what they are getting:

  • Ebooks, guides and workbooks. PDF and EPUB. The classic entry product – low production cost, instant delivery, and buyers understand the format. Consultants and coaches do well here because the ebook doubles as a lead product for services.
  • Design templates. Figma and Canva templates, Notion templates, pitch decks, CV templates, social media packs. One of the fastest-growing digital categories, and one where tiered licensing (personal vs commercial) genuinely matters.
  • Presets and assets for creators. Lightroom presets, LUTs, Procreate brushes, fonts, icons, stock photo packs, sound effects. Photographers and videographers buy these repeatedly, which makes bundles very effective.
  • Software, plugins and themes. The highest-value category and the most demanding: buyers expect licence keys, activation limits, updates and support. This is where WooCommerce genuinely outperforms simple checkout tools, because you can run the whole licence lifecycle on your own store.
  • Audio and music. Beats, sample packs, meditation audio, stock music with usage licences.
  • Printables. Planners, wall art, party kits – small basket values but very high volume potential.

Where courses fit – and where they do not. A downloadable video course sold once as a ZIP or a set of files is a digital product and works fine with the setup in this guide. But the moment you want drip content, lesson progress, a community, or ongoing access that can be renewed or revoked, you are building a membership, not a download – that needs protected content and recurring billing, which I cover separately in my guide to WooCommerce subscriptions and memberships. A useful rule: if the customer keeps a file, it is a digital product; if the customer keeps access, it is a membership.

How a digital store differs from a physical one

Store owners moving from physical to digital products – or adding digital lines to an existing store – often assume the digital side is simply “physical minus shipping”. It is not, and the differences change how you configure WooCommerce:

  • Stock is infinite. No inventory management, no out-of-stock states, no forecasting. Turn stock tracking off for digital products; a “sold out” badge on a file is a configuration mistake I still see on client stores.
  • Delivery is measured in seconds, not days. The buyer expects the file in their inbox before they have closed the checkout tab. Anything slower generates a support ticket.
  • Margins are near total, so acquisition cost is the whole game. With no cost of goods, the profit question is entirely about what a sale costs you in ads, fees and time.
  • VAT flips to the customer’s country. For automatically delivered digital products sold to EU consumers, you charge the rate of the buyer’s country, not yours – more on this below, because it surprises almost everyone.
  • Refunds work differently. A physical parcel comes back; a downloaded file does not. The EU handles this with a specific withdrawal-right exception that your checkout must implement correctly.
  • Fraud looks different. Digital stores attract card testing (instant delivery makes them ideal for validating stolen cards) rather than parcel fraud. Rate limiting and gateway fraud rules matter from day one.

The practical consequence: do not copy the settings from a physical store. Digital stores skip shipping zones entirely, need “grant access after payment” configured deliberately, and need tax settings that physical stores never touch.

Comparison table of digital versus physical WooCommerce stores across stock, delivery speed, margins, VAT rules, refunds and fraud patterns
Digital stores are not physical stores minus shipping – stock, VAT, refunds and fraud all work differently.

Setting up downloadable products in WooCommerce

The good news: WooCommerce handles digital products natively, with no extra plugins needed for the basics. The setup is two checkboxes and a handful of settings that most stores never review.

Virtual and downloadable: two checkboxes, two jobs

On the product edit screen, Virtual tells WooCommerce there is nothing to ship – it removes shipping fields and weight/dimensions. Downloadable attaches files to the product and unlocks the download settings. A digital product is normally both. (A service is virtual but not downloadable; a physical CD with a bonus PDF is downloadable but not virtual.) Once Downloadable is ticked, you add one or more files – each gets a name the customer sees and a URL – plus two per-product settings:

  • Download limit – how many times the customer can download each file. I set this generously (10 or more) or leave it unlimited: people re-download on new devices, and a stingy limit of 1-3 creates support tickets, not security.
  • Download expiry – days until the links stop working. Leave it empty for lifetime re-download (what buyers expect for most products), or set it deliberately if your licence terms say access is time-limited.

The three store-wide settings that matter

Under WooCommerce > Settings > Products > Downloadable products you will find the settings that decide whether your files are actually protected:

File download method How it works When to use it
Force downloads PHP reads the file and streams it to the buyer; the real file URL is never revealed Default choice for most stores; safe on any host
X-Accel-Redirect / X-Sendfile PHP authorises the download, then the web server serves the file directly Best option when the host supports it – protected URLs without PHP memory or timeout limits on large files
Redirect only The buyer is redirected to the file’s real URL Almost never – anyone who has the URL can share it and it will keep working

Ask your host whether X-Accel-Redirect (Nginx) or X-Sendfile (Apache) is available; on good hosting it usually is, and it is the best of both worlds. Avoid “Redirect only” unless a hosting limitation forces it – and if it does, treat that as a reason to change hosting. The same settings page has two more checkboxes worth ticking: requiring login for downloads (only if all your buyers have accounts) and, more importantly, “Grant access to downloadable products after payment”, which releases files when an order reaches Processing rather than waiting for Completed. For a pure digital store I also enable auto-complete for paid digital orders so orders do not sit in Processing forever – a snippet or a small plugin handles that.

Beyond the basics, everything in the rest of this guide – offloaded storage, licence keys, update APIs – layers on top of this native foundation. Before launch, run the full test pass from my WooCommerce store launch checklist with a real card purchase, not just an admin preview.

File hosting: local vs S3, and protecting your downloads

Where the actual files live is the decision most digital stores get wrong first. WooCommerce’s file uploader drops files into wp-content/uploads/woocommerce_uploads/, which WooCommerce protects with an .htaccess rule (Apache) – but on Nginx that rule does nothing unless the equivalent config is added manually, and I regularly audit stores where every paid file is one guessable URL away from being public. Check yours today: take a product file URL and open it in a private browser window. If the file downloads without a purchase, your protection is broken.

Local hosting: fine to start, with three caveats

Keeping files on your own server is completely fine for small files and modest volume, provided the download method is Force or X-Accel (never Redirect), the uploads folder is actually blocked from direct access on your web server, and you accept that every download consumes your hosting bandwidth and that your backups now include every product file version you have ever uploaded. For a store selling 5 MB PDFs, none of that matters. For a store selling 2 GB video bundles, all of it does.

Offloading to S3 or similar: the scalable option

For large files or serious volume, move product files to object storage – Amazon S3, DigitalOcean Spaces or Cloudflare R2 (R2’s zero egress fees make it the cheapest option for heavy downloads). Two ways to wire it up:

  • WP Offload Media (WP Engine) – offloads the whole media library including WooCommerce files, and its paid tier serves protected downloads via expiring signed URLs, so a shared link dies after minutes.
  • Amazon S3 links per product – keep the bucket private and use a plugin that generates pre-signed URLs at download time. Never paste a public S3 URL into the product file field; that is “Redirect only” with extra steps.

Signed, expiring URLs are the real protection. Whatever the storage, the goal is the same: the buyer receives a link that authorises one download session, generated per request, expiring quickly. That single property defeats casual link sharing better than anything else on this list, costs the legitimate buyer nothing, and is invisible in normal use.

Instant delivery emails done right

The delivery email is the product experience. Buyers judge a digital store on the sixty seconds after payment, and three things decide how that minute goes:

  • Speed. With “grant access after payment” enabled and card or wallet payments, the Processing email with download links fires within seconds of payment. Watch out for payment methods with delays: bank transfer (BACS) orders sit On Hold with no files until you confirm payment, which is fine as long as your checkout says so plainly. If you cannot explain the delay at checkout, do not offer the method on a digital store.
  • Deliverability. WordPress’s default PHP mail lands in spam often enough to sink a digital store. Send order emails through a transactional SMTP service – Brevo, Postmark, SendGrid or Amazon SES via a plugin like WP Mail SMTP or FluentSMTP – with SPF, DKIM and DMARC records set on your domain. Cost is a few euros a month; the alternative is a steady stream of “I paid and got nothing” tickets from people whose files are sitting in spam.
  • Clarity. The default WooCommerce email buries download links below the order table. Move the downloads block to the top of the Processing/Completed email template, name files properly (“Brand Guidelines Template v3 – Figma file”, not “final-final2.fig”), and add two sentences: where to re-download later (the My Account > Downloads page) and where to get help.

Two configuration decisions support this. First, think about guest checkout: guests get download links by email but no account page to return to, so for digital stores I enable automatic account creation at checkout – re-downloads then live behind a login, which quietly discourages link sharing too. Second, place a download prompt on the order confirmation page itself, so the buyer does not even need the email to get started. Then test the whole chain as a real customer: buy with a real card, on a phone, with a Gmail address, and time how long the file takes to arrive. That ten-minute test finds more problems than any plugin.

Five steps to secure digital product delivery in WooCommerce: mark products downloadable, protect the files, force downloads, fix delivery emails and test as a real buyer
Secure delivery in five steps: protected files, instant emails and sensible limits do more than any DRM plugin.

Digital VAT: charging the customer’s rate

Here is the rule that surprises almost every digital seller I work with: when you sell automatically delivered digital products or services to consumers in the EU, you charge VAT at the rate of the customer’s country, not your own – from the very first euro of cross-border sales. A German customer pays 19%, an Irish customer 23%, a Hungarian customer 27%, regardless of where your business sits. This applies to exactly the products in this guide: ebooks, templates, presets, software, downloads delivered without human intervention.

The workable mechanics for a WooCommerce store:

  • Register for the OSS (One Stop Shop) – one quarterly return in your own member state covers VAT for every EU country, instead of registering in each one. Non-EU sellers use the non-Union OSS scheme for the same purpose.
  • Charge the right rate at checkout. WooCommerce’s standard tax tables can hold per-country digital rates, but maintaining 27 countries’ rates by hand is miserable; a tax automation service or a maintained rate table plugin keeps them current.
  • Collect location evidence. The rules expect you to determine the customer’s location from non-conflicting evidence (billing address, payment country, IP address). Keep the records your accountant will ask for.
  • B2B is different: a business buyer with a valid VAT number gets the reverse-charge treatment – validate the number at checkout and zero-rate the sale.

I walk through the registration, the WooCommerce configuration and the edge cases in detail in my WooCommerce EU VAT and OSS guide – if you sell digital products into the EU, read it before your first quarter closes, not after. One more practical point: decide whether your displayed prices include VAT. For consumer digital products I almost always configure prices as VAT-inclusive with WooCommerce absorbing the rate difference per country – a template priced “EUR 29” everywhere converts better than one that becomes EUR 29.84 at checkout for Hungarians.

Licence keys and update delivery for software and templates

If you sell software, plugins, themes or premium templates, buyers expect a licence key and ongoing updates. WooCommerce does not do this natively, but the plugin ecosystem covers it well.

What a licence system actually does

Three jobs: generate a unique key when an order is paid and deliver it in the order email and the My Account page; validate the key when the customer’s software or site phones home, enforcing activation limits (one site, five sites, unlimited); and expire or renew keys so that support and updates can be time-boxed to a year while the software keeps working – the model most WordPress plugin businesses use.

The plugins that do the job

  • License Manager for WooCommerce – free core, solid for generating and delivering keys, with a REST API for validation. My default recommendation for a first software product.
  • WooCommerce API Manager – the heavyweight option: licence keys plus a full update server for WordPress plugins and themes, so buyers see updates in their own dashboard exactly like a wordpress.org plugin.
  • Software License Manager and similar standalone plugins – workable when your product is not a WordPress extension and you just need key generation plus a validation endpoint to call from your own application.

Delivering updates to buyers

For non-software products, updates are simple: upload the new file version to the same product (replacing or adding to the file list), and every past buyer can fetch it from My Account > Downloads – then send a short email announcing the update, because nobody checks that page unprompted. Updated-for-free products earn reviews and repeat purchases out of all proportion to the effort. For WordPress plugins and themes, run a proper update server (the API Manager route, or a custom endpoint) so licensed sites receive one-click updates; shipping updates by email attachment is where customer goodwill goes to die. If your product needs custom licensing logic – usage-based activations, team licences, an API your desktop app calls – that is a well-defined custom plugin development project, typically a few days of work rather than a mystery.

Refunds and piracy: the honest version

The EU withdrawal right – and its digital exception

EU consumers normally have a 14-day right of withdrawal on online purchases. For digital content the law provides a specific exception, and it works like this: the withdrawal right is lost when the consumer expressly consents to immediate delivery and acknowledges losing the right of withdrawal by doing so – and you confirm that in the order confirmation. In practice this means a checkbox at checkout for digital products with wording along the lines of “I agree to immediate delivery and acknowledge that I lose my 14-day right of withdrawal once the download begins”. No checkbox, no exception – the customer keeps the full 14-day refund right even after downloading everything. This is a two-minute checkout customisation that most digital stores are missing.

What a sensible refund policy looks like anyway

Legal minimum and good business are different things. My advice to clients: offer a straightforward refund policy (14 or 30 days) even where the law does not require one, and simply refund people who ask. Refund rates on fairly described digital products run low – typically 1-3% – and the trust a clear policy buys at the point of sale is worth far more than the refunds cost. Fight the pattern, not the person: a buyer who refunds every purchase after downloading gets a polite note and a block, not a legal debate.

Piracy: obstacles, not DRM fantasies

Every digital product that sells will eventually be shared or pirated, and no WooCommerce plugin will stop it – DRM that inconveniences paying customers while pirates strip it in an afternoon is a bad trade. What actually works is raising the effort and lowering the payoff: signed expiring download links (already covered), accounts for re-download, buyer-identifying watermarks on PDFs (name and email in the footer changes sharing psychology remarkably), licence checks for software, and – most effective of all – making the purchased version genuinely better than the pirated copy through updates, support and access to future versions. Pirates were never going to buy; your job is to keep honest customers on the easy path, not to punish them for others’ behaviour.

Pricing digital products: tiers, bundles and launches

Digital pricing feels arbitrary because there is no unit cost to anchor to – so anchor to value and structure instead:

  • Licence tiers. The single most effective digital pricing move: Personal / Commercial / Extended at roughly 1x / 2-3x / 5-8x. A EUR 29 template with a EUR 79 commercial tier and a EUR 199 extended tier serves freelancers and agencies from one product page, and the top tier makes the middle one look reasonable.
  • Bundles. Sell the complete set at 40-60% off the sum of parts – “all 12 preset packs for EUR 89 instead of EUR 180”. Bundles lift average order value more reliably than any checkout widget, and WooCommerce grouped products or a bundle plugin handle the mechanics.
  • Launch pricing. A genuine, dated launch window (“EUR 49 until launch week ends, then EUR 79”) converts fence-sitters and rewards your email list. The key word is genuine: put the price up when you said you would, or your next launch will be ignored.
  • Avoid the perpetual sale. Stores that discount every week teach buyers never to pay full price. Two or three planned promotions a year beat a permanent 40%-off banner – and permanent fake discounts are a legal problem in the EU as well as a trust problem.
  • Raise prices with versions. Version 2 with real improvements is a price-rise opportunity; existing customers get it free or discounted, new customers pay the new price, and everyone feels well treated.

One number worth knowing: moving a EUR 19 product to EUR 29 loses far fewer buyers than most sellers fear – digital purchases under about EUR 50 are largely impulse-shaped, and conversion tends to fall much more slowly than price rises. Test upwards before you test downwards.

Marketplaces vs your own store

Should you sell on Etsy, Envato, Creative Market or Gumroad instead of your own WooCommerce store? The honest answer is that they solve opposite problems, and mature digital businesses usually run both.

  • Marketplaces give you traffic and take your margin and your customer. Fees range from Etsy’s roughly 6.5% transaction fee plus listing and payment fees (call it 10-13% all-in) through Creative Market’s ~40% to Envato’s 12.5-55% depending on exclusivity. Worse than the fee: the buyer is the marketplace’s customer, not yours – limited or no email access, no upsells, no control over presentation, and rule changes or account suspensions can end your income overnight.
  • Your own store gives you margin and ownership, and brings you no visitors. You keep roughly 97% after payment processing, own the customer email list (with consent), set your own bundles, tiers and launch calendar – and start with zero traffic. Everything depends on your audience-building: SEO, an email list, YouTube, wherever your buyers are.

The strategy I recommend to clients: validate on a marketplace if you have no audience – real strangers paying real money proves the product faster than any survey. Build the WooCommerce store as soon as anything sells, price marketplace listings the same or slightly higher, and use every legitimate touchpoint to bring buyers to your own site for the bundles, the upgrades and the newer products. Over a couple of years the goal is for the marketplace to become the discovery channel and your store the business. What rarely works is treating marketplace fees as pure loss and refusing to list at all while your own store gets thirty visits a month: 60% of something beats 97% of nothing.

Analytics and conversion benchmarks for digital stores

Digital stores are wonderfully measurable because the whole funnel is online – yet most sellers track nothing beyond the order count. The numbers I set up and watch for clients:

  • Conversion rate. Cold traffic to a digital product page converts around 1-3%; warm traffic (email list, returning visitors, audience from your own content) converts 5-10% or better. If your list converts like cold traffic, the problem is the offer or the page, not the traffic.
  • Average order value. The lever here is structure, not traffic: bundles, tiered licences and a simple order bump (“add the companion pack for EUR 9”) routinely lift AOV 20-40% on stores where I add them.
  • Refund rate. 1-3% is normal; above 5% means the product page over-promises or the product under-delivers – read the refund reasons, they are free product research.
  • Delivery success. Track download link clicks per order (most SMTP services report clicks). Orders with zero clicks within 24 hours are your deliverability problem made visible, and worth a friendly follow-up email.
  • Email performance. Order emails should see open rates above 70% – they are the most-opened email your business will ever send, which also makes them the best place for a review request or a related-product line.

Tooling: WooCommerce’s built-in Analytics covers revenue, products and orders; GA4 with ecommerce events covers the funnel from landing to purchase; your SMTP dashboard covers delivery. That trio is enough – resist the fifteen-plugin analytics stack, which slows the store down more than it informs anyone. Review the numbers monthly, change one thing at a time, and let two weeks of data judge the change.

Want your digital store set up properly?

I set up and fix digital product stores for a living – secure delivery, licence systems, VAT configuration, email deliverability, the lot – as part of my WooCommerce development service, at EUR 15 per hour or a fixed price quoted within 24 hours. Have a look at my portfolio, or tell me what you sell and I will reply within 24 hours with what your setup needs.

Frequently asked questions

How do I sell digital products with WooCommerce?

Create a product, tick Virtual and Downloadable, attach your files, set the download method to Force downloads or X-Accel-Redirect, and enable “grant access after payment” so buyers receive their download links by email seconds after paying. WooCommerce handles all of this natively, without paid plugins.

Do I need extra plugins to sell downloads with WooCommerce?

Not for the basics – downloadable products, delivery emails and access control are built in. You add plugins for specific needs: an SMTP plugin for deliverability, offloaded storage for large files, and a licence manager if you sell software.

How do I protect digital files from being shared?

Never use the “Redirect only” download method, keep files out of publicly guessable URLs, and use signed expiring links (via X-Accel-Redirect or S3 offloading) so a shared link stops working within minutes. For PDFs, buyer-identifying watermarks discourage sharing further.

Do I have to charge EU VAT on digital products?

If you sell automatically delivered digital products to EU consumers, yes – at the rate of the customer’s country, reported through the OSS scheme with one quarterly return. Business buyers with valid VAT numbers are reverse-charged instead.

Can customers get refunds on digital downloads?

In the EU, the 14-day withdrawal right can be waived for digital content, but only if the customer expressly consents to immediate delivery and acknowledges losing the right at checkout. I recommend offering a simple goodwill refund policy anyway – refund rates on honest products run 1-3%.

How do licence keys work with WooCommerce?

A licence plugin such as License Manager for WooCommerce or WooCommerce API Manager generates a unique key per order, delivers it in the order email and My Account page, and exposes a validation API your software calls to check activations and expiry.

Is my own WooCommerce store better than selling on Etsy or Envato?

They do different jobs: marketplaces bring traffic and take 10-55% plus the customer relationship; your own store keeps ~97% and the email list but starts with no visitors. Most sellers should validate on a marketplace, then build their own store for margin and repeat sales.

Written by Vishal Bhisara

Full Stack WordPress Developer & AI Solutions Expert with 12+ years of experience and 500+ projects delivered worldwide. I help businesses and agencies build fast, secure, SEO-ready websites - custom themes, plugins, WooCommerce stores, and AI automation that actually grows revenue. Based in Bhavnagar, India, working with clients across the globe. More about me →

Need Expert WordPress Support?

Reading great content is the first step. Implementing the right strategy is what delivers results. If you need professional help with your WordPress website, WooCommerce store, AI automation, or custom development project, I'm here to help.

Have a Project in Mind? Let's Make It Happen.

Start a Project
Vishal Bhisara Your WordPress & AI partner
Get a Free QuoteGet a Free Quote