User Registration Overview

This guide is a step by step user registration guide that explains different JetFormBuilder user registration scenarios and corresponding WordPress registration forms, including registration, email verification, AJAX, payments, subscriptions, and role changes. 

With the help of the JetFormBuilder plugin, it is possible to create a front-end registration form with email confirmation. To register on the site, the user should input their login and email address and follow the verification link sent to their email. Once the user follows the link, the registration process is completed. 

Table of Contents:

This user registration guide allows you to select the needed scenario and directs you to the appropriate tutorial(s) for each step. 

The complete functionality can be shown as follows:

register user → email verification → AJAX → payment → subscription → role change 

However, you can select only the needed actions.

First, before configuring your registration form, decide which registration flow matches your project requirements:

  • simple registration 一 allows adding a new WordPress user, a list of which can be found in the WordPress Dashboard > Users directory. The functionality is implemented via the “Register User” Post Submit Action;
  • email verification 一 choose this flow when you want users to confirm their email address before registration. The flow is: “Register User” Post Submit Action → “Verification”;
  • paid registration 一 use this scenario when account creation depends on a successful payment. The flow is: configure the Payment settings → adjust the Check out settings → “Register User” Post Submit Action → add Events;
  • subscription registration 一 choose this workflow for recurring payments, membership websites, SaaS products, or subscription-based access. The flow is: configure the Subscription Payment settings → adjust the Check out settings → “Register User” Post Submit Action → add Events.

Common Mistake: Don’t include unnecessary fields (like company name or address) in the initial registration form. The more fields you add, the higher the chance of spam or validation errors. Keep it to “Email” and “Username” for the smoothest flow.

Register User Action

The “Register User” Post Submit Action is the basis of every registration workflow in JetFormBuilder. This action:

  • creates a new WordPress user account using the data submitted through the form;
  • maps form fields to user account data;
  • assigns a user role.

To find this action, open the form in the Block Editor, navigate to JetForm Settings > Post Submit Actions, click the “+ New Action” button, and select the “Register User” option from the available actions.

the register user action selection

The Edit Register User window has the following settings:

the edit register user window
  • Allow creating new users by existing users 一 a toggle that, if enabled, activates the WHO CAN ADD NEW USER? drop-down list to pick the user role allowed to register new users;
  • FIELDS MAP 一 a group of fields that allows filling out the corresponding fields in the WordPress User Profile (e.g., USER LOGIN, EMAIL, PASSWORD, and more). The group contains both the necessary fields (marked with an asterisk) and non-required ones (these fields can be left empty). For every field in this group, a drop-down menu with a list of form fields is available. By choosing a form field, the link between the form field and the user account field will be set.

Also, except for the form’s fields presented as options in the corresponding drop-down lists, the “Secure unique token” is added to every field in this section. This option is often used for the Password and Confirm Password fields since it is intended to automatically generate a password until the user creates a new password manually. 

This token can be sent via email using the Post Submit Action. If the “Verification” Post Submit Action is inserted, the “ID of the secure unique token” (allows saving a reference to each token in the “jet_fb_tokens” database table) and “Verification URL” (allows a verification link the user has to click to complete the verification process) options are added to the FIELDS MAP field drop-down lists.

the user profile fields

In addition, the User URL field in the FIELDS MAP section allows inserting a URL that will be saved in the “wp_users” table of the site’s database and displayed in the Website field of the User Profile.

the user role field
  • USER ROLE 一 a drop-down list that allows the specification of people who have a profile on your site to perform this action. More details about user roles can be found in the WordPress User Roles Explained: Groups and Permissions Management article. Here, some user roles can be added by holding the “Ctrl” key (Windows) or “Command” key (Mac) to select multiple roles.
NOTE

The JetFormBuilder plugin reproduces all User Roles and Capabilities set by other WordPress plugins (e.g., by the User Role Editor plugin).

  • Log In User after Register 一 a toggle that, if enabled, activates the “REMEMBER ME” FIELD drop-down list that allows specification of the corresponding form’s field;
  • Add User ID to form data 一 a toggle that, if enabled, allows keeping the user ID in form data. Or, if the form is completed by a user already logged in, the current user ID will be added to the form data;
the user meta fields
  • USER META 一 a group of fields that allows linking the form’s custom fields to the user account. Additionally, the User Profile functionality can be enhanced by utilizing Meta Boxes.
NOTE

The JetFormBuilder plugin does not create custom meta fields, but it allows inserting data from forms to Custom Post Types or Custom Content Types using the “Insert/Update PostPost Submit Action. In this case, the specific plugins should be applied (e.g., JetEngine (recommended), ACF, Meta Box, Pods, etc.).

the message settings fields
  • MESSAGES SETTINGS 一 a group of fields that refer to notifications shown to the user in corresponding cases.

Pressing the “Update” button saves the “Register User” Post Submit Action settings.

The most important step while configuring these settings is mapping form fields to WordPress user fields. In particular, the FIELDS MAP is a group of fields that allows filling out the corresponding fields in the WordPress User Profile (e.g., USER LOGIN, EMAIL, PASSWORD, and more). The group contains both the necessary fields (marked with an asterisk) and non-required ones (these fields can be left empty). 

At a minimum, you should provide fields for: User Login, Email Address, and Password. You can also map optional fields such as First Name, Last Name, Nickname, Website URL, and custom user meta fields.

For every field in this group, a drop-down menu with a list of form fields is available. By choosing a form field, the link between the form field and the user account field will be set.

Form FieldWordPress User Field
Text Field of the “Email” typeEmail (necessary field)
Text Field of the “Text” typeUsername (necessary field)
Text Field of the “Password” typePassword (necessary field)
Text Field of the “Tel” typePhone
Text Field of the “Text” typeFirst Name, Last Name

Incorrect mapping is one of the most common reasons registration forms fail.

Common Mistake: If the user account is created but login fails, double-check that your “Email” field in the form is mapped to the EMAIL field in the FIELDS MAP section, and the “Username” field is mapped to the USER LOGIN field.

Other common mistakes are presented in the table below.

Common MistakesSolution
Login field mapped incorrectlyWordPress requires a unique username.
If the “User Login” field is not mapped properly, account creation fails.
Email field not mappedA unique “User Email” field is required for the corresponding WordPress User field.
If it is not mapped properly, account creation fails.
Password field configuration issuesEnsure the password field exists and is mapped to User Password in the FIELDS MAP section of the “Edit Register User” pop-up.
Wrong user role selectedVerify that the intended role is selected in the “Edit Register User” pop-up.
Automatic login is not workingFirst, add a Checkbox, Radio, or Switcher field to your form with a value of “1”, and label it “Remember me” or similar.
Then, enable the Log In User after Register toggle in the “Edit Register User” pop-up that allows you to use the “Remember me” option.
Login fails, but the account is createdDouble-check that your Email field in the form is mapped to the EMAIL field in the FIELDS MAP section of the “Edit Register User” pop-up, and the “Username” field is mapped to the USER LOGIN field.

Email Verification

The The “Verification” Post Submit Action adds a confirmation step between registration and account creation. This action uses a double opt-in flow to validate user email addresses and prevent fake registrations, or to require email verification before creating an active account. 

Read the Email Verification tutorial for more details on how to build a registration workflow from form submission to email verification.

The action includes the following stages:

  • Token 一 each verification request includes a unique token that identifies the user and validates the confirmation process;
  • Status 一 the system tracks the user verification and saves it in the corresponding form’s record;
  • Success/Failed pages 一 pages where the user is redirected in case of a successful or failed verification.

The user’s registration data is saved in the corresponding form record while the verification process is pending. If the verification token expires, the submitted data remains available in WordPress Dashboard > JetFormBuilder > Form Records.

By default, the user account is created only after the user clicks the verification link in the email. This is the standard workflow and cannot be modified.

If a user claims they registered but you cannot find their account in the WordPress Users list, check the Form Records first. If the record has the “Waiting verification” status, the user has not completed the email verification yet, so the account has not been created. 

If a user misses the verification email and the link expires, the site administrator can verify the user manually. To do this, go to WordPress Dashboard > JetFormBuilder > Form Records, find the corresponding record, and click “Verify”.

You can also customize the message displayed after the form is submitted to instruct users to check their email. Scroll past the Post Submit Actions settings and unfold General Messages Settings.

Change the default FORM SUCCESSFULLY SUBMITTED message to provide instructions, for example, “Please, check your email inbox to complete the registration”.

Advanced Flows

Once the basic registration process is working, you can extend it with advanced functionality as follows: 

  • AJAX Registration — allows users to submit the registration form without reloading the page. It provides a faster user experience, reduces page refreshes, and offers a smoother registration flow. More details about how to create a WordPress registration form with AJAX, payment, and subscription options can be found in the How to Create AJAX Registration Form article;
  • User Registration with Payment — the workflow prohibits users’ access to products, services, or premium membership benefits before payment. Read the How to Build a WordPress Registration Form With Payment tutorial for more details;
  • Subscription Registration — the workflow is designed for recurring billing scenarios where users receive ongoing access based on active subscriptions provided by Paypal and Stripe. Read the How to Set Recurring PayPal Payments in WordPress Form and How to Set Recurring Stripe Payments in a WordPress Form tutorials about this functionality;
  • Change User Role — the workflow allows changing user roles automatically after registration, verification, payment, or subscription activation. The How to Change a User Role via Forms tutorial explains how to change a user role after registration, specifically update a user’s data in the User Account, and assign one or multiple roles to users. 
NOTE

If you are using Stripe or WooCommerce payments, ensure you have set up your webhooks correctly. If the payment succeeds but the registration/role change fails, check the payment status in your gateway dashboard before contacting support.

Troubleshooting

If registration emails are not delivered even though the form logs show “Email sent successfully”, keep in mind that this message only confirms that WordPress attempted to send the email.

The actual delivery can still fail due to hosting mail restrictions, misconfigured mail servers, spam filtering, invalid sender addresses, or missing SMTP configuration. Check the user’s spam folder and test email delivery independently from the registration form. 

Using a custom SMTP plugin can also help ensure more reliable email delivery by routing messages through a trusted mail service instead of relying on the default PHP mail function.

If a user does not receive the verification email, they should submit the registration form again to trigger a new verification email.

An Internal Server Error (HTTP 500) during registration is usually caused by a server-side issue. Common causes include exceeded PHP memory limits, plugin or theme conflicts, server configuration problems, PHP fatal errors, or errors in custom code. Enable WordPress debugging and check the server error logs to identify the exact cause.

To check whether the user registration action failed during form submission, make sure the “Save Form Record” Post Submit Action is added to the form. 

Then, review the saved record details and action results to identify whether the registration action was completed successfully.

List of User Registration Documentation

Check our guides to recreate a preferred setup:

FAQ

Why is the user not being logged in automatically after registration?

The most common cause is that the Log In User after Register toggle is disabled in the Register User action settings. Ensure this option is enabled if you want users to be logged in immediately after their account is created.

What is the correct way to map password and confirmation fields to avoid “Password does not match” errors?

The Password and Confirm Password fields should be connected through the JetFormBuilder’s validation settings. Both fields must contain identical values before the form can be submitted. In the “Register User” action, only the Password field should be mapped to the User Password field. The Confirm Password field is used solely for validation and does not need to be mapped to WordPress user data.

How can I allow users to choose their own role during registration, and is it secure?

You can assign a user role (or roles) automatically while registering new users via forms. Also, you can allow users to change their roles via forms, as the How to Change User Roles via Forms and How to Change User Role After Successful Subscription Payment tutorials explain.

Why are the custom user meta fields not saving even though the form submission was successful?

Verify that each custom field is correctly connected to its corresponding meta key in the User Meta section of the “Register User” action.

How can I prevent spam registrations without using a CAPTCHA, just by using email verification?

You can add the “Verification” Post Submit Action before the “Register User” action. This workflow sends a verification email and delays account creation until the user clicks the verification link. For better protection, combine the email verification with required fields and form validation

That’s it. Now you know the main WordPress user registration flows and how the JetFormBuilder for WordPress email verification, AJAX, payments, subscriptions, and role changes work.