Open Source Email Marketing with phpList
It’s Open Source Week at SitePoint! All week we’re publishing articles focused on everything Open Source, Free Software and Community, so keep checking the OSW tag for the latest updates.
Email marketing has been exploding in popularity. You might have heard of the likes of MailChimp and Emma advertising the use of their services to send a whole bunch of messages for prospects and profit. The number of ways to promote goods online is forever growing, and research shows emails are still the most effective. I like to compare it with the “desktop is dead” myth; while mobile is on the rise, desktop is here to stay. I believe the same about email.
Having said that, it’s no surprise that the number of services competing in the field have mushroomed in recent years, capitalising on demand from firms of all sizes to get access to that most personal of places, the email inbox.
While big brand proprietary platforms and their sponsorship deals have been busy establishing themselves, an Open Source alternative has been minding its own business, making regular releases and accumulating a committed base of users since the year 2000. Enter phpList, the email marketing app you can run yourself without paying for messages, subscribers, or additional features.
Why Use a Dedicated App for Sending Emails?
Marketing professionals have a habit of torturing words until they confess (usually to the greatness of their product). Maybe that’s why terminology around email marketing is confusing. If a ‘mailing list’ is just a list of email addresses, and a ‘mailing list manager’ is merely an application to handle and use these lists, then what’s the difference between Mailchimp, phpList, GNU Mailman, and mail clients like Thunderbird? Are Mailchimp and Mailman interchangeable? Unfortunately not.
Old-fashioned mailing lists are many-to-many mailing platforms; a variety of people send single messages to a group of others in a single act, and each member of the group can reply to the others (as healthcare workers at Britain’s National Health Service illustrated last week, when a 1.2 million long mailing list was crashed by 185 million unsubscription requests).
Thunderbird, on the other hand, is is a mail client which can send messages to one or more recipients, but is not designed for managing failed deliveries, recording delivery statistics, or sending to large lists of subscribers.
Mailchimp and phpList are one-to-many sending platforms; a single person sends a single message to a large number of recipients. If the message recipient wants to reply, they can contact only the sender — the other members of the list cannot be replied to directly, and are typically kept secret for the preservation of privacy. These and other popular email marketing platforms share a host of features not found in other software, including built-in email templates, easy integration of newsletter signup forms in websites and apps, and automatic email personalization based on subscriber preferences.
How does phpList measure up against the proprietary competition? Let’s compare its performance in three categories against market leaders (and no, mascot monkey-ness isn’t one of them).
HTML emails aren’t everyone’s cup of tea – packed with tables and inline CSS, the code behind them is a throwback to a less civilized era. Unpredictable rendering by mail clients makes producing beautiful messages a challenge, but some services ease the pain with a range of templates and point and click editors. phpList provides editors as plugins, with CKEditor being the best of the bunch. While it works well for text formatting and media embedding, it can’t handle complex layouts, and doesn’t apply template styles as you type. For floated images and table layouts it’s easier to do your designing in a dedicated app and copy and paste the HTML in afterwards.
When it comes to templates, most people feel the more the merrier, but phpList ships with none pre-installed, and but a handful officially available. In theory, you can use templates from any other application (including many published by Mailchimp on GitHub), but including more and better templates ‘inside the box’ would save us from hunting around.
Reports and Statistics
Once your message is signed, sealed, and delivered, you’ll be itching to see the impact it has had. Open rates, click-throughs, bounces, and conversions are all things you’ll want to check following a successful send. Like other services, phpList includes detailed statistics relating these and more going further than some, giving a complete history of each subscriber. This includes each open, click, visit, and change, including response times. It’s easy to see all subscribers who opted out of future messages, following which campaign, and for what reason (if one was given).
Unlike nearly all competitors, phpList does not include data visualisations – no bar graphs or pie charts found here. If you’re looking for a satisfying uptick in user engagement, you’ll have to use Piwik or Google Analytics (both are supported), or export the data to a spreadsheet and make graphs by yourself. Built-in graphs feel past due for phpList and some users will miss them.
Responsive web interface? Check. Fat finger friendly on tablets and smartphones? More or less. Sleek and modern? Heck no! The usability of email marketing apps varies wildly, and while phpList gets the job done across devices, its design belongs to last decade. No HTML5 inputs or modal dialogues are to be found, but pages are easy to navigate, with a practical aesthetic.
However, a UI makeover is reportedly in the works. I reached out to Sam Tuke, CEO of phpList, personally to get a sneak peak at the upcoming interface, which I must say is a great improvement, and based on Bootstrap.
I’m a huge believer that Open Source can only be truly successful if it offers a solid user experience to a wide range of users, so it’s good to see that phpList is making improvements on this front, although there is still a lot to do there.
Meanwhile, no official apps yet exist for mobile devices, so unlike Mailchimp and others, everything must be done by browser. Personally I don’t see that as a major problem, but others who prefer working from mobile might find it problematic.
phpList offers a solid list of integrations, among them:
- WordPress, Drupal, Joomla, phpBB support
- Third-party data submission
- Embeddable AJAX subscriber signup forms (generated pasteable snippets)
- Remote form submission (standard web forms submit data to phpList servers)
- Subscriber-facing pages
- Landing pages for new subscriber signup (theme and content customizable)
- Preferences pages for each subscriber with settings (theme and content customizable)
- Generate email campaign content by polling external RSS feeds (templates configurable)
- Convert web page content to email campaign content using regular polling
At the end of the day, the folks at phpList need to earn some cash as well. phpList.com offers similar features to the self-hosted software, but with greater bandwidth, reliability and support. You can try it out for free and see how it works for you. Its pricing plans are also really flexible, offering payments by subscribers, mails sent, or even the $1 plan. You can send up to 300 messages for free if you want to try it out.
The main advantage of using phpList.com is that everything is taken care of. Running an email marketing server can be technically difficult for some. It requires knowledge of a range of anti-spam technologies to ensure that messages are actually delivered. IP addresses require close management to avoid blacklisting and throttling of delivery speed. Knowledge of SPF DKIM, rdns etc is needed as well. But of course, if you know what you are doing (or have other people who do) hosting phpList yourself is a big money saver.
The business model of phpList is great: It offers a decentralized, self-hosted software solution for everyone to run for free, while it also has a competitive pricing for its SaaS solution.
If you like to have full control over your infrastructure and are worried about hosting your data somewhere else where you have no access, have a look at phpList and let us know your experiences with it.