ActiveCampaign integration setup

EarlyParrot integrates directly with several CMS such as Infusionsoft and ActiveCampaign. EarlyParrot via its integration with ActiveCampaign can:

  • populate custom fields for any contact inActiveCampaign CMS
  • add tags to any contact inActiveCampaign CMS

How to integrate ActiveCampaign?

ActiveCampaign can be integrated from the integrations tab for your specific campaign.

On switching on the ActiveCampaign Integration, you will be requested for two important pieces of information:

On entering these two fields, EarlyParrot will try to connect to your ActiveCampaign account. If successful, the following message will appear on top.

On successfully connecting EarlyParrot with your ActiveCampaign account you should go ahead and fill in different accordions with several settings as follows.

There are two kinds of settings that EarlyParrot will require:

EarlyParrot will populate custom fields and add a tag whenever an event happens. For instance, when a new reward is given out to a referrer, EarlyParrot will:

  • create a new tag if it does not exist with the reward’s name
  • add that tag to the contact in ActiveCampaign

By populating custom fields and adding tags, EarlyParrot can trigger automation in ActiveCampaign.

How to create a custom field and add it to EarlyParrot settings?

To create a custom field in ActiveCampaign please follow this tutorial: how to create a custom field in ActiveCampaign

Please make sure that all custom fields are of Text type. Once you have created all custom fields, you are now ready to input them in the EarlyParrot settings as follows:

Click Save button, to save the ActiveCampaign integration.

How to make EarlyParrot add a custom tag to ActiveCampaign contacts?

ActiveCampaign does not require you create tags prior to adding them to any contacts. Tags are added just right after an event happens at EarlyParrot such as a new reward is awarded, a new subscriber has been added and/or a new referred subscriber has been added. EarlyParrot adds tags so as to trigger automation in your ActiveCampaign account.

How to add subscribers to both ActiveCampaign and EarlyParrot?

Please note that EarlyParrot will not add subscribers to your ActiveCampaign account. EarlyParrot will only add tags and populate custom fields to your ActiveCampaign contacts, assuming that the contact already exists. This means that your existing sign-up flow by which subscribers are added to your ActiveCampaign account via an ActiveCampaign form should remain as is.

This can be easily achieved by adding a Javascript code to your sign-up page. Through this Javascript code, new subscribers are submitted to EarlyParrot prior being submitted to ActiveCampaign. EarlyParrot will wait for 1 minute before populating the initial custom fields and adding the first tags, giving enough time to ActiveCampaign to process the new contact.

To integrate EarlyParrot with your landing page, we recommend you use Google Tag Manager. Google Tag Manager makes it easier to handle and tweak your EarlyParrot integration. So to get started follow these steps.

Log into your Google Tag Manager and go to Triggers tab.

Create a new trigger new Page View trigger.

Call it EarlyParrot Subscriber Page Trigger. Set the trigger condition to make sure it triggers only on the subscribe page URL.

Once done, create another trigger. This time a custom event trigger.

Then go to the tags tab.

Create a new Custom HTML tag.

Call the first tag EarlyParrot Subscribe Call Step1. This tag loads the required scripts for the next tag.

The following is the HTML code for EarlyParrot Subscribe Call Step1.

<script language="javascript">
(function(w,d,url){
var headElement=d.getElementsByTagName('head')[0];
var scriptElement=d.createElement('script');
scriptElement.addEventListener('load', function() {
  window.dataLayer.push({
  event: 'subscribeCallUtiltiesLoaded'
});
});
scriptElement.async=1;
scriptElement.src=url
headElement.appendChild(scriptElement);
})(window,document,'https://s3.amazonaws.com/earlyparrot-production-scripts/utilities.js');
</script>

The trigger for EarlyParrot Subscribe Call Step1 must be as follows:

Create another Custom HTML tag and call it EarlyParrot Subscribe Call Step2.

The following is the HTML code for EarlyParrot Subscribe Call Step2.

PLEASE MAKE SURE YOU REPLACE:

  1. YOURDOMAIN.com with your domainname
  2. YOUR_CAMPAIGN_ID with your campaign id.
  3. YOUR_JQUERY_SELECTOR is the JQuery selector to get the first name and/or email
<script language="javascript">
epJQuery('form').submit(function() {
var ep_subscribeObj = new Object();
epJQuery("YOUR_JQUERY_SELECTOR']").each(function(index, value) {
if (epJQuery(value).val() != null && epJQuery(value).val().length > 0) {
ep_subscribeObj.firstName = epJQuery(value).val();
}
});
ep_subscribeObj.lastName = ' ';
epJQuery("YOUR_JQUERY_SELECTOR").each(function(index, value) {
if (epJQuery(value).val() != null && epJQuery(value).val().length > 0) {
ep_subscribeObj.email = epJQuery(value).val();
}
});
ep_subscribeObj.rh = Cookies.get('rh');
ep_subscribeObj.sendWelcomeImmediately = 0;
Cookies.set('epSubmitEmail', ep_subscribeObj.email, { domain: 'YOURDOMAIN.com' });
epJQuery.post("https://admin.earlyparrot.com/api/campaigns/YOUR_CAMPAIGN_ID/subscribe", ep_subscribeObj)
.then(function(data) {
//JSON object returned by subscribe call
var userFirstName = data.user.firstName;
var userLastName = data.user.lastName;
var userEmail = data.user.email;
var sharePageURL = data.sharePage;
window.dataLayer.push({
'userFirstName': userFirstName,
'userLastName': userLastName,
'userEmail': userEmail,
'sharePageURL': sharePageURL
});
});
});
</script>

The trigger for EarlyParrot Subscribe Call Step2 must be as follows:

How to import existing ActiveCampaign subscribers?

Simply export all your contacts to CSV and follow these instructions. Make sure that the Welcome Email is switched off in Branding step in the campaign create/edit wizard. Failure to do so will result in EarlyParrot sending out a welcome email to all your subscribers, causing a lot of unnecessary confusion.