This page may contain affiliate links. Please read my disclaimer for more information.

Using Gravity Forms to Build a Membership Site

  |  by Chris Eggleston

Have you ever wanted to create a simple registration form that gave users access to restricted content or files based on the user level, but don’t want to use a blotted membership plugin that is complex and requires hours of setup?

If you answered yes, that’s where Gravity Forms comes in!

What I am going to show you is simple and easy to configure. I’ll even provide you with the templates you need to get your membership site setup fast.

To See The End Result Watch This!

What You’ll Need

These are the basic requirements for making this work. I will make recommendations throughout this tutorial of other plugins that will improve the functionality and usability.

I’m going to go with the assumption that you already have a WordPress site and start with installing the required plugins.

Installing Gravity Forms

If you already have Gravity Forms you can obviously skip this part, but if you’re new to Gravity Forms I wanted to make this easy.

Once you complete your purchase of Gravity Forms or upgrade if you don’t have an Elite license, you will log in to your account to download the plugin.

Step 1: Download the Plugin

  1. Go to GravityForms.com
  2. Click login
  3. Enter your username and password
  4. Click on downloads
  5. Click the download link next to Gravity Forms (core).

Step 2: Get Your License Key

Before closing your Gravity Forms account you will need one more thing, your license key. Follow these steps from the download page.

  1. Click on Licenses
  2. Click ‘copy’ next to the key

Step 3: Install & Activate the Plugin

  1. Log into your WordPress Admin
  2. Go to Plugins > Add New
  3. Click Upload Plugin
  4. Click Select File
  5. Find the Gravity Forms zip file and click open
  6. Click Install
  7. Click Activate Plugin

Step 4: Activate Your Gravity Forms License

Starting from the plugin screen after activating the plugin.

  1. Click on ‘Register
  2. Past in your License Key
  3. Click Next
  4. Select Currency
  5. Click Next
Installing the Required Gravity Forms Add-ons

This is why you purchased or upgraded to the Elite license. We will need a couple of add-ons to give us the functionality we’ll need to set this membership site up.

The necessary ones for this demo are:

  • User Registration
  • Partial Entries
  • Stripe (you can use a different payment add-on if you prefer)

Step 1: Install and Activate the Add-ons

  1. Go to Forms > Add-Ons
  2. Find one add-on and click Install
  3. Click Activate Plugin
  4. Now Repeat until all three are installed and active

Step 2: Setting Up the Add-Ons

Not all of the add-ons have settings that need to be configured before you can use them in your forms. But you’ll want to check and make sure. In this video I will show you how to check for settings.

  1. Go to Forms > Settings
  2. Look for Add-Ons in the list of Settings (left side of page)
  3. Click the Add-On
  4. Review the needed setup (right side of page)

In this quick review, you can see that the Stripe add-on needs to be configured, but the User Registration add-on doesn’t have any settings to configure.

I’m not going to walk you through setting up Stripe in this demo because we have an excellent doc to walk you through this process, get it here.

Installing the Members Plugin

The Members plugin is free and very easy to install and activate. We will start from the WordPress Dashboard.

  1. Click Plugins > Add New
  2. Type “Members” in the search bar
  3. Click Install Now
  4. Click Activate
Setting Up User Roles

We’re going to use this plugin to help us implement two important features of a membership site.

  1. Membership Levels (roles)
  2. Restrict Access to Content

By default WordPress has a few user rolls:

  • Administrator
  • Editor
  • Contributor
  • Subscriber

You could use the existing user rolls, however, they do give the logged in user access to different parts of the WordPress admin, and you may not want your customers having access to edit your content, or see your sales, etc.

You may only need one ‘membership level’, which is fine, I still recommend creating a new one that you can label and control.

Step 1: Members Settings

  1. Go to Members > Add-Ons
  2. Activate the Members – Admin Access Add-on

Step 2: Creating Membership Level(s)

  1. Go to Members > Roles
  2. Click Add New Role
  3. Enter a Role Name
  4. Deny access to the WP dashboard
  5. Click Add Role

For this demonstration I’m only going to use two user roles or member levels. But you could create as many as you wanted or needed.

Building Your Forms

We’re going to create three forms for this demonstration, but depending on your situation you may only need two.

  • Form 1: User Registration – Trial Level
  • Form 2: Editable User Profile
  • Form 3: Paid Subscription and User Level Changed

How it will work…

We want the user to register for a trial, without having to enter their credit card information. We want them to be assigned to the “User Trial” role (level) to restrict their access to content only available during the trail. Once the trial is up, they will have the option to purchase a subscription to keep their access and gain full access. Once the subscription is completed the users role (level) will be automatically updated to the “User Active” role.

Form 1: User Registration – Trial Level

Step 1: Creating the Form

  1. Go to Forms => New Form
  2. Name Your Form, “Trial Registration”
  3. Add the following fields to your form and configure them like in the video
    1. Hidden
    2. Name
    3. Email
    4. Username
    5. Password
    6. Consent
  4. Click Update

Step 2: Form Settings

  1. Go to Settings => Form Settings
  2. Change Required Field Indicator
  3. Change Button Text
  4. Enable Anti-spam honeypot
  5. Click Save Settings

Step 3: Setup the User Registration Feed

  1. Go to User Registration
  2. Click Add New
  3. Name your Feed
  4. Click Create User
  5. Map your fields under User Settings
  6. Set the Role to “User Trial”
  7. Check “Send the new user an email about their account”
  8. Click Save Settings

Step 4: Setup Notifications

  1. Go to Notifications
  2. Click Edit for “Admin Notification”
  3. Set the “Send to Email”
  4. Set the “From Email”
  5. Create your Subject
  6. Configure the Message body
  7. Click Update Notification
Form 2: Editable User Profile

This is the form we will use on the account page to allow users to manage their profile information.

Step 1: Creating the Form

  1. Go to Forms > Add New
  2. Name your form, “User Profile”
  3. Click Create Form
  4. Add the following fields to your form and configure them as shown in the video
    1. Name
      • {user:first_name} {user:last_name}
    2. Email
      • {user:user_email}
    3. Website
    4. Single Line Text
      • trial_start
  5. Click Update

Step 2: Form Settings

  1. Go to Settings > Form Settings
  2. Change Button Text
  3. Enable Anti-spam honeypot
  4. Click Save Settings

Step 3: Setup the User Registration Feed

  1. Go to User Registration
  2. Click Add New
  3. Name your Feed
  4. Click Update User
  5. Map your fields under User Settings & User Meta (shown in video)
  6. Click Save Settings

Step 4: Disable Notifications

  1. Go to Notifications
  2. Click on “Active”
  3. Verify it switched to “Inactive”
Form 3: Paid Subscription and User Level Change

This form will be used by the user to purchase a subscription at the end of their trial and it will change their user level from “Trial User” to “Active User”.

It is important that you have completed your Stripe integration before starting on this form. To connect Stripe with Gravity Forms click here.

Step 1: Creating the Form

  1. Go to Forms > New Form
  2. Name your form “Account Subscription”
  3. Click Create Form
  4. Add the following fields to your form and configure them as shown in the video
    1. Hidden
    2. Name
    3. Email
    4. Username
    5. Product
    6. Text Field
    7. Consent
    8. Credit Card
  5. Click Update

Step 2: Form Settings

  1. Go to Settings > Form Settings
  2. Change Button Text “Complete Purchase”
  3. Change Required field indicator to Asterisk
  4. Enable Anti-spam honeypot
  5. Click Save Settings

Step 3: Setup the Payment (Stripe) Feed

  1. Go to Stripe
  2. Click Add New
  3. Name your Feed “Subscription”
  4. Select “Subscription” in Transaction Type
  5. Name your Subscription (whatever it is they’re buying)
  6. Map your Product Field
  7. Set the Recurring Billing Cycle
  8. Map your fields under Other Settings (shown in video)
  9. Click Save Settings

Step 4: Setup the User Registration Feed

  1. Go to User Registration
  2. Click Add New
  3. Name your Feed “Purchase Update”
  4. Click Update User
  5. Map your fields under User Settings
    • Role is most important, we need to change the user from Trial to Active
  6. Click Save Settings

Step 5: Setup Notifications

  1. Go to Notifications
  2. Edit Admin Notification
    1. Set the “Send to Email”
    2. Set the “From Email”
    3. Create your Subject
    4. Configure the Message body
    5. Click Update Notification
  1. Go to Notification > Add New
    1. Name Your Notification “User Confirmation Email”
    2. Set the “Send to Email”
    3. Set the “From Email”
    4. Create your Subject
    5. Configure the Message body
    6. Click Update Notification

Creating Your Pages

You’re going to need at least four pages.

  1. Account Page
  2. Trail Signup Page
  3. Purchase Page
  4. Order Confirmation

For the purposes of this demo I will not add content to the pages. These pages will only be used to display my forms, but you can add more content to the page when you build your membership site.

Page 1: Account Page

This page will hold the “Editable User Profile” form we we built in the previous section. It will only be accessible to logged in users, which will be controlled by the Members plugin we added in the previous section.

Step 1: Creating the Page

  1. Go to Pages > Add New
  2. Name Your Page, “My Account”
  3. Embed the “User Profile” form in the page
  4. Change the Content Permissions
    1. Check “User Trial”
    2. Check “User Active”
  5. Click Publish
Page 2: Trail Signup Page

This page will hold the “Trial Registration” form we built in the previous section, it will not be restricted, enabling anyone to access it.

Step 1: Creating the Page

  1. Click The ‘W’ Top Left of Screen
  2. Click Add New
  3. Name Your Page ” Trial Signup”
  4. Embed the “Trial Registration” form in the page
  5. Click Publish
Page 3: The Purchase Page

This page will hold the “Paid Subscription” form which is used to collect payment so that the user can continue to have access to their account. This page will be restricted which will be controlled by the Members plugin.

Step 1: Creating the page

  1. Click The ‘W’ Top Left of Screen
  2. Click Add New
  3. Name Your Page “Subscription Order Form”
  4. Embed the “Account Subscription” form in the page
  5. Change the Content Permissions
    1. Check “User Trial”
    2. Check “User Active”
  6. Click Publish
Page 4: Order Confirmation

This page will hold the “Order Confirmation” message which is used to redirect your subscribers t0o, after a successful order. This page should provide them with the details they need to take the next step, access their order, etc.

Step 1: Creating the page

  1. Click The ‘W’ Top Left of Screen
  2. Click Add New
  3. Name Your Page “Order Confirmation”
  4. Craft Your Message
  5. Click Publish

Tying It All Together

In this step we’re going to setup our confirmation pages and redirects so that things actually work when we click the buttons!

Step 1: Setup Trail Registration Confirmations
  1. Go to Forms > Forms
  2. Hover over your Trial Registration
  3. Click Settings
  4. Go to Confirmations
  5. Hover over “Default Confirmations
  6. Click Edit
  7. Make sure the Text radio is selected
  8. Select the My Account page from the drop down
  9. Setup a Query String to pass field data to the Profile Form
    • trial_start={Hidden Field:6}
  10. Click Save Confirmation
Step 2: Setup User Profile Confirmations
  1. Click Forms
  2. Hover over your User Profile
  3. Click Settings
  4. Go to Confirmations
  5. Hover over “Default Confirmations
  6. Click Edit
  7. Select the Page radio
  8. Select the My Account page from the drop down
  9. Click Save Confirmation
Step 3: Setup Account Subscription Confirmations
  1. Click Forms
  2. Hover over your Account Subscription form
  3. Click Settings
  4. Go to Confirmations
  5. Hover over “Default Confirmations
  6. Click Edit
  7. Select the Page Radio
  8. Select the Order Confirmation page
  9. Click Save Confirmation

The Wrap Up

I realize this solution isn’t for everyone. So if you think you need something more complex than this, or with more bells and whistles? I recommend Restrict Content Pro. It’s a lightweight plugin built for one purpose, building membership sites.

This tutorial might seem complex, it’s really not. If you’ve made it to the end, you know it’s actually pretty simple to implement.

In fact I think it’s so simple that you could think it’s too simple for your needs. However, Gravity Forms is a powerful plugin with plenty of flexibility and capability. You may have to use your imagination a bit, but Gravity Forms will work as a powerful membership plugin.

If you have questions or feedback, feel free to use the comments below.

Photo of author
About the Author
Chris Eggleston
Chris is not just a Gravity Forms enthusiast; he's a dedicated father and loving husband. As the proud owner of WP Mantis, he's on a mission to simplify the WordPress experience for site owners. He brings a unique perspective to the Gravity Forms community.

Advertisement

3 2 votes
Article Rating
Subscribe
Notify of
guest

15 Comments
Inline Feedbacks
View all comments
Charles
2 years ago

Hi There, I am looking to allow my users to edit the complete registration form that they submit

Is there a way I can allow them to update all the originally submitted fields?

Charles
Reply to  Chris Eggleston
2 years ago

Thanks I’ll get onto it, great support.

Charles
Reply to  Chris Eggleston
2 years ago

Chris, I have created the copy of the rego form, Am I adding the mapping to the original form or the copied form?

Akash
Akash
2 years ago

how to get phone and address field values?

Mariana
2 years ago

How does it manage unsubscriptions?

Dan Gracey
Reply to  Chris Eggleston
2 years ago

Yes to both.

Johannes
Johannes
2 years ago

Hi, when member plugin is activated GF addons are not visible in form settings. When I deactivate the member plugin they appears again. So currently what you describe her can not be done…

Johannes
Johannes
Reply to  Chris Eggleston
2 years ago

Thank you, but I am admin…

Johannes
Johannes
Reply to  Chris Eggleston
2 years ago

Thank you ok now!