Skip to main content

Keap Connector

Connect Keap to sync user access, accept payments, trigger advanced automation, and more.

Keap is an all-in-one CRM and marketing automation platform built for small businesses and entrepreneurs.

This article explains how to set up and use CustomerHub with Keap to control product access, collect payments, offer account management to your users, trigger Keap automations, and more.

ℹ️ To connect to Keap, you'll need admin access to a Keap account. Keap connects with a secure sign-in, so there is no API key to copy.


📡 What does the Keap connector do?

The Keap connector integrates your Keap CRM with CustomerHub, enabling you to:

  • Sync data - Create Keap tags for all CustomerHub journeys, products, and segments, and keep CustomerHub users and Keap contacts in sync

  • Control user access - Grant or revoke access to CustomerHub content by adding or removing Keap tags

  • Accept payments - Charge a card saved in Keap for one-time purchases, or sell with Keap order forms and grant access automatically with a tag

  • Offer account access (billing portal) - Let logged-in CustomerHub users view and manage Keap billing information including subscriptions, payment methods, and invoices

  • Trigger advanced automations - Send triggers (webhooks) to Keap for specific user actions occurring in CustomerHub

  • Merge contact data - Display Keap contact field data inside CustomerHub


🔗 Connect Keap

Step 1: Click Settings (gear icon) in the main sidebar, hover over Workspace, then click Connectors

Step 2: Find the Keap connector card and click Connect

​

​

Step 3: Follow prompts in the connector modal to log in to your Keap application, then click Allow

Step 4: Wait for the Keap connector to complete the connection process (processing time will vary depending on the amount of data in CustomerHub that requires syncing with Keap, from less than 1 minute up to several minutes). After successful connection, the Keap connector card shows a green connected badge and outline.

Step 5: Click Manage to open the Keap connector page, where all of the settings below live. Click Save changes after any change.


🔄 Data sync: how it works

Once Keap has been connected to CustomerHub, the data sync between the two applications occurs automatically and is bi-directional in nature (meaning the data syncs both ways).

Initial sync

During the initial connection process the following items will occur automatically:

  • Access tags are created in Keap for all journeys, products, and user segments that exist in CustomerHub. All Keap tags are created inside a CustomerHub tag category and are appended with (Journey), (Product), or (Segment) depending on the type.

    💡 Example: If "Meditation 101" is a product in CustomerHub, a tag would be created in Keap as follows: CustomerHub > Meditation 101 (Product)

  • Existing CustomerHub users are synced with Keap using email address as the key identifier. If multiple Keap contacts share the same email address (duplicate records), CustomerHub syncs with the contact record that was created first (lowest Contact Id). CustomerHub then stores that Keap Contact Id as the user's linked contact (shown under Connector info on the user's Settings tab) and automatically applies any tags based on the user's access to CustomerHub content (i.e. journeys, products, and user segments). If no contact record exists in Keap with a corresponding email address then CustomerHub creates a new contact.
    ​

  • CustomerHub creates webhooks in Keap to ensure automatic syncing of CustomerHub user and Keap contact data moving forward.

Ongoing sync

  • User access - anytime you update a user's access to journeys, products, or segments in CustomerHub, or change the CustomerHub access tags on Keap contacts, the other system is updated automatically. This includes both granting and revoking access.

    💡 Example: If you add or remove the tag CustomerHub > Meditation 201 (Product) from John Doe in Keap, his access to the "Meditation 201" product in CustomerHub will be automatically granted/revoked.

    ⚠️ Keap sends updates in batches every 5 minutes, so changes made in Keap may take up to 5 minutes to show in CustomerHub. Changes made in CustomerHub show in Keap immediately.

  • New users from Keap - when a Keap tag gives access to someone who isn't a CustomerHub user yet, CustomerHub creates the user with the contact's email and links them to the Keap contact sent in the webhook.
    ​

  • Profile information - when a user's first name, last name, email, or phone changes in either system, the change syncs to the other.

    💡 Example: If you change John Doe's email address in Keap from "johndoe@gmail.com" to "john@doe.com" the corresponding user record in CustomerHub will be updated to match.

Use case: sell a course in Keap and grant access in CustomerHub

  1. Create your "Meditation 101" product in CustomerHub. CustomerHub creates the tag CustomerHub > Meditation 101 (Product) in Keap

  2. In Keap, create an order form or checkout to sell "Meditation 101"

  3. In a Keap campaign, connect the purchase goal to a sequence with an Apply tag step that applies CustomerHub > Meditation 101 (Product)

  4. When someone buys, Keap applies the tag and CustomerHub grants access to the product, creating the user first if they don't have an account yet

To revoke access later (for example, after a refund or cancellation), remove the tag from the contact in Keap.


💳 Accept Payments

Sell a product for a one-time price and charge a card the user already has saved in Keap. The order and the charge are created in Keap, and the user gets access as soon as the payment goes through.

ℹ️ Keap checkout needs the Billing Portal turned on in the Keap connector (see below), because users pay with a card saved there. It supports one-time purchases only. For subscriptions, use a Keap order form and a tag (see the use case under Data sync).

Set up a Keap checkout

Step 1: Open the product and click the SETTINGS tab

Step 2: Under Purchase Method, choose Send buyer directly to a Checkout page

Step 3: Click + on the Checkout row, choose Keap checkout (card on file), then click SAVE

​

​

Step 4: In Keap settings, click Select the Keap product and pick the product's own name (for example "Surfing 101") to create a matching product in Keap when you save

Step 5: Check the Displayed price. The Keap product is created with this price, and it is what the user pays. Click SAVE

Step 6: The Checkout row now shows the price, card on file and a green LIVE badge. Use the pencil to edit it or the trash can to remove it.

What your users see: the product page shows the price and a Checkout button. Clicking it opens a dialog where the user pays with a card saved in their billing portal, or clicks Add a card first if they don't have one. Access is granted as soon as the payment goes through.

​


🧾 Billing Portal

The Billing Portal adds an Account page where each logged-in user can see the subscriptions, invoices and cards stored in Keap, and pay an open balance.

  1. In the Billing Portal card, turn on Display Billing Portal

  2. Turn on the sections you want users to see (see the table below)

  3. Set a Fallback currency (only used for users with no invoices yet)

  4. Click SAVE CHANGES​

Setting

What users can do

Subscriptions

See their active subscriptions, next bill date and billing cycle

Allow users to cancel subscriptions

Cancel their own active subscriptions

Invoices

Review invoices, line items and past payments. Default invoice range sets how far back the list starts (for example, Past year)

Invoice payments

Pay an outstanding balance with a card on file

Payment methods

Add or replace a card through the secure hosted card form

What your users see: users open Account from the profile menu. They see Balance and Due now totals, then tabs for the sections you turned on. From a subscription’s ⋯ menu they can change the card it charges, view its invoices or get help with the charge. Card details go straight to Keap and are never stored in CustomerHub.

ℹ️ The Billing Portal runs on Keap or Stripe, not both. Turn it off in one connector before turning it on in the other.


⚡ Advanced Automation (Activity Triggers)

Activity triggers call a Keap API goal when a user does something in CustomerHub, such as logging in or completing a product. Click CHOOSE ACTIVITIES, check the activities you want, click APPLY and save. In your Keap campaign, set the API goal’s Integration to customerhub and its Call name to the name shown next to the activity (for example UserLogin).

​

​

Available activities:

Group

Activities

Account & access

User created, logged in, active, inactive, product access granted or removed

Content

Video watched, audio listened, file downloaded or uploaded, page completed, product completed, button clicked

Purchases

Product purchased, subscription started or canceled

Journeys

Journey started or completed, task completed

Activities tied to a specific item (like a video, page or product) add that item’s ID to the call name, so each one can start its own campaign. Example uses: send a welcome email on first login, follow up when someone completes a course, or start a win-back campaign when a user becomes inactive.

Example: send a welcome email on first login

  1. In Keap, create a campaign that starts with an API goal

  2. Set Integration to customerhub and Call name to UserLogin, then connect it to a sequence with your welcome email and publish the campaign

  3. In CustomerHub, click CHOOSE ACTIVITIES on the Keap connector page, check UserLogin, click APPLY and SAVE CHANGES

  4. Log in as a test user and confirm the contact enters the campaign in Keap

⚠️ Only enable an activity after you have built its matching API goal in Keap.


🔀 Merge Fields

Merge fields bring Keap contact data into your content, and update automatically when the contact changes in Keap.

  1. In the Merge fields card, choose a Keap field from Select a Keap field

  2. Click ADD FIELD and SAVE CHANGES

  3. Paste the merge tag anywhere in your content. For example, Welcome back, {{ user.keap.first_name }}! shows each user their own first name from Keap


🔌 Managing the Keap connector

The Connection card shows whether the connector is Healthy, which Keap app is connected and when it last synced.

  • RECONNECT: sign in to Keap again. Use it if the connection stops working or a CustomerHub tag was deleted in Keap

  • DISCONNECT: stops syncing contacts, tags and product access with Keap. Use it only if you are switching Keap apps or no longer use Keap

  • VIEW LOGS: opens the Audit Log filtered to the Keap connector, so you can see each change, who made it, and restore an earlier version


⚠️ Troubleshooting

  • User didn’t get access: check the exact product tag was applied and the contact’s email matches the user’s email

  • Deleted a CustomerHub tag in Keap: click RECONNECT in the Connection card to recreate it

  • API goal not firing: confirm Integration is customerhub and the call name matches exactly

  • User’s Account page is empty: it shows what Keap stores for that user’s email. Check the user’s SETTINGS tab under Connector info

  • See what happened: click VIEW LOGS at the top of the Keap connector page


❓ FAQ

What happens when I delete a product from CustomerHub?
The tag CustomerHub created stays applied to contacts in Keap, so you keep a history of that data.

Can I use existing tags in Keap for product access?
CustomerHub creates its own access tags in Keap for every journey, product, and segment. If a tag with the same name already exists in Keap, CustomerHub uses that tag and moves it into the CustomerHub tag category instead of creating a duplicate.

What happens if I delete a tag in Keap that CustomerHub created?
Click RECONNECT in the Connection card on the Keap connector page and CustomerHub recreates the tag.

Does renaming a tag or product break the sync?
No. When a product is renamed, CustomerHub updates the tag in Keap. When a tag is renamed, CustomerHub keeps syncing that tag. We recommend not editing tags that CustomerHub created.

Did this answer your question?