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:
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:
DELETE wp_wysija_user, wp_wysija_user_list FROM wp_wysija_user
INNER JOIN wp_wysija_user_list ON wp_wysija_user.user_id = wp_wysija_user_list.user_id
WHERE wp_wysija_user_list.list_id = (SELECT list_id FROM wp_wysija_list WHERE namekey = 'users');
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!