WooCommerce Tips: Pay, Play & Download

Chris Lema

woocommerce-tipsCan WooCommerce Do This?

There’s a lot of things you can do when you use WooCommerce. One of the most recent questions I saw about WooCommerce was an interesting question that I thought you might like to hear (and see answered).

The goal was to create a site where a person could purchase a video – both as a digital download and as a page where you could watch it online.

WooCommerce makes it easy to sell digital downloads. But how do you do the other part – the “now that I paid, I’d like to watch it right away”?

Needed Plugins & Extensions

In order to do this, you’ll need the following plugins and extensions:

WooCommerce Tips: The 7-Step Tutorial

The precursor of this tutorial is to install all the plugins listed above and activate them on your site. Once you’re done with that, we’re ready to get started.

1. Add a Group

While it seems counter-intuitive to start with the custom group, everything you’re doing will be based on this, so it’s the first place you want to start.

AddNewGroupWhy are you creating a group? Because you’ll use this group (and it’s rights/capabilities) to limit who has access to the page where you’ll host your video. Every time someone purchases your product, you’ll put them into this group, automatically.

2. Add a “view” capability

After you’ve created a group, you’re going to want to create a new capability. This will be the “view my videos” capability so that anyone in the group you created will get to see the page (because it will have the capability restriction on it).

AddCapabilityBut creating your capability isn’t enough. You need to link it to your group. So click on Groups again in the menu and then map the capability to the group you’ve created.

AssignCapabilitiesIn this image, you’ll see I’ve created a Watch101 group, with a View101 capability. These capabilities (from these groups) will be leveraged to protect or give access to your video page(s).

3. Configure the rest of the Groups plugin

One last step to take care of in the Groups plugin is the configuration to make sure that your new capabilities show up in the right places to let you use them. You want to make sure that pages and posts are checked, but also, scroll down looking for your new capabilities and make sure you check them too.



4. Configure WooCommerce

If you’ve installed the Groups for WooCommerce extension right, you’ll see a Groups link in the WooCommerce menu. If that’s the case, click on it, so you can configure the integration between WooCommerce and Groups.

The key is telling WooCommerce when to put the user (that just registered) into the group – while the order is processing, or after the order is complete.


One last note you’ll notice is that you have to let users create accounts, so just expect that to show up. You can’t determine who sees and doesn’t see stuff without them having an account. So WooCommerce will automatically have people register.

5. Create your Page

Now we’re getting somewhere. Go create a page where you’ll host your videos. It could be one page with one video. Or a page with several. You’re call. But this is the page that people will have rights to, after purchasing the video to download.


What you’ll notice is that on the top right you’ll have the option to determine who gets rights to see this page. Those checkboxes are capabilities. Since you’ve matched those capabilities to your group, anyone in that group will get to view this page.

6. Create Your Downloadable Product

With groups and capabilities defined, and your page set up, you’re now ready to create your downloadable product.

So step into WooCommerce and create a new product. Make it simple, and check the “downloadable” box, so that you can define the url of the file that you want people to be able to download (in this case your downloadable video file).

SimpleDownloadable7. Configure the Product’s Groups Options

We’re finally there. The flow is pretty simple.

People will buy your downloadable video, automatically get access to the file, and then get access to the page where they could view it. But they can’t see the page if they’re not in the right group.

That’s your last step. Click on the Groups part of the product, and determine which groups you want to put someone in after they’ve purchased this product.


Additional Notes

When you do this right, the page you create will give a 404 for people who don’t have rights. Only those with rights will see the page.

Additionally, when it comes to hosting video, I use Vimeo Pro so that I can not only embed my video, but limit who can embed it by domain (where only my domain is listed).

This solution doesn’t look at recurring charges. This is a one-time charge solution. If you want recurring charges, you’d need to add the Subscriptions extension for WooCommerce.


You can’t do everything with WordPress, or with WooCommerce. But you can do a lot. Hopefully this has introduced you to Groups and the WooCommerce Groups extension and how helpful it can be in creating solutions like this one.

Powered by the Rainmaker Platform

The Rainmaker Platform by Copyblogger Media is the complete website solution for building your own online marketing and sales platform. In short, it makes the technology part of running an online business simple so that online marketers and business owners can focus on building audiences and growing businesses.

Start your free 14-day trial

Join more than 5,000 others

My posts. Your inbox. Beautiful.


  1. Nice tutorial Chris, I have a similar request from a client and will point them here with a couple of suggestions. Thanks!

  2. Thanks for this. Just what I’ve been searching for. I assume I could tick virtual and forego the download.

  3. Really good tutorial! Only a question: How the buyer know the link of the page where the video is? Is there any way to include in the account of the user?

    Thanks in advance and excuse my english…

  4. @enrique, the buyer will get a link on their order confirmation page below the item name, and also in the My Account page generated by WooCommerce.

  5. Chris, my site is setup using your info here and I noticed that the download link for the product uses a redirect to the product, which at first, looks like it has a Unique Key attached to it which gives it access to the file/product. Is that a unique key or is it just some arbitrary numbers? Looks like http://www.site.com/checkout/order-received/order=1234&order_asdfghjkl987654.

    The characters after order_ appear to be a unique key, is that correct? If so, I just wanted to figure out a way to tap into this unique key to be able to email it, etc., to the user after payment.


  6. Just wanted to thank your for your well written articles – this is one of many that has really helped me out!!

  7. Chris, I have done each step of this tutorial and there is no link to the page in the order email, nor in the my-account page. There is no connection between the product and the page. Please tell me what I am doing wrong.

    • When you configure the product, go to the advanced section and add a Purchase Note. This note will show in the checkout confirmation page as well as in the confirmation email. I included a link to the page where they can view the video.

  8. This is exactly what I was looking for. Thank you. The piece I’m curious about: If a user has logged out, and then tries to click on the link in the email confirmation, they will also gets 404. Is there no way to prompt for login when pages exist, but just require particular access?

    • I just bumped into this post, and this is EXACTLY what I needed. Although it’s been more than a year since you’ve asked this question, I’m really curious if you pulled it off in a sensible way… Of course you could paste a login form in your 404 page, but there should be a better option, have you found it?

  9. Hi Chris,

    Thanks for this great post.

    Is the groups plug-in still necesary in the current version of Woocommerce and are there any alternatives from WooCommerce themselves? From what I read the Groups plug-in year-over-year updates are dropping, and I would like to make sure we have the best possible support to keep the stability of the webshop as top-notch as possible.

    Any ideas would be a great help. Thanks!!

  10. With this approach, wouldn’t you need to create a new group for every video product you want to sell?

  11. Hi Chris,

    I have a requirement for an e-commerce store and i am not sure if this can be fulfilled using woocommerce. Let me try explain the exact scenario.

    1) I run a store which sells digital (Downloadable) brochure templates which any one can buy and customize
    2) There are around 200 unique brochure templates on the site

    1) I wish to sell these brochure templates independently @ $10 each
    2) I wish to offer three subscriptions as follows:
    a) Pack 1 – $50 – 6 Downloads max – 1 Year Validity – 1 User – Access to all the templates
    b) Pack 2 – $100 – 15 Downloads max – 1 Year Validity – 1 User – Access to all the templates
    c) Pack 3 – $150 – 30 Downloads max – 1 Year Validity – 1 User – Access to all the templates

    Please let me know the plugins which will be useful to achieve the required result and how to configure the same.

    Thanks in advance.

  12. Hey Chris,
    Great post, this is looking like it is going to be the solution I need to sell my video. I have gone through the entire process as you mentioned. But the link to the page on my website that comes through via email is always taking me to a 404 page? Any suggestions, I need a resolution ASAP as we are going live in a week. And any help would be massively appreciated!

      • Thanks for that. I installed and did that too, but the same error comes up. When I receive the email from woocomerce to ‘view & download’ my video and I click on that link it takes me to a different URL than what I specified in my digital product. But when I simply type in the proper URL while logged in, the page comes up?
        So it’s giving me permission to see the page when I am logged in (by manually type it in), it’s just the URL that is in the email and in My Orders page is directing me to a 404 page that doesn’t exist?

  13. Great post thank you! Is it possible to add the download link/graphic to the video streaming page?

  14. Hey Chris I have this problem with large video sizes. We sell fitness instructions in HD which can push a file close to 1GB since the classes run about an hour and we are giving them an HD video. The videos play great at their source but seem to time out mid way through the downloads. Don’t know if it is a configuration problem or if woo commerce doesn’t allow downloads of this size to be processed through their platform. Thanks in advance for your help.

  15. Chris Thank You! This is great.

    Question: I am using woocom to sell a downloadable virtual ticket. Once the purchase completes the user is re-directed to a separate site to download the ticket to their phone. It works great if they only purchase one ticket, but if they purchase 2 or more, there is only a single download link on their order page. I need a solution so that if a person purchase 2 or 3 or 4 ect, that there will be 2 or 3 or 4 separate download links even though they are directed to the same page. The reason this is necessary is because the page to download the tickets has no actual way to restrict the number of tickets a person downloads, but if a person purchase 2, and sees 2 separate links, they will hopefully only think to download one ticket per link (and I will restrict it in woo). Make sense? Any suggestions?

  16. ma. angels herrero says:

    I run a store in which I want to sell digital videos (NO Downloadable) with expire time.
    I have done each step of this tutorial and there is no link to the page in the order email, nor in the my-account page. There is no connection between the product and the page. I am not able to se what I am doing wrong.
    (If I configure the product, and go to the advanced section and add a Purchase Note that shows in the checkout confirmation page as well as in the confirmation email a link to the page where they can view the video”, then it keeps more than the time I want it to expire and it doesn’t work automaticaly). Maybe is any plugin left in my checkout?
    – If I insert vimeo videos, how many people may support watching videos at the same time?
    – Do customers have any way to know how many time left they have?
    – The Groups plug-in year-over-year updates ?

    Thanks in advance.

Leave a Reply

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

Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”


I regularly schedule calls to answer your questions using
a service where you only pay per minute.

call me
  • People don’t fully grasp how strategic Chris is. I love that about him and count on it all the time.

    Karim Marucchi
  • Chris often breaks paradigms and has me rethinking the way I approach my business.

    Jeff Zinn
  • Chris always gives me something to think about – a new lens through which to examine my business.

    Lucy Beer
  • Chris’s advice has helped me to make better decisions about my business, and manage my clients better.

    Natalie MacLees
  • Chris has been a source of wisdom and insight in business and product strategy, startups, entrepreneurship, and more.

    Austin Gunter
  • Chris is one of those rare people who can take a difficult subject and make it easy to learn and remember.

    Dave Jesch
  • Chris has a heart of gold and is willing to reach out and help. He has helped me in several ways both in WordPress coding and consulting with me on my business. He has been a blessing in my life and look forward to a long friendship with him.

    Gregg Franklin
  • Chris Lema always drops knowledge bombs that makes me think about how I can evolve my WordPress-powered business. Even more valuable is that he does it in a way that makes drastic change seem achievable.

    Chris Ford
  • Whether it's product strategy or a question about which plugin to use, I know Chris will get me an answer faster than anyone else.

    Steve Zehngut
  • Chris is a great mentor, instructor and friend. He fills all these roles with a down to earth style and ease that actually encourages you to believe that success is within your grasp.

    Alex Vasquez