How to get rid of MailPoet's automatic new users auto-subscribe feature (and make the 2000 subscribers limit work as it should)

How to get rid of MailPoet's automatic new users auto-subscribe feature (and make the 2000 subscribers limit work as it should)

If you're a WordPress enthusiast you've probably heard about MailPoet, formerly WYSIJA: to say it in a nutshell, it's a WordPress plugin for manage newsletters. It's being used by thousands - if not millions - of WordPress-based websites worldwide, because it delivers a ton of useful newsletter-handling features which nobody else have.

I like MailPoet. I really do. I actively use it in a number of WordPress blog I'm running and/or in charge of, including this one. Some of them are small, some are big: for the bigger ones - thousands of users and subscribers - I even had the owner purchase the premium license, not only because a product that's so good deserves it, yet also because... well, because they need to, as the free version license has a limit of 2000 subscribed users. There's also an hard-coded limit that checks the counter, so if your blog grows you'll eventually have to pay for that.

I really like MailPoet... except for one thing: the fact that they try their best to make you think you need to pay for their product, even if you clearly don't.

Let's start from the beginning. As I just said above, the MailPoet license allows up to 2000 subscribers for free, then you have to pay. I honestly have no problems with that: if you have 2000+ subscribers you're either making some money out of your blog or running a successful no-profit website, meaning that you can most likely afford it.

Where's the problem then? To answer that question we need to understand the meaning of the "subscriber" term for MailPoet. You would think that a "subscriber" would be a member of one of your newsletters, right? Wrong. If you dig through the MailPoet settings and source code you'll discover that there's also an additional, semi-hidden newsletter that gets updated automatically whenever a new user registers to your website. The offending newsletter's name is WordPress Users, and it's clearly visible in the MailPoet plugin settings. From the Subscribers menu, click to the Edit Lists option in upper-left corner and you'll be able to see something like that:

How to get rid of MailPoet's automatic new users auto-subscribe feature (and make the 2000 subscribers limit work as it should)

What's the purpose of this list? Absolutely none, except the fact that it will periodically disable your real newsletters everytime your Worpdress total users count reaches out 2000, regardless of the fact they will actually subscribe to any newsletter or not. Needless to say, you can't delete it, neither you can disable its convenient "auto-add new users" feature in any way.

In case you don't get it already, here's how it works:

  • You install MailPoet to your WordPress blog: as soon as you do that, the hidden (and featureless) WordPress Users newsletter will be also silently added to your installation.
  • You manually create one or two actual newsletters to remind your users about your new content.
  • From now on, here's what will happen:
    • Whenever a user choose to subscribe to any of your actual newsletter, he will count as 1 out of the 2000 allowed subscribers. Which is FINE.
    • Whenever you manually add an user to any of your actual newsletter, he will  count as 1 out of the 2000 allowed subscribers. Which is also FINE.
    • Whenever a new user registers to your website, regardless of what he does with your newsletter, it will also count as 1 out of the 2000 allowed subscribers. Which is definitely NOT FINE, since he's not a subscriber by any possible means.

At this point you might ask: why did they do something like that? Well, we already gave the answer at the beginning of this post: most WordPress blogs will never have 2000+ subscribers, yet almost every one of them will eventually have more than 2000 registered users thanks to the many Spam Bots/Fake Registration Bots that exists out there. You might now say that having 2000 real registered users isn't uncommon for most successful websites... Well, that's also true, except it also has absolutely nothing to do with MailPoet in the first place: to keep stating the obvious, registered users and subscribers are two completely different things, and MailPoet shouldn't mix the two terms as if they were synonyms - expecially if the main reason is trying to gain something out of that.

Now that we properly identified the issue we need to find a good workaround, as we definitely don't want our registered users being counted as subscribers: let's see what we can do about that.

It's worth noting that the MailPoet's WordPress User hidden list is not synchronized in any way with the WordPress user base, meaning that if you permanently delete an user his e-mail will be kept in that list - and contine to count towards the 2000 subscribers limit. Luckily enough, this is also true the other way around: you can safely clear the WordPress User list and your user base won't be affected. This is definitely a good news, because that's how we can work around the problem and force MailPoet to behave just like it should.

This simple MySQL query will clear the WordPress User list:

Just throw it in your daily (or nightly) maintenance script and you'll only have to worry about who really chose to subscribe to your actual newsletters, regardless of how many users your WordPress blog has. If you're not into scripts, don't like relying on them or just prefer to work with the GUI, you can also go into the MailPoet's Edit Lists section (see above) and manually get rid of them.

In case you think that hitting that 2000 limit is not an big deal, you should really reconsider it: as soon as it happens, MailPoet will basically cease sending your newsletter, which will start to stockpile in a "inactive" state until you pay the licence or find a way to get rid of the issue - which is something rather tricky and counter-intuitive to do, as we've just seen. Actually, it was even harder before I escalated the issue to the MailPoet development staff: it's worth mentioning that the "delete" workaround only works since the patch released after my post about this specific topic on WordPress.org support forum: before that, there was no easy way to reset the counter and bring the plugin back to life other than getting the premium mode.

Not to mention the fact that, once you manage to get rid of the problem, the unsent newsletters will be put in the send queue and the real subscribers to your actual newsletter will slowly get them all. They won't get spammed, technically - since they're meant to receive them - but rest assured, they won't be happy to receive them all together.

Bottom of the line: keep using MailPoet because it's great and get the premium version to support them of if you need the full package, just don't get fooled by their convenient definition of "subscribers" and their deceiving way to make you think you have to pay.

That's it for now: happy newsletter management!

 

About Ryan

IT Project Manager, Web Interface Architect and Lead Developer for many high-traffic web sites & services hosted in Italy and Europe. Since 2010 it's also a lead designer for many App and games for Android, iOS and Windows Phone mobile devices for a number of italian companies. Microsoft MVP for Development Technologies since 2018.

View all posts by Ryan

5 Comments on “How to get rid of MailPoet's automatic new users auto-subscribe feature (and make the 2000 subscribers limit work as it should)”

  1. There is another annoying thing with the “new” Mailpoet and subscribers. I’ve been using Mailpoet for 5 years and loved it. Up until last April I would create an email list and from our DB and import it into Mailpoet, created beautiful emails and off they went. Fast forward to yesterday (7/2019) We moved our DB into WooCommerce Memberships. I exported the members and manipulated the list to my liking then imported it into Mailpoet with it’s own list name. 225 names. Do you know how many were sent an email? 29 Why? because 196 of them were not “subscribed”. They changed the rule! In order for emails to go out the person needs to be subscribed! How many people miss this step. What about the people that I’m hand entering? I’m not liking Mailpoet right now.

  2. They also added every guest purchaser inside woocommerce or whenever anyone changes there email address that has placed order gets counted too. exp. So customer places an order using one email then they decide they want to use a different email and changes it and then places another order, now they are counted as 2(so on and so on) all with the same user_id because its pulling subscribers off the billing_email address and not user_id, For guest it makes sense but there should be at the very least a user_id check 1st Mailpoet. I have tried addressing it with them but no response. And of course wordpress/woocommerce doesnt make a hook to not let the customer change there email. Arrrggggghhhh

  3. You didn’t mention another way in which MP pads its subscriber numbers: if it determines a subscriber is inactive it will stop sending to them. I have no problem with this feature. It keep the subscriber list fresh and avoids sending material to subscribers who clearly no longer have any interest.

    But once MP throws them into the Inactive category and they essentially have been unsubscribed, why continue to consider them subscribers? At least, we should be able to delete them if we agree that they should no longer be considered subscribers. It’s shady to count Inactive subscribers as subscribers.

  4. I admit, I have not been on this web page in a long time… however it was another joy to see It is such an important topic and ignored by so many, even professionals. I thank you to help making people more aware of possible issues.

Leave a Reply

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


The reCAPTCHA verification period has expired. Please reload the page.

This site uses Akismet to reduce spam. Learn how your comment data is processed.