Warning: this post is a bit of an angry rant. Tim Ferriss recommends writing about what you’re angry about. Even though this happened six weeks ago, I’m still angry. So here we go.

If you’re not familiar, Drip is email marketing software that’s pretty heavy on the marketing automation front. I won’t do them the courtesy of a link, so you’ll have to Google them if you want to check it out.

They’ve been around since 2012 or so, founded by someone I trusted, but he sold the business to Leadpages a few years ago, and it’s been going downhill ever since.

I’ve been using them for years as the backbone of two “side” businesses: IndieHive, which covers this website for freelancers and the related products and services that I sell, and Everleads, a curated lead generation site for freelance designers and developers.

In 2016 and 2017, I really dug deep into Drip. I built out dozens of interconnected workflows to carefully shepherd my subscribers through various funnels and sequences with duplicate emails or annoying content that’s not relevant to them. I integrated my web front-end with their APIs so that I could customize the site for subscribers. I wrote bridging scripts to connect it to Mixpanel for analytics, and I used Zapier to hook Drip up to even more services. It was the heart of my entire business, and it was awesome.

But throughout 2018, things started to go awry.

I kept experiencing glitches in the workflows where people would get stuck on workflow steps that should be instant, like “remove tag”. Or people would end one workflow and start another, but not have any of the data that the first workflow had set. There were honestly dozens of these little glitches, but individually they were minor.

Also troubling: deliverability started to slip. Not precipitously, and I can’t prove that it wasn’t just my emails, but I have heard from others that they were having issues with getting their emails into people’s inboxes in 2018.

But the most egregious thing for all of this was that support was basically no help at all. I probably opened two dozen support requests in 2018 and I’m not sure they actually resolved a single one. We’d spend hours going back and forth so they could even understand the problem. Then they’d almost always say one of two things:

“For a workaround, just insert a number of delays between steps in your workflows so that the system doesn’t get confused!” So all my workflows had little 5 minute delay steps to try and make sure things worked correctly. Which they still didn’t. Wtf. Or they’d just say they need to escalate to the developers and then I’d get an email weeks or months later from some random support engineer letting me know they were still looking into why the most basic functions of their software don’t work right. Awesome.

Alarmed by this, I repeatedly researched alternatives throughout 2018, but nothing seemed worth going through the pain of migration and the risk of just having similar issues somewhere else. So I kept resolving to be patient with Drip and hope (pray) that they were hard at work at undoing whatever architectural disaster had led us here.

And then…

In early January 2019, while I was on a relaxing cruise with my wife for our 15th anniversary, I got an email from Drip:

So basically: “Hey, we’re raising our prices in 12 days! You can keep your current price if you switch to an annual plan!”

And if you read it carefully, there’s something pretty important missing from this email.

It doesn’t say what the new pricing is. Seriously wtf.

So I emailed to ask. They responded the next day (so now I have 11 days) to reveal they were doubling my monthly price.

Drip raised my price from $184 / month to $368 / month with 12 days notice.

That’s just about the worst way imaginable to treat your oldest and most loyal customers.

And it was the last straw for me.

Now, to be clear, I completely understand wanting to grow a company in a new direction, or thinking that you need to raise prices to reflect more value.

But you don’t do it when your platform is half-broken, you don’t do it with 12 days notice, and you grandfather in existing customers, at least for long enough for them to migrate. Also, you tell them the price when you tell them that prices are rising.

It’s hard to imagine how Drip could have been more disrespectful to their customer base than what they did here.

So as of last month, I switched all my subscribers to ConvertKit and ActiveCampaign for Everleads and IndieHive, respectively. That’s thousands of dollars that Drip won’t be getting from me. I managed to get both setups completely migrated off just before their billing renewal dates, in one case with literal minutes to spare.

It was a pain and required some late nights but it was worth it to deny them another penny.

I’m not alone in feeling upset about this. Twitter was ablaze for weeks with people who were angry and bailing for greener, more respectful pastures. I’ve taken a sick joy in watching a lot of people migrate off Drip with much larger lists than mine.

I also cancelled Leadpages in favor of Instapage. I was already unhappy with Leadpages, mainly because it feels pretty clunky and dated, they aren’t very responsive to user feedback, and they’re still missing some pretty basic things (like being able to pass form data to the thank you page. Seriously?).

Side note: I was going to link to the Leadpages idea portal, but they apparently shut it down. Makes sense, since it was filled with hundreds of good ideas with many, many customer votes that had been ignored for years.

Regardless, even if Leadpages was awesome, they own Drip and I won’t give another penny to such an unethical company that treats its customers so poorly.

And this migration was a huge pain (which is what they were counting on), partly because of how complex my Drip setups were, but also because ConvertKit and ActiveCampaign are both pretty different from each other and from Drip. On the surface, they all do some of the same things, but once you dig in, things diverge, which made the migration especially painful.

Drip is complicated. Stupidly so. In fact, it’s so complicated that there are a number of problems using it:

It doesn’t really work. I mean, it does like 99% of the time, but that last 1% means that some of your subscribers are going to have a bad time. And it’s not just that their emails won’t show up. They might just get stuck in a workflow, or skip some emails in a sequence, or get things at the wrong times, or lose data, etc. And since this happens randomly, the number of subscribers who experience it accumulates over time. The customer support reps don’t really know how it works, because it’s too complicated. So you end up spending hours writing up descriptions of the problem and putting together screencasts to show how things don’t seem to be working, and the only response you get is that they’ll have to ask the developers. It encourages you to setup really fancy complex automations which, even if they did work, are way beyond what you actually need. Just imagine: you can do anything! You can track everything! You can have an unlimited number of tags and fields! Track and automate all the things! Your setup can end up being really brittle and deeply tied to the Drip architecture, which is a problem if you want to migrate off. And it’s hard to expand and modify over time without breaking all kinds of things for your subscribers who are in those automations. The setup is hard to document. It’s easy to end up with a large collection of documents and spreadsheets and screencasts to try and explain not only what you did, but why you did it. It’s hard to audit and debug when things go wrong. And things will go wrong. It’s hard to tell exactly what’s happening with your subscribers, where things went off the rails, and how to get it back on track without screwing things up further.

In the end, Drip for me felt like a really shitty programming language. Technically possible to do almost anything, but so painful that in the end you wish you hadn’t bothered.

By contrast, ConvertKit is simple. And yes, I think it’s too simple in places. I think there are some genuine gaps in the functionality that makes it a little too hard to get done the things you want.

But I’m also aware of the fact that I’m coming from Drip and a really convoluted setup, so being forced to simplify is probably a good thing.

And ActiveCampaign is not simple, but it’s powerful in a bunch of ways that Drip should have been. Additionally, it has the distinction of actually being, you know, functional. Crazy, I know.

Also, ActiveCampaign apparently is more open to feedback than Drip. I posted a Twitter thread listing some things that I like about it and Jason VandeBoom, the founder of ActiveCampaign, setup a call with me to go over some of my feedback. And ActiveCampaign isn’t a tiny company; they have hundreds of employees and are much larger than Drip. It meant a lot to me that Jason would just jump on the phone with a random customer to see how they could improve.

Meanwhile Drip’s emails aren’t even signed by an actual person. During this whole debacle, I don’t think anyone from Drip actually responded to anyone’s tweets or complaints. A couple days after the initial announcement when things were blowing up on Twitter, they sent this out:

“Sorry, not sorry. 🖕”

Just like their price increase, all of their corporate communication just screams “We don’t care about you. Go away.”

So I did.

I’m actually really glad that I dropped Drip, after all that. Partly because of how much better ConvertKit and ActiveCampaign are as tools, but mostly because it taught me a lesson about how you need to be careful when you’re a small company about who you integrate with, because while your interests may align now, that could change at any point.

But this rant has gone on long enough, so I’ll save that point for a future post.

Disclaimer: just in case Drip decides to sue me (which would be so on-brand for them at this point), ALL the descriptions of Drip’s functionality, failings, and communications is to the best of my recollection and should not be taken as a literal word-for-word account.