Salesforce and ActiveCampaign
Salesforce & ActiveCampaign.
Even though both platforms share CRM capabilities, ActiveCampaign provides complete marketing automation at a reasonable cost, while Salesforce’s overal CRM capabilities are undisputed.
Syncing through Zapier: problematic
It makes sense to use both apps side by side, but connecting Salesforce & ActiveCampaign through traditional integration methods like Zapier can be challenging.
Both platforms contain actual rich contacts databases that ultimately need to run in tandem, and Zapier cannot handle this properly. As contacts constantly evolve, zaps simply cannot keep up with the changes on either side.
Let’s consider a simple form of sales & marketing working together. There's two kinds of data flows here:
- AC -> SF. Leads fill out an ActiveCampaign form, and you need to have that information in Salesforce.
- SF -> AC. You have leads in Salesforce that need to receive a newsletter sent out via ActiveCampaign.
Zapier performs a 1-way sync, which can be helpful to push data from one app to another. So in other words, if you want to execute this integration, you'll need to set up 2 separate zaps that run in opposite directions.
On a more problematic note, however, because of how zaps work, you run the risk of overwriting existing data in Salesforce, or even create duplicates in your contact database. We'll visit an example later in this article.
Finally, Zapier just takes effect from the moment you set up those zaps. In other words, it may create those contacts in the future, but it leaves the existing data untouched.
Syncing through Zapier: limited in configuration
A prospect Brian fills out a form. That form is managed inside ActiveCampaign and on it we collect some of Brian's contact info, as well as the answer to the question "I want to know more about..."
At first sight, setting up that zap is not too hard. “When a contact is added in AC, create it in SF”. Easy enough right? Although…
When you set up a zap, you have to choose a trigger. Those triggers are technically tied to one single ActiveCampaign list.
So with multiple forms, multiple lists,... already you may be forced into setting up multiple zaps. And as we’ve pointed out, it will ignore all previous form submissions and only start from the moment you set up this zap.
Actually building out the zap can be time consuming since it requires that you spell out the mapping in the configuration of your zap. Which field on the form corresponds to which field in Salesforce?
Zapier screenshot. There are no triggers for changes happening inside Salesforce. The triggers only allow you to choose “new lead” or “new contact”.This greatly limits your possibility of actual syncing.
In setting up the Zap between the two apps, you have to define each field individually. Connect “last name” to “last name” etc. Note you’ll have to repeat this process in the other way too.
Syncing through Zapier: doesn't work 2-way, overwrites data 1-way
Admittedly, when you exclusively collect fresh leads all the time, zaps may end up working well. After all, it’s simple one-way traffic from ActiveCampaign into Salesforce.
In our simple example, we also want contacts pushed from Salesforce into ActiveCampaign, so there’s increased chance of having identical contacts existing on both sides. That’s a risk because zaps are executed blindly - they don’t take into account that data may already exist.
That brings with it an ugly side effect to see some fields get overwritten as shown in the example below. Here’s Brian's contact sheet in Salesforce… And along comes new information from the webform in ActiveCampaign. It also includes some relevant information on Brian's marketing journey, as well as more details that he left on the form.
Relying on the 1-way zap from ActiveCampaign → Salesforce has your data in Salesforce run the risk of being overwritten or simply erased all together. In the above example, you had some address information - but now it’s gone! Zaps strictly execute what they are told; so when empty information needs to be carried over, it will carry over.
What about syncing data the other way? A 1-way zap from Salesforce → ActiveCampaign, for instance to subscribe Brian to the newsletter, would also see some information be lost with the sync. The phone number that Brian had left in his original contact form gets overwritten.
Syncing through PieSync: a true 2-way sync
In contrast, a true 2-way sync with PieSync respects existing data, and makes it better on both sides. Two-way means the sync simultaneously reads & writes data in both directions. Any changes, whether they happen within a single field, or multiple fields at the same time, are all picked up by PieSync’s synchronization engine.
With PieSync, contact sheets are truly merged, resulting in 2 databases that are always up to date, and complete.
You would have an identical contact sheet for Brian on both sides. All the time.
PieSync: How do you get started?
If you haven’t done so already, setting up a new PieSync account is super easy. After you’ve authorized both Salesforce and ActiveCampaign, you’ll be greeted by sync rules.
It’s through these rules that you define how you want your two databases to talk to one another. Here's a combination of rules that show off the 2-way sync between ActiveCampaign and Salesforce.
Contacts that are subscribed in ActiveCampaign will seamlessly sync with your Salesforce database. Not only will contacts be created, or kept in sync with existing data in SF, it will also update a critical attribute on those contacts inside Salesforce: the opt-in/opt-out switch. This registers whether or not your contact opted in for marketing.
Since you're using ActiveCampaign, you're probably not even using that value in Salesforce anyhow. But through PieSync, you can easily have ActiveCampaign control that toggle! You cannot exclusively store marketing preferences in your ActiveCampaign silo. They need to sync to Salesforce too. Here's the rule you need:
It's important to store marketing opt-in preferences on a CRM level too. Ever since GDPR came into play, you need to have access to one easy way to immediately unsubscribe a contact from any future correspondence. Here's a PieSync rule that will do exactly that:
Possibilities with rules are endless.
How the data will be exchanged is not something to worry about: PieSync’s smart merge algorithms ensure no data gets lost in the sync. On the contrary, all the data is mutually enriched, leaving you in full control with custom mappings.
Consider the following example where not only the standard contact fields are being exchanged, but several proprietary AC fields are being mapped with SF fields.
Once the sync runs, it will keep up with changes on both sides every 5 minutes.