Integrating with JVZoo (Advanced)

IMPORTANT: To use this integration you must be using OptimizeMember version 1.1.0 or above and OptimizePress version 2.3 or above


Note: This article covers the advanced integration methods for JVZoo - we also have a simple integration tutorial if you have more basic requirements.

JVzoo has a slighlty different integration method because they are always sending their data asPOST values and their names can’t be changed (

Step 1: Login to your JVZoo and Find a Product To Edit

To Use this integration first you need to be editing a product. Login to your JVZoo account and go to Home > Seller Dashboard > Seller Dashboard and click “Edit” on one of your products

Step 2: Inside the Product Information screen, find the “External Program Integration” option:

Step 3: Follow the steps below to build your API Integration URL

a) First your need your site URL – this will form the first part of your integration URL. For our example site this would be:

To find your site URL, go to Settings > General > Wordpress URL inside your Wordpress site:

b) The first parameter needs to be ?optimizemember_pro_jvzoo_op_integration=1 (note this differs from the usual API URL of optimizemember_pro_remote_op_integration).

So your initial URL would now be:

User details shouldn’t be filled and sent as they are added automatically in the POST – so data[user_login], data[user_email], data[user_pass], data[first_name] and data[last_name] are all included automatically and sent through to OptimizeMember.

c) We now need to create the rest of the API call. First we need to add the API Key and also the create user command:

Add the create user command:

Add your API Key (to find your API key go to OptimizeMember > API/Scripting > Pro API For Remote Operations and grab the API Key there):

So your URL would now look like this:

Step 4: Use additional values to setup send user level and other values:

- modify_if_login_exists – 0|1 (if data[user_login] is already present in the system, user update will be made),
- optimizemember_level – level number (if left empty, 0 will be used – free subscriber),
- optimizemember_ccaps – packages (comma separated if more than one),
- opt_in – 0|1 (if is set to 1, attempt to trigger defined auto-responders)
- notification – 0|1 (if is set to 1, OPM will email new user with username/password)

So for example to add the user to level 1 and add the package/custom capability of “music” we would use the following:

If you are using this API call for an Upsell product you should ensure you also use the modify_if_login_exists=1 value

Common Questions

Will my refunds actioned in JVZoo automatically remove a user inside OptimizeMember?
If you refund a user purchase inside JVZoo Dashboard, the user will be removed from your OptimizeMember site if they were created using this JVZoo Advanced integration

What IPN do I use if I am including this product as an upsell for existing customers?
If your product is an upsell, you should modify the IPN for that product slightly to ensure the user is modified.  Inside the IPN you would look for the op=create_user and modify this to be op=modify_user. Or you may also use modify_if_login_exists=1 if the product will be offered to new customers as well as existing members of your site.