Keap (Infusionsoft) Integration
Link Keap (Infusionsoft) with Event Espresso, so your attendees are moved to Keap as their event registrations are completed. Your campaigns in Keap will then take over and work for you around the clock so you can send event -specific information to attendees or even invite attendees to register for future events.
The basic contact information including a name and email address are sent along with their address. The information is stored in Keap –> Contacts –> General. The address for the registrant is copied to Contacts –> Address and a note is made in Contacts –> Person Notes. An invoice is also created which includes the event name and amount paid.
Need to Buy a Support License for the Event Espresso Keap Integration?
Purchase a support license for the Keap integration for Event Espresso
Event Espresso Keap Integration
This add-on is a plugin for WordPress and can be installed through your WP dashboard (WP-admin). Here are the steps on how to install the Keap add-on for Event Espresso 4.
Download the latest version of the Keap integration for Event Espresso 4 from your Event Espresso account.
Then login to your WordPress dashboard (WP-admin) and go to Plugins. Next, click on Add New –> Upload and browse to the plugin on your computer. Then select the zip file and begin the upload process. Wait for the plugin to upload and then click on Activate.
Locate your Credentials for Keap
Your credentials for Keap can be found in your Keap dashboard.
Keap uses a specific set of credentials (Application name, Encrypted Key) and here is how to find them.
1) Log in to your dashboard on keap.com
2) Look in the top left area of your screen and hover over the Keap logo and you’ll see a menu expand
3) In the lower right area of the expanded menu, under Admin you’ll see a Settings link. Go ahead and click on the Settings link under the Admin area

4) You’ll now see the All Application Settings screen. Look for Application in the left menu and click on it.

5) Scroll down towards the end of the page for the API section. Look for the Encrypted Key and copy it.

6) In a new browser tab, go to your WordPress dashboard and look in the left admin menus for Keap and click on it.
7) Paste in your Encrypted Key in the field for it.
8) Switch back to your browser tab that has your Keap dashboard open and look at the web address or URL in your browser. It will appear something like this: abc123.keap.com. The information before the “.keap.com” is your Application Name. In this example, the Application Name is abc123. Copy your Application Name.

9) Switch to your other browser tab for your WordPress dashboard and add the Application Name and then save changes by clicking on the Save button.
If you are not accepting payments through Keap directly, then you are all set. You’ll now see attendee/registrant information flow into Keap as registrations take place on your WordPress site.
Accept payments through Keap
Accepting payments through keap requires a Merchant ID.
1) Login to your Keap.com dashboard
2) Look in the top left area of your screen and hover over the keap logo and you’ll see a menu expand
3) Look for the E-commerce menus area and then click on Settings.

4) You’ll now see the Product screen. Look for Payment Processing and then click on Merchant Account.

5) Follow Infusionsoft’s guide to set up payments with keap:
https://classic-infusionsoft.knowledgeowl.com/help/infusionsoft-payments-setup-guide
6) Contact Keap to get your Merchant ID, or if you prefer working through a scavenger hunt to find it, follow Keap’s guide to How to locate your Merchant Account ID
7) Make a note to remember that number and then go to your WordPress dashboard.
8) Look in the menus on the left side of the screen for Event Espresso and click on Payment Methods. Now look for Keap and click on it and then click the button to activate it.
9) Scroll down and look for the Merchant ID field and then add in your Merchant ID which is the number that you obtained in step 6.
10) Click the boxes for the types of cards that you want to accept (e.g., VISA, American Express, Discover, Mastercard) and then save changes by clicking on the Update button.
You are now ready to accept payments through Keap for Event Espresso on your WordPress site.
Setup and Configuration for the Event Espresso Infusionsoft Integration
From your WP dashboard, go to Event Espresso —> Infusionsoft Settings.

Your credentials for Keap can be found by following the steps in the previous section.
Usage
Once the Keap integration is installed, all new registrations are automatically captured, as “Contacts” within your Keap account. If you accept payments using Event Espresso, then we only send the payment information to Keap, when the payment is first approved.

Then you can send the contact an Invoice, or payment reminder, from your Event Espresso powered website or your Keap app. If you update the payment status on your website, for that person, it will also update the payment status of the order that was created for the client.

This image shows a high-level overview of how the Event Espresso Keap integration works:

Troubleshooting the Event Espresso Keap (Infusionsoft) Integration
The plugin does not work as expected. Can you help?
Please double-check your credentials that are entered into the Keap settings pages within your WordPress dashboard. Ensure that no extra spacing appears before or after the credentials. The gateway field requires a numeric value and not a full website address.
I’m seeing this error: InvalidConfig Keap. What does it mean?
Please contact Keap support to have them review your account. See this page for more information: http://community.infusionsoft.com/showthread.php/17346-API-quot-Invalid-Configuration-quot?highlight=InvalidConfig
Frequently Asked Questions
Are partial or overpayments available?
If a customer makes a partial payment or overpays for their registrations, then the payment will not be recorded in Keap. This is a limitation of Keap, and more information is available here:
If an overpayment is made in Event Espresso, then manually apply the payment within your Keap dashboard and take note of the actual payment amount the Order Notes field.
When registering for an event, are Event Espresso using products set up in Keap for each registration?
Event Espresso dynamically creates a product record in Keap if the product is not already present, then each event registration record in Event Espresso will be assigned to an Keap product.
Does Event Espresso block the purchaser from entering the same email address for all of their attendees?
In our internal tests, it seems that a new Keap contact record was created for each different person:

How will I be able to differentiate between several contacts with the same email address?
Event Espresso only considers two attendees/contacts duplicates if they have the same first name, last name, and email address. In both Event Espresso and Keap, you can differentiate between contacts with the same email by their names and IDs.
Can one person purchase multiple tickets, and supply the names of all the attendees at the time of checkout? If so, will all those names be integrated over into Keap, and new IS contact records created for any attendees who do not currently have one?
Yes, and yes. You can set this up when creating the event to include specific registration forms. At a minimum, the first name and email address are required for each attendee.
During checkout, do we have the ability to ask two custom questions that could then trigger tags in Keap?
Yes. However, this will require some custom coding. Here’s the documentation for that:
https://eventespresso.com/wiki/infusionsoft-integration/#ee4customizations
Can I add custom questions during checkout for all attendees and trigger MULTIPLE tags in Keap for each attendee?
Yes, this code sample shows that you can apply tags to multiple questions:
https://eventespresso.com/wiki/infusionsoft-integration/#conditional-tagging-multiples
Customizations for the Event Espresso Keap Integration
Tagging Event Attendees
As of version 2.2 of the Keap add-on, you can easily tag contacts when registering for events, so that registrants that are added to Keap are tagged when signing up for an event. Since event managers might want to assign event attendees to more than one tag, we’ve added a way to select for each event from within the event editor (hold the “SHIFT” key on your keyboard to select multiple tags):

Each new attendee will be tagged with the selected tags for the event. If the contact already exists within your Keap account, then new tags will be added automatically.
Before using this feature, please make sure you have created custom tags within your Keap account. You can learn how to create tags in Keap by reviewing this guide:
https://classic-infusionsoft.knowledgeowl.com/help/create-a-tag
Conditional Tagging of New Contacts
This is done by tagging new contacts with keywords based on selections chosen in your event registration forms. To get started, please make sure you have added at least one Custom Question, assigned it to a question group that is currently assigned to an event. Once you have added custom questions to Event Espresso, within your WordPress dashboard, visit the Event Espresso > Keap > Conditional Tagging Setup tab. From this tab, you can assign custom registration questions to Keap tags:

Once the custom questions are assigned to a tag, then someone registers and answers one of the assigned questions, the contact record within Keap will be updated with the selected tags. Here’s an example of what you would see in Keap when this feature is triggered:

Saving Registration Form Answers as Standard or Custom Fields
Sometimes you need to save additional information for a contact in Keap. With the Event Espresso Keap integration you can save additional information captured from your event registration form. The information can be saved as a standard or custom contact data field within a contact’s record.
First, you add your custom questions to Event Espresso > Questions. Then add the questions to a question group and assign the question group to the applicable event(s). Now, within your WordPress dashboard, visit the Event Espresso > Infusionsoft > Custom Fields Setup tab. There you can assign custom registration questions to Keap tags:

Affiliate Tracking
Tracking affiliate sales using the Event Espresso Keap is relatively simple. See information at Keap about Creating Referral Partners and Referral Tracking Links.
Simple method
The easiest way to track referrals is by appending the URL to your event registration page, with the “ref” URL parameter and the referral partner code or the “affiliate” parameter and the referral partner id.
Examples:
http://www.example.com?ref=johnDoe
http://www.example.com?affiliate=1234
Tracking not working?
If that process doesn’t work, look into the caching of your site. Anyone using Varnish (such as WP Engine) will have to add exceptions for Event Espresso pages on your site manually. The standard pages are:
/register/
/events/
/registration-checkout/
/transactions/
/thank-you/
/referral.html
Extra Hooks
Sending Custom Parameters Upon Creation of a New Product in Infusionsoft
Since the Keap API creates a new product each time an event is booked for the first time, you may need the API set up a few defaults when it creates the new product. For example, if you live in Germany, you may need to tell Keap to charge taxes for each registration and display the tax amount on the invoice that is generated by Keap.
/**
* Adds custom data to IS products
* @param array $original_info_to_send as documented on http://help.infusionsoft.com/developers/tables/product
* @param EE_Ticket $ticket the EE ticket which is used to create/update the IS product
* @return array
*/
function ee_is_new_product_details($original_info_to_send, $ticket ){
//always mark all products as country taxable
//$original_info_to_send['CountryTaxable'] = 1;
//mark product as country taxable only if its taxable normally, probably more useful
if( $ticket instanceof EE_Ticket && $ticket->taxable() ){
$original_info_to_send['CountryTaxable'] = 1;
}
return $original_info_to_send;
}
add_filter('FHEE__EEE_Infusionsoft_Ticket__sync_to_infusionsoft__product_data','ee_is_new_product_details',10,2);
See more customizations in the code snippet library for Event Espresso.