We switched from ActiveCampaign to FluentCRM (and it wasn’t that scary 👻)

After eight years with ActiveCampaign we finally took the plunge and moved to a self-hosted solution for our email marketing for WP Fusion and Fatal Error Notify 🎉

#Contents

#Backstory

I first signed up for ActiveCampaign in December of 2015, so we’re coming up on our eight-year anniversary 🥲.

Having worked with Confusionsoft as a consultant for several years, ActiveCampaign in 2015 was like a breath of fresh air. You could go to the ActiveCampaign website and just sign up for a two-week trial. No phone call with a pushy sales rep. No opaque pricing, or multi-year contracts with early termination clauses. No mandatory “onboarding fees”.

They had a slider on their pricing page where you could see what features were available in the different plans, and how your monthly bill would change based on your list size.

Inside the app, you could drag and drop custom fields to change their order, build responsive web forms and emails, and the API was intuitive and well-documented, with developer support there if you needed it.

This was all revolutionary at the time.

The ActiveCampaign home page circa February 2015. You could sign up for free, without talking to a sales rep!

The original version of WP Fusion, from February 2015, was built specifically for Infusionsoft. But after trying ActiveCampaign later that year, I could see where the future was going.

We spent three months at the end of 2015 rebuilding WP Fusion from the ground up so that it could connect to multiple CRMs, and when we launched 2.0 in March 2016, ActiveCampaign was the first new CRM we supported.

This is all to say— ActiveCampaign and I have had a long relationship.

#Like all relationships, it’s had its ups and downs

Support is a particular issue with ActiveCampaign. It’s not uncommon to wait for a week or two to get a reply. For issues that require the attention of engineering, that can stretch to many months.

In January of this year, I was assisting a WP Fusion customer with an easily reproducible bug whereby a contact could end up with the same tag applied twice. This was messing up automations since if the contact is tagged twice, they can also end up triggering the same automation twice (and receiving duplicate emails).

We sent the proof to AC support in January, it got escalated to engineering by March, and we had the bug confirmed and fixed by June 😞.

As another example, for the past two years, we’ve been experiencing regular API timeouts when loading contact data over the ActiveCampaign API. This can cause your checkout to spin for up to 15 seconds if an existing user logs in and their tags are loaded. Several customers reported it, but without a reliable way to reproduce it, they were told it was an issue with their website or hosting.

The API endpoint to load a contact’s tags often takes 20+ seconds to respond.

Finally, after setting up a “stress test” via a third party API testing site, we got a response from ActiveCampaign engineering that since the request was against the V1 API, not the newer V3 API, they can’t guarantee the performance of it, and they won’t look into fixing it (despite the docs saying they “fully support” the V1 API).

This was fine, we were able to make some changes to upgrade to the newer API, and now it’s working more reliably.

But this is after thousands of outages that affected hundreds of customers, causing emails not to send, coupons not to activate, courses not to unlock, and many other inconveniences that require manual intervention (and make WP Fusion look bad as an integration provider!) 😠

The ultimate effect of this is that you just stop contacting support. If something is broken, you find a workaround, or you live with it. It’s easier than trying to convince a tier-one agent that the problem isn’t with your browser.

#Still, ActiveCampaign mostly worked well

Out of all the platforms we support, ActiveCampaign has been one of the most reliable, and as long as you don’t need to contact support it’s mostly pleasant to work with.

Yes, some obvious enhancement requests (like being able to re-subscribe an unsubscribed contact via the API) have been ignored for many years. But I get it, it’s a big company, the pace of innovation is slow.

In short— I wasn’t thrilled with ActiveCampaign, but I still thought it was the best value platform in terms of features for the price.

#Until the price changes

In March of 2023 ActiveCampaign increased the price of all their plans, in many cases by 2x or more. We remained at the legacy rate of $60 / mo., as long as we stayed under our contact limit of 10,000 contacts. If we changed plans, we’d jump to the new price tier.

So for the rest of 2023 I took steps to keep our list size small— deleting unengaged contacts, removing the “Newsletter Signup” forms from our sites, merging duplicates, etc. But ultimately we couldn’t keep it down forever, and since August we haven’t been able to send any campaign emails at all until we upgrade 😞.

ActiveCampaign’s 2023 price increases hit us hard.

The next contact limit is 25,000 contacts, which would take our monthly bill from $60 per month to $229.

This is too hard to justify considering we only send a few campaign emails a year, the API frequently has issues, and support is mostly unavailable.

I would have probably stomached a 2x price increase, but 4x is too much 😞

#Looking for another solution

Since I spend my work day (and a lot of my free time too 🙈) experimenting with marketing automation tools, I have a pretty good sense of the landscape 😅

Without having a full-time content person on the team, it’s hard to justify switching to another cloud platform that’s priced based on list size. If we were sending out weekly newsletters the ROI would be more obvious, but at the moment we mostly use the CRM for consolidating customer information and running automations on single contacts (new customer onboarding, demo followup, etc.)

I briefly looked at Brevo, which is priced based on email sends, not list size. €49 / month would get us unlimited contacts, 20,000 email sends, and sales CRM features (i.e. viewing order data in the CRM) that we didn’t have access to on ActiveCampaign’s basic plan.

I’ve had a great experience working with their support in the context of WP Fusion, and they seem to be releasing new features quickly.

Brevo’s pricing is based on the number of emails you send, not the size of your list.

But I’m still nervous about switching to another cloud provider who could raise prices again at any time.

After our experience switching from HelpScout to FreeScout over the summer, I was feeling optimistic about our ability to self-host an email marketing tool.

Mautic is an obvious option, it’s self-hosted and open source like FreeScout. But the automation builder leaves a lot to be desired, the way tags are managed is confusing (tags are applied over the API, but emails can only be sent to “segments”, so each tag needs to be linked to a segment and set to update the segment via a cron job). As well, almost every time I update Mautic it breaks 😞.

So I started looking at WordPress plugins.

#Marketing automation via a plugin

There are definitely downsides to running your email marketing via a WordPress plugin:

  • If it’s running on your main website, it’s sharing resources with the rest of your store (or course, membership, etc). If the site is slow, your CRM will be slow.
  • It’s a relatively new product space and frequent updates can mean frequent bugs.
  • WordPress itself can be vulnerable due to security issues in other plugins.
  • Performance will never be as fast as a standalone web application, since all of WordPress needs to load with every request.

The three main CRM / marketing automation plugins in 2023 are Groundhogg, FunnelKit, and FluentCRM. We evaluated each.

#Groundhogg

I really love Groundhogg and the team behind it 🧡. Groundhogg has been around since 2018, and they were the first serious plugin-based email marketing solution for WordPress.

Groundhogg on WordPress.org: 2,000 installs and 5 stars ⭐⭐⭐⭐⭐

In terms of the integration with WP Fusion, Groundhogg has always given us the fewest problems of any plugin-based CRM. It’s well-coded, stable, and has a bunch of addons that can customize it for almost any business requirement.

It also already supports Event Tracking, which we use heavily with ActiveCampaign.

But ultimately it’s so different from ActiveCampaign that it was going to complicate the transition. My goal with this move was to assign it to someone on our team to copy over all the contacts, fields, tags, email templates, and automations. So as much as possible we want a one-to-one replacement in terms of the product experience.

While getting used to calling automations “funnels”, and triggers “benchmarks” wouldn’t be so hard. There are some things in the Groundhogg funnel builder that don’t match up neatly.

For example we often use long-running automations with multiple branching conditions and “jump to” actions to personalize the email content for customers.

Our ActiveCampaign automations frequently branch, jump ahead, or jump to other automations.

In Groundhogg each funnel is linear, with a single trigger, followed by multiple steps, until the funnel ends.

While I know on a technical level it’s possible to reproduce our ActiveCampaign automations in Groundhogg (via applying tags that trigger other funnels), it means we can’t spot check each automation and make sure it was copied over correctly. We also can’t compare conversion rates at various automation steps one-to-one, since our single automations would need to be broken into multiple funnels.

I also don’t love the Groundhogg UI 🤔

I think it’s cool to lean into the fact that it’s a WordPress plugin. But at the same time— WordPress already gives me a lot of stress 😅. I’d prefer not to be thinking about WordPress when I have my marketing hat on.

The Groundhogg contacts list will look familiar to anyone who has worked with WordPress before.

This also means some things are slower since each action (opening a contact, saving a record, editing a tag name, etc) requires a full browser refresh.

Still— if I were starting a new business, or building a site for a client, Groundhogg would probably be my first pick. It just didn’t work out for us because of how different it is from ActiveCampaign.

Groundhogg is regularly $360 / yr for the Plus package, but you can take 25% off for Black Friday / Cyber Monday.

#FunnelKit

We have many WP Fusion customers who are very enthusiastic about FunnelKit (aka FunnelKit Automations).

FunnelKit on WordPress.org: 20,000 installs and 5 stars ⭐⭐⭐⭐⭐

FunnelKit is the newest marketing automation plugin we looked at, and it has a lot of impressive features. The admin experience is also pretty familiar coming from ActiveCampaign.

FunnelKit’s automation builder will be familiar to anyone coming from ActiveCampaign.

Ultimately, I decided FunnelKit was just too new to be reliable (yet). There are a few reasons.

Can you please decide on a name? 😭

This might be petty, but it drives me nuts when companies or products re-brand.

In just four years this plugin has gone through the following name changes:

  1. WP Marketing Automations
  2. WooFunnels
  3. Autonami
  4. FunnelKit

Look at the plugin install screen below and tell me which one of these is the CRM and email automation tool, and which is a checkout flow builder for WooCommerce? 😵‍💫

Which one of these do you think is a CRM, and which is a WooCommerce checkout flow builder?

This has caused a lot of stress for us with the WP Fusion integration with both plugins. In some cases it’s not clear which functionality resides in which plugin, or an update to one or the other in the wrong order will cause both to crash.

As recently as August 2023, FunnelKit changed their REST API endpoint from autonami-admin to autonami-app in a way that wasn’t backwards compatible, which caused the API integration to break for some of our customers.

And because our integration with their UI is in JavaScript (FunnelKit uses Vue for the admin), our integration sometimes breaks with FunnelKit updates, which breaks the whole admin along with it.

To be fair—  FunnelKit support is some of the best we’ve worked with, and they’ve often been proactive about reaching out to us in advance of potentially breaking changes.

When customers write in to WP Fusion with FunnelKit issues, we can cc their support and usually get a response the same day.

This is fantastic and I am super appreciative of it 🙏

But I wish things wouldn’t break in the first place.

So when I saw Daman Jeet post in their Facebook group around the beginning of October (when we were making this decision), saying that they were about to announce big news, my first thought was, “They’re going to change the name again! 😩”, and my second thought was that FunnelKit isn’t quite mature enough for us yet.

FunnelKit is regularly $399 / yr for the Professional package (required for the visual automation builder), but you can take 50% off for Black Friday / Cyber Monday.

#FluentCRM

That leaves FluentCRM.

FluentCRM on WordPress.org: 30,000 installs and 5 stars ⭐⭐⭐⭐⭐

We’ve supported FluentCRM with WP Fusion since September 2020, so it’s a pretty well-tested integration.

We also integrate with Fluent Forms, FluentBooking, and Paymattic, all of which are quite reliable and easy to extend.

Out of all the plugins we looked at, FluentCRM also had the most active installs, which makes me feel more secure in that bugs will be found and fixed faster than with a smaller plugin.

FluentCRM’s automation builder is comparable to ActiveCampaign’s.

FluentCRM is very familiar coming from ActiveCampaign— it uses the same nomenclature of lists, tags, automations, triggers, and goals.

After testing it we found we could mostly copy over our existing ActiveCampaign processes one-to-one, and we could compare the same data points across platforms to make sure nothing had broken (i.e. has the open rate on our Free Download automation, email #2 changed significantly since the switch?).

Automation reports in FluentCRM show how many contacts passed through each step, as well as email open and click rates.

And I really like how FluentCRM lets you hide the WordPress admin entirely when you’re working inside the CRM 🤓.

FluentCRM Pro is regularly $129 / yr for, but you can take 40% off for Black Friday / Cyber Monday.

WP Fusion

Get Automated. Get WP Fusion.

Deeply integrate multiple WordPress sites with FluentCRM using WP Fusion.

Buy WP Fusion

#Preparing to switch to FluentCRM

So, how did we make the switch?

Heads up: This section gets a little technical. If you’re not interested in server configurations or load testing, jump to Making the switch.

#Tech stack

We sell two plugins, WP Fusion and Fatal Error Notify, and so it was important for me for the CRM to be on its own subdomain instead of running on both of those sites. This is also better for security, and gives us more control over server resources.

Thankfully WP Fusion makes it easy to connect to FluentCRM remotely over the REST API, so we were able to set up the CRM on a subdomain (at crm.verygoodplugins.com).

Currently that is running on a 4 GB / 2 core Digital Ocean droplet (via Cloudways). The server is separate from the WP Fusion server, but it is also hosting our support desk and some other test and backup sites. We may move FluentCRM to its own server if we need more resources (this is pretty easy to do).

We’re using Amazon SES for email sending, which we’d already set up when we moved to FreeScout over the summer. Our account allows for 50,000 emails per day at 14 emails per second, at a cost of $0.10 per 1000 emails (i.e. to email our whole list of 15,000 contacts, we’d pay about $1.50 🤑).

We are using Memcached, and Redis caching via the Object Cache Pro (provided free by Cloudways). After a lot of testing, it appears like disabling Redis actually results in the fastest API performance.

#Load testing

I like using the Insomnia app for basic API testing. Against our old ActiveCampaign account, updating a single contact and loading a single contact’s tags is averaging about 500ms per request.

With FluentCRM, updating a contact ranges from 250ms to 350ms, and loading a contact’s tags takes about 200ms to 300ms.

The performance is slightly better than ActiveCampaign for a single request 👍. However, that doesn’t account for simultaneous requests. If we’re running a big sale (or doing a big export), we need to make sure the CRM site can still handle all the incoming data without timing out.

For these tests I like to use Loader.io which lets you simulate multiple simultaneous connections, while measuring the response times and success rate.

Let’s start with an easy one. We’ll load 500 sequential contacts over the API in one minute.

Loader.io lets us test how the server performs under a high number of simultaneous connections.

The results are good! 👌

252ms average response time, consistent throughout the test 🎉.

As well, on the server, resource utilization is low (using htop to monitor memory and CPU usage across the two cores).

Let’s try 1,000 contacts.

1,000 contacts looks like the limit

In this case the CPU and memory utilization both hit 100% pretty quickly and the requests started timing out ☠️

We should be happy with 500 API calls in a minute, but I wanted to dig into it a bit further 🤓. Looking at the resource allocation on the server I could see Varnish eating up almost all the memory during this test. Since Varnish is designed for page caching, and not really API caching, I turned it off.

At the suggestion of Cloudways support I also increased the MySQL max connections limit from 150 to 300, and then ran the test again.

It loaded all 1,000 contacts, with an average response time of ~700ms 🔥

The response time mostly stayed around 400-500ms but got as slow as 1,500ms when the number of active clients per second got over 30.

CPU usage crept up towards the high end, but the site didn’t go down.

There’s probably more optimization we can do here (and keep in mind this is on a very basic server), but I’m happy with the results— under normal usage FluentCRM is performing about 50% faster than the ActiveCampaign API 🔥

Point of comparison: Daniel Iser at Code Atlantic ran these same tests on a different tech stack, with MySQL on a separate server from PHP. He got average response times of 49ms when loading 250 contacts— more than 10x as fast as the ActiveCampaign API.

Let’s try one more test 👷

In the first test we were loading subscribers, which may be artificially fast due to Redis having previously cached some subscriber data.

In this test, let’s try tagging 500 contacts in one minute, since the POST requests won’t benefit from caching.

To tag contacts we’ll POST to the /subscribers/sync-segments endpoint, moving through contact IDs sequentially, and applying the tag loaderio.

It also handles this without an issue ✅

500 contacts tagged in one minute with a 297ms average response time. Server resources healthy:

This is all to say— we don’t need to worry about a bunch of new customers or a big email send crashing our site. FluentCRM can easily handle 10+ API requests per second without timing out or running low on resources.

#Security

Another benefit of having the CRM on a subdomain is that we can make it much more secure than our public facing sites.

Rather than using a security plugin (which tend to be complex and require a lot of resources), I prefer to use Cloudflare.

With a free Cloudflare plan we can add a “challenge” page to any URL that contains wp- in it, i.e. /wp-admin/, /wp-json/ , /wp-login.php, etc.

And then we can add an exemption to that rule, to bypass the challenge for any traffic coming from one of our own sites.

In addition to the IP addresses, I’ve also added a cookie check for the wordpress_logged_in cookie. This will bypass the Cloudflare challenge for anyone who is already logged in to WordPress.

I’ve also set security to “High” under Security » Settings.

Now any suspicious traffic or login attempts will be shown a challenge page where they need to complete a Captcha or puzzle to continue. Any requests from our own sites will bypass the security rule ✅.

For even tighter security you could upgrade to a Cloudlfare Pro Plan ($20/ mo) and then create a Zone Lockdown Rule to completely block all traffic except from your own sites.

#Making the switch

Moving from ActiveCampaign to FluentCRM involved several steps

  • Moving the contacts
  • Moving the automations and email templates
  • and finally connecting the live sites to the new CRM

#Moving the contacts

This was the hardest part. FluentCRM includes an ActiveCampaign import tool but it was really slow, and it crashed a lot. We’d start an import on our list of 15k contacts, only to have it time out after a few hours, and we’d need to start over.

After a week or two of this, we gave up and tried to do a .csv import

At the moment, FluentCRM can’t import tags or lists from a .csv, so the only solution was to export each of our ~50 tags as separate .csvs, and import them one by one, assigning the correct tag to each import.

After another week of this it was clearly not an efficient use of time. I started to dig into why the ActiveCampaign importer was crashing and was thankfully able to fix it by switching from the V1 to the V3 ActiveCampaign API (FluentCRM was suffering from the same timeouts I complained about in the first section).

Once this was fixed, we were able to import all 15,000 contacts in about four minutes, including tags and fields 🔥

(FluentCRM were kind enough to merge our fix into the core plugin, so everyone else can benefit).

#Moving the emails and automations

You can’t export automations from ActiveCampaign but since the automation builders are so similar, we were able to go through them one by one and copy over each step.

For the email content we copied the raw HTML out of ActiveCampaign rather than rebuild them all in FluentCRM’s visual editor— we’ll do that as it comes up when we need to make edits.

One thing missing from FluentCRM was a Field Updated trigger, which we use quite a bit in ActiveCampaign. This lets us trigger emails based on changes in a customer’s license status, subscription status, etc., and it’s more efficient than syncing both a field and applying a tag like “License Activated”.

Thankfully FluentCRM is pretty extensible and we were able to build this ourselves. It’s available for free on our Github if anyone else wants to use it.

We created a Field Updated trigger for FluentCRM so we could run automations based on changes to custom fields.

#Connecting the sites

Once everything was migrated, we reset WP Fusion on both sites, and connected to FluentCRM. WP Fusion worked through every user on the sites, loading their contact ID and tags from FluentCRM.

Finally we:

  1. Re-mapped our WordPress fields with FluentCRM fields in the WP Fusion settings.
  2. Configured our AffiliateWP tags.
  3. Set up the tags for our Easy Digital Downloads purchases and price variations.
  4. Set up the form feeds on Gravity Forms and Elementor Forms.
  5. Set up abandoned cart tracking.

Altogether this took about twenty minutes. Not bad ✅

#FluentCRM wishlist

There are some things we’re still missing from ActiveCampaign.

#Events

A big one was event tracking, which we use to see our history with a customer— when they logged in, when they contacted us, when they installed the latest WP Fusion update.

ActiveCampaign event tracking
Events tracked by WP Fusion show up in the Activity timeline in ActiveCampaign to the right of the contact record.

This is way more valuable to have as an activity feed than in tags or custom fields, since we can see the customer’s whole journey with us.

Thankfully this was also pretty easy to add to FluentCRM. It’s more of a proof of concept than anything, but it does work, and we’re able to track the events we need.

Events tracked by WP Fusion are displayed on the subscriber’s activity feed in FluentCRM

You can read more about that and download the plugin from the FluentCRM Events repository on our Github.

Updated Feb 2024: FluentCRM now has native support for event tracking without an addon plugin.

For information on tracking events with WP Fusion, check out the FluentCRM Event Tracking documentation.

WP Fusion

Get Automated. Get WP Fusion.

Track events in FluentCRM in real time using WP Fusion.

Buy WP Fusion

#Todo: Merging duplicate contacts

At the moment it isn’t possible to merge duplicate contacts in FluentCRM and retain their tags, email history, and automation positions.

We’re going to work on adding a button for this, and also adding an API method for it so we can have WP Fusion recover from the Provided email already assigned to another subscriber. error automatically.

#Todo: Custom field layouts

Updated Feb 2024: Custom contact field grouping and ordering is now available in FluentCRM v2.8.40 🎉

We collect a ton of custom field data and at the moment this is kind of a mess in FluentCRM. All the fields are piled up in a list beneath the main contact data. We’re going to work on adding a way to group fields under sub-headings, and also move fields to separate tabs.

#Todo: Custom columns sort

By default you can sort the FluentCRM contacts list by standard fields like Name, Email, and Date Added. We’d like to be able to sort by custom columns like “Last Order Date” or “Last Contacted Support”.

#Todo: Conversion tracking

FluentCRM can track revenue from campaign emails when using WooCommerce or Easy Digital Downloads, but that requires those plugins to be installed on the same site.

Since we have FluentCRM installed on a subdomain, we can’t see the revenue generated from our emails.

Our campaign revenue is currently blank since the checkout happens on another domain.

We should be able to find a way to sync some ecommerce data into FluentCRM so the Revenue is properly calculated, even across multiple domains. We might look at adding this as a feature for WP Fusion’s Enhanced Ecommerce addon.

WP Fusion

Get Automated. Get WP Fusion.

Integrate ecommerce data from multiple sites into FluentCRM with WP Fusion (coming soon 🤭).

Buy WP Fusion

#Summary

Let’s wrap this up.

#Did we save any money?

ActiveCampaign would have cost us $2,748 / year with the new pricing plan.

FluentCRM‘s ongoing costs:

  • FluentCRM Pro plugin: $10.75 / month
  • Amazon SES email: $0.75 / month
  • Hosting via Cloudways: $25 / month

As well, we invested about $2,500 in labor between myself and the team— migrating the data and adding new functionality.

It looks like we’ll break even on the first year (as long as we don’t add too many new features 🙈), and in subsequent years we’ll have significant savings— plus we’ll own our data, and don’t need to be worried about growing our list, or sudden price changes.

#Is FluentCRM right for us?

Yes. It was more work than I was expecting, but I’m happy we made the switch. And I’m excited to be able to actually request and/or build the features we want, rather waiting for innovation from a faceless company.

#Is FluentCRM right for you?

Maybe. If you don’t have a technical background (or have better things to do with your time), then a SaaS solution like ActiveCampaign or Brevo makes a lot of sense. You can get set up in just a few minutes, you don’t need to worry about the server, or the email sending service, and you (usually) have quick access to priority support.

But if you like the idea of owning your data, managing your own sending reputation, and not being at the mercy of unexpected price hikesFluentCRM (or another self-hosted solution) is definitely worth considering.

WP Fusion

Get Automated. Get WP Fusion.

Whichever email marketing tool you use, we hope you'll choose WP Fusion to deeply integrate with WordPress.

Buy WP Fusion

45 thoughts on “We switched from ActiveCampaign to FluentCRM (and it wasn’t that scary 👻)”

  1. Nice job Jack.
    Although I personally love Funnelkit. Btw the name of the company only changed once as far as I recall. The products itself where renamed a few times.
    Besides that I still love AC also. And my preference when using woocommerce will stil be Funnelkit as an integrated CRM and mailmarketing systems. Automations are great and also the reporting, and even better in version 3.

    I guess support on AC will be there from WPFusion?

    1. Yeah, definitely. AC is still 26% of our active users. FluentCRM comes in second at 12%, so it’s by-and-far the most popular integration.

      It wasn’t a good fit for us anymore but I’ll still recommend AC to most people.

      FunnelKit looks promising and I think in a year or two it will be a lot better, but we’ve had so many issues with it just in the past six months that I didn’t feel safe making the investment in it right now.

  2. This kind of case study is a dream for every product owner.
    I had a look at WP Fusion when I was working for Tutor LMS but never got a context like how it can help scale up a business or save costs. Automation felt like a “nice to have” feature.

    This post helped me understand how great of a product WP Fusion is! I had respect for FluentCRM already. I am using it for business now. I hope I can start using WP Fusion soon

  3. Thanks for the walk thru!

    Quick question, did you look at or need to consider multiple brands? Is it just wpfusion.com you had to think about?

  4. Great post. I never thought about running fluent crm on a subdomain. I always thought it had to be on the main WordPress install as your site.

      1. Except if it’s a Woo install, correct? Unless I’m mistaken, Woo and Fluent need to be on the same domain to avail of all the Fluent Woo features (even with WPF in the mix). This general rule applies also to FunnelKit, correct?

        PS – Thanks for this timely article. I’m doing some last minute shopping for a CRM for my latest Woo project.

        1. If you want to use the specific Woo triggers like “Product Purchased”, yeah, they need to be on the same site.

          But you can use “Tag Applied” across remote sites… so that’s what we do. All our sites connect to FluentCRM on a subdomain and apply tags based on purchases, abandoned carts, etc., and then we use those tags to trigger automations.

          1. Copy that. And then presumably the tag can be removed as part of said automation sequence? (so that it can be added again at a later date if required.)

          2. Also re: your abandoned cart add-on, does it capture guest emails as well, or only logged in users?

            Again, to be clear, would you say with confidence that WPF enables access to every Woo feature of FCRM running on a separate domain?

            I appreciate your time.

            1. It does capture guest emails.

              No, WPF does not replace every feature of FluentCRM + WooCommerce. Not even close. You lose the triggers, the Woo conditions, and the ability to see WooCommerce order data in the contact record. You also lose the ability to track revenue from campaign emails.

              FluentCRM + WP Fusion completely replaces ActiveCampaign + WP Fusion, since that was all tag and field based anyway, and we couldn’t see ecommerce data in the CRM with ActiveCampaign. So for us it was a great move.

              But if you’re already set up with Woo and FluentCRM on the same site, and you break them into two sites, you’re going to lose a lot of features.

              We are working on ways to bring them closer together but those features will come out over the next year or so.

  5. I’m curious if your actual send rate matches the limit set at Amazon SES, “Our account allows for 50,000 emails per day at 14 emails per second”. I was using Autonami/FluentSMTP/Amazon SES and had an approval rate of 50 emails/second. However, campaigns sent to my list of 30K subscribers were actually sent at a rate of about 5/second. The issue could never be resolved (reached out to Automani/FluentSMTP/hosting). Since I often send time-sensitive emails, I decided to stay at ActiveCampaign, but if I could get a speed that’s closer to my approval rate, I would love to make the switch to FluentCRM and save $$$/month.

    1. Great question! Yes, I timed it 😀

      14,600 emails took 2 hrs and 24 mins to send, so about 1.7 emails per second. We could probably optimize that by batching the emails to the SES, but we don’t send time sensitive emails so it’s not a priority for us.

      1. Thanks, that’s the deal-breaker for me. Postmark was also trying to help me resolve the issue and said something about customizing the Batch API (send 500 emails at once, and with 10 concurrent connections you could send up to 5,000 emails concurrently), but FluentSMTP said it wasn’t an option. Not sure if that’s similar to what you’re suggesting or not. Sounds like I might be stuck. I appreciate your detailed post.

        1. Right, at the moment FluentSMTP sends emails one at a time. It looks like with SES at least we could get that up to 50 / second by changing to the bulk API. I’m talking with the Fluent team now about trying that out.

          1. Curious about this one, too.
            Sending to 15k list and getting the same issue with FluentCRM (around 1+ email a second, via SendGrid)
            Their support wasn’t able to help, either.

            Thanks for the great post, Jack!

  6. Techpremier Media Limited

    This was a fantastic read. Thanks for sharing Jack. I also have FluentCRM installed on a subdomain but with caching completely disabled. Do you think this is a bad idea?

  7. Hi Jack, great post.

    Just in this days I was in contact with ActiveCampaign to evaluate a move from keap(infusionsoft) to this. But the cost, however, is prohibitive (what you spent in a year I spend in a month).

    So you say FluentCRM could completely replace AD or keap? Even with very large lists (300k)?

    I should understand the time for sending emails. For you 14,600 emails took 2 hrs and 24 mins to send…but 300k emails? If I haven’t miscalculated, for 300k emails we have 48 hours….

    What about the management of activities, tasks, opportunities etc? Are the features the same?

    I want to try it.

    Thank you

    1. Completely replace AC….. no 🤔

      We were on an AC Lite plan and even then weren’t using a lot of features. I was looking for a good way to store contact data and history, and run automations. FluentCRM replaces those features really effectively.

      They are supposedly going to release a sales pipelines system soon. I’ve heard before the end of the year. In that case you could track opportunities and/or tasks. You can also log notes, calls, and invoices on the activities panel: https://i.wpfusion.com/tq5QvXJW. And our Event Tracking addon now supports something similar to what you’re used to with AC events: https://wpfusion.com/documentation/event-tracking/fluentcrm-event-tracking/

      The email sending rate is a good question. I’ve just asked in their FB: https://www.facebook.com/groups/fluentcrm/posts/6933328486774429/

      At the moment emails are sent one by one. Amazon has a bulk-email API that can handle emails in batches of up to 50. If you could get your SES sending rate raised to the max 50 emails / sec (ours is currently set to 14), and FluentSMTP was updated to use the bulk sending API, then you could in theory send 300k emails in under 2 hours.

      From everything I’ve seen that would be technically possible, and a relatively minor change. I’m hoping to nudge them into adding that into FluentSMTP but it’s also something we could build ourselves if we had to.

  8. Great read and incredible walkthrough. Thanks for taking the time to share.

    As a Groundhogg user, I completely agree about the UI needing some updates (that’s one of the things that continues to tempt me about FluentCRM, which I do use on one of my smaller sites).

    You can do more than simple linear funnels in Groundhogg. It’s a bit deceiving when you look at it, but you can use the conditional logic that comes in their advanced features plugin to do what you want. Based on conditions, it can end the funnel, jump ahead to other steps, and branch out.

    Like I’m finding with so many things in Groundhogg, I can usually do what I want to do, but it doesn’t always look pretty in doing it.

    The one thing I wish FluentCRM had & that would probably put me over the top in switching is a backup/import of all its data so that it’s easier to work with staging sites without worry of losing data or where someone is in a funnel.

  9. Jack:

    I always appreciate your year in review posts, and this one was just like that for me. I always walk away with something new. Last time I walked away with learning about Breakdance which is my go-to builder now (I always used custom theme everything).

    Today, I learned how to set up the challenge WAF rule in Cloudflare (which I have noticed in the past when logging into my account for WP Fusion, but never knew how to do).

    Thank you so much for your great plugin, WP Fusion, as well as your contributions to the community and helping others stay up-to-date and energized!

    -Nic

    1. Thanks for reading! 🤩

      I love nerding out about this stuff, so it’s a double win when others get a new tool or trick out of it 😉

      We actually use Cloudflare for a *ton* of heavy lifting on our sites. I personally think the Pro plan at $20/mo is the best ROI out there in terms of web software.

      Things are usually pretty quiet for us in December so I’m planning to put up another big post on all the ways we use Cloudflare. Catch you then ✌️

      1. Sweet. Can’t wait to read it!

        I don’t use any Pro plans on Cloudflare, but I have many of my client sites on there. I typically use Wordfence with 2FA, but that is a PITA.

        Do you think Cloudflare challenge is just as safe as 2FA to keep away bad actors?

        1. 2FA is more secure for sure. Cloudflare prevents brute force + DDOS.

          But I think a 2FA plugin + Cloudflare is maybe better, and easier on resources, than something heavy like iThemes or WordFence.

          Most of the benefit we get is from their caching. About 85% of this site’s traffic (including WP Fusion updates) is served from Cloudflare. It lets us have a super fast site on just a $50 / mo hosting plan.

  10. Jesus, Jack, this is brilliant. Thank you very much for offering the use of the Field Updated trigger! When we moved over to FluentCRM from Ontraport over a year ago, that was the second bummer we had to contend with (the first being not being able to import tags or lists from a .csv!) Will you eventually add this to the WP plugin repo? Or donate it to Fluent:)?

    FYI, I installed Fata Error Notify on one of our CRMs (pretty much the same configuration you have here), and the test email for fatal error is not being sent (even though we have that email configured via Fluent SMTP with PostMarkAPP. Anything I ought to check?

    Also we were also contemplating a switch from PostMarkAPP to Amamzon SES. I am guessing you would be partial to the switch.

    1. Thanks for reading Patrick! 🙂

      Add it to the repo… no. There’s a big backlog now on getting plugins approved, and then we need to update the Tested Up To with each major WP version. Happy to let FluentCRM incorporate it if they want to 👍

      Test email… I’m not sure. Drop us a line at https://fatalerrornotify.com/support/contact/ and we can take a look. The emails sometimes go to spam because they have code / debugging info in them, but I assume you’ve already checked there.

      I don’t know much about PostMark so can’t say. We had a hard time getting approved with SES, and the Amazon dashboard is confusing, but otherwise I’ve been happy with the send speed and deliverability. If you’re not having problems with PostMark I don’t see a reason to switch.

  11. Jack! Thank you! Such a rich read. Thanks for giving back to the community so abundantly, and accessibly. As a frequent FluentCRM user/recommender to clients I’ve found it hits a sweet spot between price v’s features v’s complexity for so many… but the list of upgrades you’ve added, or are working on, OMG, yes please! I see a whole seperate premium “Fluent Booster” or “Fluent Fusion” plugin in the offering, or worked into the existing Fusion setup
    in detail. And if not hopefully their team is listening and will incorporate many of your additions inot their core ASAP! Thanks again for documenting your journey so clearly we can all scaffold along with you.

  12. Thanks Jack, fantastic article and came up just at the right time. We have a lot of free users on our site and had been trying to find a CRM that meant we could communicate with them without completely bankrupting us. FluentCRM looks like a great option and we’re just getting started with it now. Appreciate the time you’ve put into to walking us through this.

  13. I’ve been using Fluent CRM for about 2 years. It’s had it’s challenges with the email builder being glitchy to load occasionally.

    A couple things I wish it had:

    1. Better integration with Memberpress (and Courses from Memberpress) – to update list(s) based on membership status.
    2. Gravity Forms integration. You can use a webhook to import contacts to Fluent from Gravity, but a direct integration that could be used in automations would make it much better.

    My biggest complaint with it is they recently stopped all access to prior versions. If you don’t have a current license you can’t even access your data on an old version. You’re forced to update the license and upgrade to even view anything. And there was no warning to existing users of the change.

    1. It sounds like you might be a good candidate for WP Fusion 😅

      Our MemberPress integration with FluentCRM contains a lot more triggers than the native integration: https://wpfusion.com/documentation/membership/memberpress/#tagging

      And we support syncing Gravity Forms entries directly into FluentCRM: https://wpfusion.com/documentation/lead-generation/gravity-forms/

      I know it’d be ideal if these features were built in…. but at the same time, there are *so* many plugins out there. I’d kinda prefer they focus on developing core features like the email builder, multi-threaded sending, sales pipelines, and custom field management, rather than try to support every plugin.

      Like… especially with form builders, WPManageNinja already have Fluent Forms, so I can see why Gravity Forms hasn’t been a priority for them 🤷

      And then in cases where the native integrations don’t cut it, we’ve probably got you covered with WP Fusion https://wpfusion.com/documentation/#integrations 😉

  14. Hey Jack,

    I’m in the initial process of converting one of my clients to FluentCRM from AC.

    In your transition, did you have a period of time where you ran both CRMs parallel? I’m thinking that it would be nice to be able to do that. Thus, I could transition the automations over one by one over time by recreating the target automation in FCRM, then just activating / deactivating the respective CRM automations.

    I did see your write-up on connecting a second CRM (Intercom) https://wpfusion.com/documentation/advanced-developer-tutorials/sending-data-different-crms-intercom-example/.

    I think I can follow that for FCRM with some trial and error, but maybe you’ve already done it and I could convince you to share it ;).

    Or… maybe the time required to set up the dual CRM connectivity isn’t worth it and it’s best just to migrate all the automations and then just flip the switch (yeah, I’m sure it’s not just flip a switch) to cut over from AC to FCRM.

    Your thoughts?

  15. I had read this when you first published back in November and found it very helpful as we had recently moved over to FluentCRM as well. We are still keeping data and information on our SaaS CRM as we have found that FluentCRM falls short on some items that you pointed out here as well.

    Event Tracking is quite important for us and we are actually getting ready to test your suggestion on our staging site. We are hopeful that will get us what we need.

    The main reason for my comment today is to ask if you know anything on the Sales Pipeline features you mentioned they were getting ready to launch. We would really like to see that come through but I cant find any info when I search and I cant seem to find anything mentioned on the FluentCRM site.

    Thanks again for this post.

    1. I haven’t heard anything new on the pipelines feature. Originally it was supposed to be ready by the end of 2023. I expect it will come out soon, but not sure when exactly.

      This was the last update from Shahjahan (three weeks ago): “The team is trying its best to release the beta as soon as possible. Had a few setbacks last couple of months in terms of architectural design. Let’s see when we can launch the beta.”

  16. Thank you Jack. I just noticed the same comment on the FB Group. I also signed up for their beta, but fingers crossed they release it soon.

  17. Awesome to see the Events update!! In my opinion the most valuable thing missing here is Conversion tracking so I fingers crossed it’s coming sometime soon 🙂

Leave a Comment

Your email address will not be published. Required fields are marked *