Datos Blog

Learn about business automation and operations

The weaknesses of ActiveCampaign (2022)

I love ActiveCampaign. Ever since I started using it a couple of years ago, I’ve worked with a few dozen clients using it and convinced several people to switch providers. That said, ActiveCampaign (I’ll call it AC for short) has a few unfortunate weaknesses. These become more apparent for larger companies with more custom needs, but I’ve definitely run into some disappointing corners.

Before I mention the downsides of AC, I do want to say: their support is solid, they have a great idea board and constant improvements shipping, and they have a clear customer experience focus. Plus, their automation/workflow builder is so good that you can fix most of these things with some creative thinking. And considering they are a similar price or cheaper than Mailchimp at similar levels, it’s excellent value. Still, I’m hoping they address these things.

Segment criteria limits

When creating segments, there are a few different limits that aren’t well-documented and keep you from creating any truly complex segments.

For example, there is a limit to how many “contains” criteria you can use. You can’t use more than 5 “action” criteria: like clicking on an email, being sent an email, opening an email, etc.

These kinds of hard limits are probably there to avoid super long calculation times for segments, but I’d strongly prefer being able to do mildly complex logic.

There are other limits like not being able to check if a contact has a tag containing a word (has to be exact) and not having a simple way to check whether someone has ever done an event (they make you type a certain amount of times, like “clicked button 3 times”).

In practice, these limits don’t often bother me, but I do have to occasionally come up with a workaround.

Date-based information isn’t stored

Aside from letting you see what date someone subscribed, when they were last updated, or when they unsubscribed, there’s no default tracking of the date when people do certain actions.

When you view a contact, you can see what date they visited a page, completed an event, filled out a form, did an automation, or received/opened an email. But that information is not available in segments/automation. It’s frustrating knowing that the data is available, just not accessible via segments or automations.

As usual with AC, there’s a workaround: if you want to keep the date that someone filled out a form, completed an event, opened an email, etc. you can use an automation to store that date in a custom field. This unfortunately doesn’t work for being sent an email because it’s not available as a trigger for automations.

List cleanup is an afterthought

ActiveCampaign has a feature called List Cleanup that essentially allows you to delete people you’ve already unsubscribed. But when I think of list cleanup, I think of keeping lists from becoming filled with unengaged contacts.

Unfortunately, you can’t create a segment for people who haven’t opened an email in the last [x] days. You also can’t check how many people have received an email in the last [x] days. But that’s the logic you will often use to clean a list: check how many people who have received an email in the last 90 days didn’t open any of them. Duh.

There is a workaround, but it requires you to prepare ahead of time. Funny enough, ActiveCampaign help articles even talk about how to do this. You’ll want to create a custom field called “last opened date” and use an automation to update this every time a contact opens an email. It works great, but you can’t do this retroactively. I recommend setting this up when you first set up your account.

An ideal ActiveCampaign account needs to be set up properly from the start

This is certainly true of many competitors in the space, but it feels like you need to set things up properly from the start or you’ll miss out on a lot of functionality in the future.

If you want to keep track of the source of contacts, store UTM parameters for form fills, do list cleanup, and other things, you need to set those up manually. Their amazing automation builder makes these workarounds easy to do, but it really shouldn’t be necessary.

Lack of many-to-one data relationships (Calls scheduled, products purchased, etc.)

What’s a many-to-one data relationship? Here’s an example. Let’s say you provide car insurance and you want to know what cars your customer has. Well, one customer can have many cars, each with unique details. A custom field labeled “Car owned” can only store one car and its details. And writing a paragraph with all the cars they own isn’t scalable because you can’t use it for segmenting.

Here are some more examples of many-to-one data relationships:

  • Calls scheduled
  • Products purchased
  • Subscriptions
  • Customer support tickets
  • Companies they work with (some people are associated with multiple companies, not one).

ActiveCampaign does have integrations with a lot of other tools, but almost all of them simply copy contacts from one place to another. Most of the integrations don’t include the data that you’d expect (such as all calls scheduled by the contact).

AC’s answer to this issue is called Deep Data Integrations, but they only have a few right now. And at the end of the day, I just want to be able to upload my list of whatevers and just have it work like some other systems do.

To be fair, HubSpot is struggling in this area as well. However, they just released “Custom Objects” which will allow developers to code custom many-to-one relationships.

You can’t copy custom fields to other custom fields

This isn’t often useful, but HubSpot has this feature in their workflow builder and it does come in handy sometimes. When you have custom fields, it’s expected that you should be able to use that information dynamically anywhere within an automation. Being able to fill out one custom field with the contents of another would be great.

Reports are just… not great

They work, but the UI isn’t great. Plus, they often load really slowly.

Reporting is one of the most common weakpoints in email systems, so this is no real surprise.

There is also no report on deliverability. So you have no idea if your open rates are because the email didn’t deliver correctly or because your subject line was bad.

Smaller gripes

I’m a bit of a complainer, I must admit. I see room for improvement in basically every tool I use. But complainers are often great at spotting little UX problems that improve the experience for everyone else when fixed. So I comfort myself with that.

Here are some of the small gripes with ActiveCampaign:

  1. There’s no way to duplicate Segments? It’s kind of hard to believe, and I’m a little nervous someone will find some obscure way to do it and call me out. But I swear there’s no way to duplicate segments, which just really grinds my gears, y’know? I always end up opening the segment in one screen and creating the new one on another screen.
  2. Some of the navigation organization just doesn’t feel intuitive. For example, to manage tags you have to go to Contacts and then there’s a sub-page you can select. But to manage custom fields you need to go to lists. Who decided which one goes where?
  3. Occasionally, ActiveCampaign decides to load everything slower than usual (and it’s not my internet). When this happens, I start to really wish that their navigation allowed you to get to sub-pages without going to the main page. For example, to get to custom field settings, you need to open lists first and then you can select a sub-page from there. If clicking on the menu opened an accordion it’d save some time.
  4. Templates don’t store the subject line and from name/email, and I find myself re-typing those all the time.
  5. If you want to use ActiveCampaign with an ecommerce store like Shopify, you’ll find that it’s just not built for the purpose. It’s getting a bit better, but it’s no match for a tool like Klaviyo that makes revenue reporting front-and-center of your reporting.
  6. Their conditional content blocks work ok for dynamic content, but you find yourself wishing you could do something more like HubSpot’s smart blocks. ActiveCampaign has a simple “Show/don’t show” rule for each block. So if you want 5 variations, you need to create 5 conditional blocks with criteria instead of 1 block that changes.
  7. The visual email editor is pretty basic. It works for simple templates and I find myself using plain-text emails 95% of the time, but I pity the person who tries to build beautiful visual emails in ActiveCampaign.
  8. You can’t just add images to a block of text. You need to split the text into two blocks and add an image block between them. I get why, but that’s a development challenge they need to figure out for usability.
  9. Several places in ActiveCampaign, there are restrictions to “Control clicking” (a shortcut to open something in a new tab). For example, when editing a bunch of emails in an automation, you need to individually open and edit them in the same tab. Since ActiveCampaign takes a bit of time to load each screen, this process makes me sad every time.
  10. Image management leaves much to be desired. You can’t add images into text blocks, so if you use a lot of images you’ll find yourself doing a lot of extra work. Plus, images uploaded by one user are not available to other users. And finally, you can’t add an image to a folder for organization after you first upload it—when you upload it is your only chance.


Every tool you ever use will have something annoying about it. My favorite email marketing platform is no different.

Even given all the issues above, ActiveCampaign is great for small to medium businesses who want to automate their processes. It’s most comparable to HubSpot in terms of feature sets, and it contains most of those features without the price tag.

Skip forward

Never miss a post from Datos