Paid Newsletter Subscriptions with WooCommerce

This case study examines how one of our users sells premium content (a paid newsletter subscription) thanks to WooCommerce and a plugin called Groups. MailPoet is used to convert free subscribers to paying customers. This set up is nearly free.

Photo of Thomas

My name is Thomas Clausen. I work as a senior project manager in one of Denmark’s biggest bank.

In my spare time I do all kinds of things related to WordPress. I also run a small webshop at

In this article, I will cover how I made a site for my brother in law and his colleague to help their website sell stock analysis, all sent via email.

Business goals 

The goal is modest: migrate an existing customer base to a new site, and make sure customers get a newsletter when new posts are published.

Seems simple enough, but the underlying set up is a bit more interesting and tricky, since this is a paid newsletter subscription.

There are two lists on the site:

  • A daily stock analysis that is sent before the Danish stock market opens at 9 o’clock
  • A weekly summary sent on Fridays, called Trends. 

This is what one of the newsletters looks like:

Screenshot of the newsletter

The MailPoet setup

The two lists each get sent an automatic newsletters: one sent daily, the other weekly. 

Each newsletter has its own categories of content, so MailPoet listens for new posts on specific categories. 

Visitors to the site can sign up to both lists, freely:

Subscription form

The newsletters only display an excerpt of the posts. The full version is available on the site, accessible to paid members only. More on that below.

We use Mandrill for sending which works like a charm, and ensures better deliverability. I especially like their mobile app:

Sent emails status in Mandrill

Mandrill throttles new senders at 250 emails per hour. It didn’t take long before we could send 2,500 out per hour.

The paywall setup

The paywall was the big challenge in our setup. Two powerful plugins made it possible:

  1. Groups
  2. WooCommerce

First, I created two groups with the Groups plugin. Groups allows you to create groups of WordPress users, and restrict access to posts meant just for them. 

These two groups would essentially just have the same title as the two categories: Daily and Trends.

The problem is that Groups doesn’t show paid content to free users at all, not even a teaser.

For this purpose, I then added some lines of code to the functions.php of my child theme, to display teasers on the front page, the archives, etc.

Third, I installed the Groups 404 redirect plugin to redirect non members (and members that aren’t logged in) if they click on a post reserved for paid members.

Visitors are then redirected to a landing page where we try to get them to buy the subscription or simply log in, if they are customers:

The only quirk is that we can’t redirect users after they log in to the original page requested. I haven’t solved this issue yet. 

Finally, we sell the subscription as two products in WooCommerce, each linked to a list in MailPoet.

I do two things automatically at the end of the checkout thanks two great little plugins:

  1. The WooCommerce Product Subscription – MailPoet plugin gives me the opportunity to add a user automatically to a given list
  2. The Groups for WooCommerce Premium plugin adds the user to the given group

Allowing any visitor to subscribe to the mailing lists is a great technique to upsell. We can see free subscribers convert over time. We also cross sell between lists successfully.

Other bits

I used WP Help to write guides every time a new question arose from my brother in law and his colleague. With this plugin, they can see all the how-to’s I’ve written in the WordPress backend.

Another helpful plugin was Imsanity. The authors upload bitmaps, because that is the picture format they get from their technical analysis software. Imsanity converts these on the fly to jpgs.

Lessons learned

I’ve always been in love with Mailchimp. But I really like the fact that I have full control within my WordPress installation with MailPoet. The only thing I miss in this respect is a native app for MailPoet like the one Mandrill has… hint, hint guys. 

If you have any questions regarding my setup, write a question in the comments below. I’ll be more than happy to answers them.