Migrating from Mailchimp to EmailOctopus

Josh Sherman
7 min read
Marketing / Advertising

I started the year off on a free Mailchimp plan. I’ve been a free user for ages now and decided that I wanted to start taking my email marketing seriously.

This included knowingly growing my lists beyond what the free tier’s limits.

I didn’t have much of a problem with that, but the moment I started paying for Mailchimp, nearly every month thereafter, I saw a rate hike.

Part of that was because I was kicking ass at list building, but the bigger issue was that Mailchimp had redefined what I was actually paying for as part of my “audience” and increased rates for “legacy” customers like myself.

I understand that maintaining unsubscribed addresses does incur some overhead for the provider, but having to pay for people that I would never be emailing again seems like a money grab.

Perhaps their point is to encourage better list building, that would result in less bounces and unsubscribes. Perhaps it’s just a play to get rid of the lower end customers by either turning them into higher paying customers, or having them leave the platform.

I get it, free doesn’t pay the bills, and it takes a ton of $10 a month customers to build an empire.

Regardless of what is going on over at Mailchimp, I’m fucking over it.

The latest rate hike came in the form of a change in pricing, and not even because I had grown my list past another threshold.

Because I’ve seen 4 different rate hikes this calendar year, not even counting going from free to paid, I have decided that I need to get a move on.

I explored quite a few different providers out there, and most of them have higher pricing structures. Nothing really wrong with that, as long as they can provide some sort of pricing stability.

With that, I auditing how I’m using email and realized that based on my usage, most of these providers are simply offering too much.

My current email situation looks as such:

Could I be doing more? Certainly. But I’m not, mainly because I don’t like to spam people, so I try to keep things very simple.

Because I didn’t need a ton of functionality, I decided to start exploring less feature rich products. Companies focusing on sending email easily, and not necessarily trying to be some all-in-one marketing tool belt.

The name EmailOctopus had been on my radar for the last few years and initially I felt like they were just capitalizing on the race to the bottom on price given the current landscape of email pricing.

I’m always skeptical of services that are solely competing on pricing, because given enough time, they will wise up and realize they need to actually make money if they want to be in business long term.

This is something that fucked me recently with SparkPost, which I migrated from Mandrill for many moons ago.

They coaxed me over to their service with a free “forever” plan that recently they decided to get rid of completely.

Fortunately SparkPost offered up a small discount, but based on their pricing and my volume, I’m utilizing around 10% of what I’m paying for. Definitely good to have a bit more than not enough, but when I’m barely utilizing anything like that, I do have explore other options.

Back to EmailOctopus though, they offer a version of their service that allows you to leverage your own AWS account’s SES and provide even lower costs than their plans that use their own SES. This is especially true as your list grows, which I do plan to continue to do more of.

Moving my lists at their current size from Mailchimp to EmailOctopus had cut my costs by around 70% (not counting tax or SES usage which should be pretty minimal considering my overall volume).

From a programmatic perspective, I have a small bit of code that subscribes people to a list, in PHP, using the Mailchimp PHP library:

$mailchimp = new Mailchimp($key);
    ['email' => $_POST['email']],
    null, 'html', false

Which I changed to use some vanilla cURL to talk to EmailOctopus:

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://emailoctopus.com/api/1.5/lists/${list_id}/contacts",
    CURLOPT_POST => true,
        'api_key' => $key,
        'email_address' => $email,
        'status' => 'SUBSCRIBED',


A bit more code, but a trivial change overall.

EmailOctopus definitely lacks in regard to having official software libraries, but that really shouldn’t stop anybody from making the switch.

Honestly wish I had the time to invest in putting together a couple of solid wrappers, but I’m busy writing my own for my projects. The stuff I did find out there just didn’t do it for me.

That all said, I’ve been happy with the switch and am still in the middle of what I am going to do with my blog’s newsletter. Unfortunately, EmailOctopus doesn’t offer any sort of RSS to email option.

This is one of my favorite features, so there’s a good chance I may leave that list over on Mailchimp. That is, once they let me downgrade my account.

Thing is, I did a send a week or so ago, and I’m unable to delete the larger audience that’s pushed my account into the paid tier.

Good chance this post won’t be going out on Monday as per usual due to my Mailchimp account being locked up because I removed my credit card on file.

Sadly, I’m somewhat skeptical that I’ll even be able to delete the audience without Mailchimp insisting that the folks I deleted as still technically part of my audience.

If that’s the case, I may roll my own RSS to email service similar to how I rolled my own version of MeetEdgar last year. Doesn’t need to do much, check for a change to the RSS feed on a schedule and trigger a send to a list on EmailOctopus with the provided content.

It’s not ideal, but sometimes you just gotta do it yourself.

Obviously I’m pretty early into things with EmailOctopus. I did have a pretty early snafu where I had signed up for the hosted version instead of the version that uses my own AWS account.

There was no way to toggle my account, and I had to delete my account and start over again.

Honestly, they very well could have lost me as a customer over that, so still a bit of a shocker that starting over was the only option presented.

All good though, for whatever reason didn’t piss me off too bad.

Their reporting is sufficient enough, drips are easy to configure, they have an email editor. The UI could use some polish, but I’m happy to not have notifications about marketing features for e-commerce sites and other upsell opportunities being shoved down my throat all day.

Now that I’m using AWS for my marketing email sending, there’s not much holding me back from moving from SparkPost to using SES for my transactional emails as well.

Thinking of giving EmailOctopus a shot? If you sign up with my referral link we’ll both get $15 in credit!

Join the Conversation

Good stuff? Want more?

Weekly emails about technology, development, and sometimes sauerkraut.

100% Fresh, Grade A Content, Never Spam.

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.

Currently Reading

Parasie Eve

Previous Reads

Buy Me a Coffee Become a Sponsor

Related Articles