This integration plugin is designed to support membership sites that use Keap as their CRM to manage customers and leads.

Keap is a CRM that helps you organize, track, and nurture your leads and customers. You can use Keap to manage leads, send emails, and track your sales processes.

How the Keap Integration Works

This Add On creates or updates contacts inside your Keap account as new users complete registration, checkout, cancel membership, and more. The integration tags the contact based on the tags assigned to their membership level or, if they do not have membership, with the All Users tag.

  • This integration does not remove contacts from Keap when they are deleted from WordPress. You may want to set up an internal process to manually delete contacts from Keap when you manually delete a WordPress user.
  • Tags that are added outside of Paid Memberships Pro won’t be removed when a member cancels their membership level. Only the associated tags will be removed from Keap.

Installation

You must have the Paid Memberships Pro plugin installed and activated to use this Add On.

  1. Navigate to Memberships > Add Ons in the WordPress admin.
  2. Locate the Add On and click “Install Now“.
    • Or, to install this plugin manually, download the .zip file above.
    • Upload the compressed directory (.zip) via the Plugins > Add New > Upload Plugin screen in the WordPress admin.
  3.  Activate the plugin through the Plugins screen in the WordPress admin.

Setting Up the Keap Integration Add On

Setting up the Keap Integration requires different steps within your Keap Account and your WordPress site. These steps assume that you have an existing Keap account.

1. Create a Keap App

This integration requires you to create a Keap App that allows your WordPress site to connect to your Keap Account via the Keap API.

  1. Navigate to https://keys.developer.keap.com/ and sign in with your live or sandbox Keap account credentials.
  2. Select your user name on the top right and choose Apps.
  3. Click the + New App button at the top right.
  4. Use a unique App Name and description, for example “My Membership Site App”. This App Name is private and will only be used internally.
Screenshot of the Keap developer area to create a new App
  1. Under the APIs section, choose Keap 150k.
  2. Save your App.

Once the App is created, you will get a new Keap API Key and Keap Secret Key. These values will be used in step 2 below.

2. Connect Your PMPro-Powered Membership Site to Keap

  1. Log in to your site’s WordPress admin.
  2. Navigate to Memberships > Keap.
  3. Enter your Keap API Key and Keap Secret Key
Screenshot of a website that has not been authorized and has no API keys defined when using the Keap Integration for Paid Memberships Pro
  1. Save Settings.

After you save your settings, click the Authorize button.

Screenshot of the Keap Integration settings page when you have added API keys and see a link to authenticate your App to connect your membership site to Keap with the Keap Integration for Paid Memberships Pro

This process will authenticate your application with your Keap account. Follow the prompts on this screen to complete this authentication.

Screenshot of the Keap App authorization screen with you have added API keys and are attempting to connect your membership site to Keap with the Keap Integration for Paid Memberships Pro

Once the App is successfully authorized, you should be returned to your WordPress site admin and see your Keap tags within the settings.

Screenshot of an authorized website that is integrated with your Keap account using the Keap Integration for Paid Memberships Pro

How to Assign a Tag For WordPress Users

This integration is designed to tag users by membership level after they complete checkout. Some users may exist in your WordPress site that do not have a membership level. This includes users that have cancelled their membership (users with “No Level”) and also users that begin the checkout process but do not complete checkout (users with a Token order).

You can assign a default “All Users” tag for these contacts.

  1. Navigate to Memberships > Keap in the WordPress admin.
  2. Assign a tag in the All User Tags field. This is the default tag that is always assigned to WordPress users. This tag is never removed by PMPro if the member cancels their membership level or registers to your site without a membership level.
  3. Click Save Settings.

How to Assign a Tag to a Membership Level

After successfully authenticating your Keap App, you will have an option to assign unique tags to each membership level in your site. You can create new tags within your Keap Account and they will appear in the dropdown lists within your WordPress site.

  1. Navigate to Memberships > Keap in the WordPress admin.
  2. For each membership level, select a tag from the dropdown list.
  3. Click Save Settings.
Assign tags to membership levels in the Keap Integration Settings for Paid Memberships Pro

As new members join your site, the tag will be assigned to that customer record in your Keap account. 

This integration will not run an update on all existing members. To do this, you will need to run a one time import to add members with your desired tags to your Keap account.

Testing Your Keap Integration in Sandbox Mode

You can create a Sandbox Keap Account that will only operate in testing/sandbox mode. This is a useful step if you are just testing out the integration or want to set up the integration on a staging or development site before connecting to your real Keap Account.

How to Create a Keap Sandbox Account

Your Keap Sandbox account is used for testing the integration.

  1. Visit https://sandbox.keap.com/ complete the signup form
  2. You may select any version of Keap: Pro, Max or Ultimate.

Note: Keap’s sandbox signup will ask you to add a valid credit card. The sandbox account only uses this card to test sending a fax. For PMPro, you will never need to test sending a fax, so you should not be billed through this sandbox account.

To connect your Keap Sandbox account to your WordPress site, repeat steps 1 and 2 above to create a Sandbox App and connect your site. You can only have your site connected to one App at a time.

Screenshots

Screenshot of a website that has not been authorized and has no API keys defined when using the Keap Integration for Paid Memberships Pro
Screenshot of a website that has not been authorized and has no API keys defined when using the Keap Integration for Paid Memberships Pro
Screenshot of the Keap Integration settings page when you have added API keys and see a link to authenticate your App to connect your membership site to Keap with the Keap Integration for Paid Memberships Pro
Screenshot of the Keap Integration settings page when you have added API keys and see a link to authenticate your App to connect your membership site to Keap with the Keap Integration for Paid Memberships Pro
Screenshot of an authorized website that is integrated with your Keap account using the Keap Integration for Paid Memberships Pro
Screenshot of an authorized website that is integrated with your Keap account using the Keap Integration for Paid Memberships Pro
Assign tags to membership levels in the Keap Integration Settings for Paid Memberships Pro
Assign tags to membership levels in the Keap Integration Settings for Paid Memberships Pro

Action and Filter Hooks

apply_filters( 'pmpro_keap_format_contact_request', $data, $user );

Filter the contact request data before sending it to Keap.

This is a Free Add On.

Create a free account or log in to gain access to downloads and documentation.