Introduction

Overview

In this article you’re going to learn how to integrate ClickFunnels with MemberPress.

MemberPress has quickly become one of the most popular membership plugins for WordPress.

One of the reasons for this is because Mike and Callie over at the Member Site Academy – which is the premier community for membership site owners – use and recommend it to their tribe and provide a lot of support in configuring it on the MSA forums.

I’m a member too. 🙂

MemberPress is indeed a solid membership plugin and a lot of our customers use it.

Unfortunately, ClickFunnels does NOT have a native MemberPress integration so we’ll have to use Zapier to connect the two apps.

Once you’ve set this up correctly, any sales or rebills you get in ClickFunnels will trigger your zaps to create the corresponding member accounts and/or transactions in MemberPress, which will give those members the appropriate access to their protected content.

In order to do this integration you’ll need the following tech:

  • A ClickFunnels account
  • The MemberPress WordPress membership plugin (Plus or Pro plans only)
  • The MemberPress developer tools add-on
  • A PAID Zapier account*

*IMPORTANT: Zapier has a free tier but it won’t work for this integration because we need multi-step zaps and only the paid tiers support them. Alternatively, if you hire our team to set this up for you, we can host your zaps on our enterprise account for $3/mo/zap. 🙂

A warning before you start…

Even though this tutorial shows you how to perform this integration, I have to warn you that it’s not ideal. And unless it’s your best or only choice, I wouldn’t even really recommend it.

It would be more elegant to either send your buyers directly to a MemberPress checkout page, or to use a tag-based membership plugin like ActiveMember360 or WPFUsion, both of which would make this Frankenstein’s monster of zaps unnecessary.

I also prefer ThriveCart over ClickFunnels because you get virtually the same shopping cart functionality (including physical products) with way more features and integrations and at an incredible value.

If, however, after my cautionary preamble, you’ve made up your mind that you still want to proceed with integrating ClickFunnels and MemberPress, you’ll find the step-by-step guide below.

Bon chance! 🙂

MemberPress ClickFunnels Integration Guide

Important Notes

This integration calls for TWO zaps for EACH product that you’re selling with ClickFunnels and connecting to in MemberPress.

1 – The first Zap creates a brand new user and then adds a transaction entry to his account in MemberPress.

first zap for first charge

It’s important to note that in MemberPress having a user account created does NOT give that user access to any content. That’s where MemberPress “transactions” come in. Transactions tell MemberPress WHICH user should get access to WHICH product (among some other metadata).

It’s also important to note that MemberPress uses the WordPress user database (compared to some membership plugins like DAP which have their own user database outside of, and in addition to, WordPress). So when we say “MemberPress user” it’s the same thing as saying “WordPress user”; they’re interchangeable for the purposes of this tutorial.

Now, if you try to create a transaction in MemberPress for a buyer who is NOT a user in the WordPress database yet, the transaction will NOT get created and the zap will FAIL. This is exactly the correct behavior because it means that MemberPress has a failsafe that prevents us from erroneously adding the same user to the database more than once.

To sum it up, this first zap does the following:

  • Checks to see if a user exists
  • If the user does NOT exist, the zap creates his user account
  • Then, it adds a transaction to his account, which is what grants him access to the membership content

That covers new members. But what if the buyer DOES already exist in the MemberPress user database? (Say, for instance, an existing customer who’s bought from you in the past, got entered into MemberPress previously but is now buying a completely new product.)

In this case, this zap will FAIL because you cannot create a member in MemberPress who is already there!

That, however, is precisely where our second zap comes in…

2 – This second zap looks for an EXISTING user in MemberPress.

recurring zap

If he exists, the zap adds a transaction to his account, which extends his access according to the terms you have configured for that membership in MemberPress (e.g. if your membership in MemberPress is configured to 30 days of access at a time, each transaction will give 30 days of access).

memberpress membership terms

These terms would grant a member 30 days of access for each new transaction

If the user does NOT exist this zap will fail and the first zap that we discussed above will succeed in its place. In other words, one zap is for existing WordPress users and the other is for new users.

And THAT is why you need BOTH zaps for each product you’re selling in ClickFunnels. 🙂

capisce?

Setting up the Application Passwords plugin

In order to interact with the MemberPress REST API via Zapier, you need to set up a plugin in WordPress called Application Passwords. This plugin verifies the webhooks that Zapier sends as authentic because they contain a special password that only the admin should have.

Here’s the video tutorial on how to do this:

*Note: the video above is part of a series on connecting ThriveCart to MemberPress but it works exactly the same way for this ClickFunnels integration so you can still follow it.

Here’s the text version of how to do this:

1 – Go to your WordPress site => Plugins => Search for “Application Passwords”.

Application Passwords Plugin for WordPress

2 – Install and Activate the plugin.

3 – Now while you’re logged into WordPress as an administrator, find the profile widget in the upper right-hand corner of your screen and click “Edit My Profile” (or go to Users => Administrators => Edit)you

Edit Admin profile

4 – Scroll down to the Application Passwords section.

5 – In the provided field type in a “seed” password (it can be any password you want) and click “Add New”.

Add Application Password

6 – You’ll now see a popup that gives you an application password to go along with the seed password you typed in.

new application password

Copy and save it in a safe place (you don’t need to save the seed password; only the newly generated application password).

First Zap – Create NEW Members and give them access

1 – Go to zapier.com and log into your account.

2 – Click “Create a Zap”.

3 – Search for “ClickFunnels”

4 – Select the “New Successful Purchase” action and click Save & Continue.

new successful purchase trigger

5 – Now follow the steps on this screen to Connect your ClickFunnels Account and click Continue.

6 – Name the newly connected account whatever you want and click Save & Continue.

7 – Select the funnel in which you’re selling your products.

select your funnel

8 – On the next screen click the test button to pull in data from the latest sale you’ve had. If you haven’t had any sales yet, don’t worry. Zapier will give you test data to work with. Click continue.

9 – Create a step in your zap and search for “filter”. Select the Filter trigger.

filter trigger zapier

11 – Configure the filter step as follows:

# FOR PAYPAL #

A – Make sure you have your Paypal integration and buttons set up correctly in ClickFunnels and on your checkout pages.

B –  Per the screenshot below, set the first field in the filter step to Products Cart Product ID

C – Set the next field to (Test) Exactly matches

D – And set the last field to the name you gave your product in Paypal when you created the button.

E – If you don’t remember what you named it, go to you funnel => settings => scroll all the way down to 3rd Party Membership Access and click to edit the product in question:

You’ll find the name in the Cart Product field:

# STRIPE #

A – If you’re using Stripe make sure you’ve correctly configured your Clickfunnels and Stripe integration.

B –  Per the screenshot below, set the first field in the filter step to Products Name

C – Set the next field to (Test) Exactly matches

D – And set the last field to the name you gave your product in your order form funnel step under the Products settings, in the Name field.

*If you’re using another payment processor like Braintree the steps will be similar, but make sure to do a live payment so you can pull in order data from the correct fields. Because, as you can see in the screenshot above, Paypal and Stripe don’t use the same source field to populate the zap, which is why it’s always best to use real data instead of test data when creating zaps (especially complicated ones!)

12 – Create a new action step and search for “Formatter by Zapier”.

13 – Select Numbers from the options.

14 – On the next screen select Perform Math Operation and set it up like so:

zapier perform math operation

Operation – Divide
First Input – Select the Product Amounts Fractional field from Step 1
Second Input – Click the + button to add this second input field and set the value to 100

The reason for this step is to transform the default price format that ClickFunnels spits out into a format that MemberPress interprets correctly. If the price of your product, for example, is $997 then ClickFunnels will show it as $99700.0.

If you leave this step out your MemberPress transaction will say $99700 and mess up your reporting (if you use it). Therefore we have to divide this number by 100 to get the real product price into MemberPress.

15 – Create a new action step and search for “Webhooks”.

Select Webhooks by Zapier.

16 – Select the POST action:

zapier webhook post

17 – On the next screen fill out the fields as follow:

URL: https://www.yoursite.com/wp-json/mp/v1/members (make sure to replace with your actual website URL)

Payload Type: JSON

For Data create the following 5 fields and use the corresponding data from your ClickFunnels test or live sale:

username – Use the buyer’s Contact Email from step 1 to populate this field
first_name – Use the buyer’s Contact First Name from step 1 to populate this field
last_name – Use the buyer’s Contact Last Name value from step 1 to populate this field
password – You can use any field whose value is going to be unique for each transaction and is always populated whether the checkout happens via Stripe or Paypal. In this case I’ll use the Contact Contact Profile Cf Uvid field:

(this works well because all we need for a password is a sufficiently random, sufficiently long and unique string of characters)
email – Use the buyer’s email address

*Don’t worry about the tax_desc field in the screenshot above, you can leave that out entirely.

18 – Scroll down to the Basic Auth section and enter the following info in this exact format:

VicDorfman|8qY1 UNcm rETl xv3p t3aU KMrk

You can see above that the format is the username (VicDorfman in my case) followed by a vertical pipe symbol ( | ) followed by the application password that you generated earlier.

Notice there are no spaces between the username, the pipe, and the application password. And you MUST use the username and NOT the email. You can use the email only if the username happens to be the email address as well.

19 – Proceed to the next step and send a test webhook.

20 – If the test succeeds go into MemberPress => Members and find the email address of the test user that should have just been created.

*If the test fails it’s probably because the user is already in the WordPress user database. Either delete the user (be careful or you might delete your admin access), or temporarily replace the username and email fields in step 17 with a random email address, send the test webhook, and then replace the fields as originally indicated. You need live data from this step to do the next steps, so don’t skip this!

21 – Create another action step in the zap and search for “Delay”. Select Delay by Zapier, select the “Delay For” action, and set the delay to 1 minute (to allow enough time for the member to be created).
zapier delay

22 – Create another action step in the zap. Again select the Webhook action but this time make sure it’s the GET type (not POST).

23 – For URL use the following address:

https://www.yoursite.com/wp-json/mp/v1/members

*Make sure to replace with the URL of your actual domain.

24 – Fill out the Query String Params section with one field, “search”.

And use the email address from the first step of the zap as the value.

25 – Scroll down to Basic Auth and enter the same authentication credentials as you did for the previous Webhook step.

26 – Click Continue and test the zap.

27 – Add a new action step, a webhook with POST type.

28 – For the URL enter:

https://www.yoursite.com/wp-json/mp/v1/transactions (replace with your domain)

Payload type should be set to JSON.

29 – Create the following fields:

status – set to complete
coupon – set to 0
created_at – use the created at value from the first step
amount – use the formatted number value from Step 3 (the number that you divided by 100)
member – populate with the member ID number from the previous webhook step
membership – go to MemberPress => Memberships and find the ID number of your membership (left-most column) and place here
gateway – set to manual
subscription – set to 0

zapier post data

*You do NOT need to define a subscription because ClickFunnels and your payment processor handle your billing anyway. You just need a transaction for the corresponding membership and your members will be able to get access. Also, don’t worry about some of the field values above saying “no data”. Once real orders come through the real data will get populated.

Sending your members a MemberPress welcome email

One problem with this integration method is that it doesn’t trigger MemberPress to send out a welcome email for new members like it would for a purchase made via its native checkout process.

So it becomes necessary to use Zapier for this as well.

I’m going to use Email by Zapier to do this but I recommend you use Gmail instead (you can select Gmail as an action step and connect your account to “send from” your Gmail address which looks more personalized and has a better chance of hitting the Primary inbox).

You can also use your email marketing application (e.g. Drip, ActiveCampaign, MailChimp, etc.) but it would require you to pass the password value to a custom field first and then set up an automation in your email app to send that password to your new members.

Finally, note that you do NOT have to do this step for recurring payments as those members already have working login details.

1 – Add a new action step and search for Email by Zapier

2 – The only option on the next step is Send outbound email so select that and click Save & Continue.

3 – Select the following options:

To – Select the email address from Step 1
Subject – Write the subject line of your welcome email (anything you want)
Body – You can write whatever you want here just make sure you include the login URL, the username (email address from step 1) and the password (Order ID from Step 1).

email options

4 – I also recommend setting your From Name and “Reply To” email as below:

From Name – Your name or the name of your brand usually
Reply To – The email address messages should be sent to if somebody replies to this message

Second Zap – For Rebills (existing members)

This second zap will add transactions in MemberPress for recurring ClickFunnels payments and is even simpler to set up than the first zap. Note that this zap will also create the transactions for initial payments of existing WordPress users who are NEW buyers of this particular product.

1 – Go to zapier.com and log into your account.

2 – Click “Create a Zap”.

3 – Search for “ClickFunnels”

4 – Select the “New Successful Purchase” action and click Save & Continue.

new successful purchase trigger

5 – Now follow the steps on this screen to Connect your ClickFunnels Account and click Continue.

6 – Name the newly connected account whatever you want and click Save & Continue.

7 – Select the funnel in which you’re selling your products.

select your funnel

8 – On the next screen click the test button to pull in data from the latest sale you’ve had. If you haven’t had any sales yet, don’t worry. Zapier will give you test data to work with. Click continue.

9 – Create a step in your zap and search for “filter”. Select the Filter trigger.

filter trigger zapier

11 – Configure the filter step as follows:

# FOR PAYPAL #

A – Make sure you have your Paypal integration and buttons set up correctly in ClickFunnels and on your checkout pages.

B –  Per the screenshot below, set the first field in the filter step to Products Cart Product ID

C – Set the next field to (Test) Exactly matches

D – And set the last field to the name you gave your product in Paypal when you created the button.

E – If you don’t remember what you named it, go to you funnel => settings => scroll all the way down to 3rd Party Membership Access and click to edit the product in question:

You’ll find the name in the Cart Product field:

# STRIPE #

A – If you’re using Stripe make sure you’ve correctly configured your Clickfunnels and Stripe integration.

B –  Per the screenshot below, set the first field in the filter step to Products Name

C – Set the next field to (Test) Exactly matches

D – And set the last field to the name you gave your product in your order form funnel step under the Products settings, in the Name field.

*If you’re using another payment processor like Braintree the steps will be similar, but make sure to do a live payment so you can pull in order data from the correct fields. Because, as you can see in the screenshot above, Paypal and Stripe don’t use the same source field to populate the zap, which is why it’s always best to use real data instead of test data when creating zaps (especially complicated ones!)

12 – Create a new action step and search for “Formatter by Zapier”.

13 – Select Numbers from the options.

14 – On the next screen select Perform Math Operation and set it up like so:

zapier perform math operation

Operation – Divide
First Input – Select the Product Amounts Fractional field from Step 1
Second Input – Click the + button to add this second input field and set the value to 100

The reason for this step is to transform the default price format that ClickFunnels spits out into a format that MemberPress interprets correctly. If the price of your product, for example, is $997 then ClickFunnels will show it as $99700.0.

If you leave this step out your MemberPress transaction will say $99700 and mess up your reporting (if you use it). Therefore we have to divide this number by 100 to get the real product price into MemberPress.

15 – Create another action step in the zap. Select the Webhook action and make sure it’s the GET type (not POST).

16 – For URL use the following address:

https://www.yoursite.com/wp-json/mp/v1/members

*Make sure to replace with the URL of your actual domain.

17 – Fill out the Query String Params section with one field, “search”.

And use the email address from the first step of the zap as the value.

18 – Scroll down to Basic Auth and enter the same authentication credentials as you did for the previous Webhook step.

19 – Click Continue and test the zap.

20 – Add a new action step, a Webhook with POST type.

21 – For the URL enter:

https://www.yoursite.com/wp-json/mp/v1/transactions (replace with your domain)

Payload type should be set to JSON.

22 – Create the following fields:

status – set to complete
coupon – set to 0
created_at – use the created at value from the first step
amount – use the formatted number value from Step 3 (the number that you divided by 100)
member – populate with the member ID number from the previous webhook step
membership – go to MemberPress => Memberships and find the ID number of your membership (left-most column) and place here
gateway – set to manual
subscription – set to 0

zapier post data

Et Voilà! Your second zap is all set up and you should be good to take your funnel live.

Frequently Asked Questions

Q: How many zaps do I have to create?

A: You’ll need to create TWO zaps for EACH MemberPress product as outlined in this tutorial. If, for example, you’re selling one single membership inside of MemberPress and you have a bunch of different products in ClickFunnels connecting to it, one pair of zaps can cover all of them since they all only need to interact with ONE product in MemberPress.

Q: Will ClickFunnels recognize rebills and push that data to my zap?

Yes. ClickFunnels will get notified for each recurring sale (including those made via the 3rd party Paypal buttons integration). This means that ClickFunnels can be your sole trigger app in Zapier and you don’t need to bother with setting up a Paypal / Stripe / etc. trigger app, which (trust me) is incredibly confusing!

 

Q: How does this process handle cancellations and failed payments?

Cancellations and failed payments don’t require any action on your part because MemberPress grants / denies access on the basis of a member’s transaction status in accordance with whatever terms you set up for your Membership product inside of MemberPress.

If your membership’s terms are for monthly access and a member misses a payment, he’ll continue to have access until the access end date for that transaction expires. If a new transaction covering the current date isn’t created, the member will no longer be able to access the content until that new transaction is made and marked COMPLETE in MemberPress.

So a cancelled member will continue to access his content until the latest transaction end date arrives. And a member with a failed payment will temporarily lose access until / unless they are able to make a successful payment again, which will result in a new transaction being created and their access being reinstated.

Related: How to manually create a transaction in MemberPress to extend access

Q: How does this process account for refunds?

I’m going to update this doc with a tutorial on setting this up for Stripe and Paypal.

In the meantime, note that for refunds you’ll need to set up an additional zap for each product that checks your payment processor for a Refund event and deletes the existing transaction in MemberPress. Unfortunately, ClickFunnels doesn’t have a refund event in their Zapier app so you have to go directly via the payment processor.

Hi! I’m Vic, I’m the founder of MemberFix. I live in Thailand, I write songs on my guitar, and I’m a brown belt in Brazilian jiu jitsu. 🙂 If you like this article, leave a comment and let me know what you think!

https://memberfix.rocks

Shares
Share This