Gravity forms is one of the most advanced form builder plugin since 2009. It is developed by Rocketgenius, Inc. For the past 9 years, the company kept improving and incorporating user suggestions to add more features in the plugin. This resulted in a plugin that is still relevant even after so much competition and peace of mind that the plugin won’t be abandoned ( like most new form builders become after they don’t get traction ).

In this article, I will dive Deep into Gravity Forms and explain to you all the major features of this plugin. At the end of this article, we will also compare gravity form with other popular plugins like Ninja forms, Formidable Forms, and Contact Form 7.

Features of Gravity Form

One of the reasons why gravity form is still the preferred choice of most WordPress users is its feature set. In this article, I will be going through some of the basic and advanced features that you should be aware of in case you are looking to or have already purchased gravity forms.

  • Visual Drag and Drop Builder: In this form builder plugin you get a visual drag and drop builder. It lets you add new form fields by dragging and dropping them into the form area. The backend of form is divided into 2 sections. On the left side, we have the form area and on the right side, we have form fields. You can add fields to the form by clicking on them or by dragging them to the specific place where you want to insert them. If you add a form field by clicking on it then it will be added at the bottom of the form.  it is also possible to arrange the sequence of fields by dragging them to the specific place where you would like to have it.
Drag and Drop

Drag and Drop

  • Conditional logic:  This is one of the most revolutionizing feature of gravity forms. With conditional logic, you can show/ hide fields of your form depending upon what data was entered in the previous field by the user. Conditional logic is very robust and you can very easily create simple/complex criterion in conditional logic.
Conditional logic

Conditional logic

  • Easy Entry management:  Gravity forms stores all the form submissions as entries. You can browse entries by form. It can be located at Forms -> Entries. From here you can select the form for which you want to see all the entries. Entries can be viewed, edited, marked as spam or moved to trash from here.
    Having entries is very helpful because if you’re using inbuilt PHP mail function of WordPress (which all the form builders use unless you have configured SMTP ) then email notifications can’t be reliable. You can miss certain notifications in case the emails are never delivered by the hosting company. With entries, you have a centralized backend area in your WordPress installation from where you can check all the submissions.
Gravity Forms Entry management

Entry management

  • Email notifications: Email notification of gravity forms is very flexible. You can have multiple email notifications set up for a form submissions with conditional logic. This way notifications will be delivered to different people depending upon what data was entered by the user in the form. Consider that you have a web development company and the contact us form has an option to select the query type with option of sales, technical and general query. Then the email notifications should be only delivered to the relevant department ( sales, technical or general) instead of all these departments. This can be achieved by conditional logic of Gravity Forms notifications.
Gravity Forms Email notifications

Email notifications

  • Submission Confirmations:  Once a form is submitted then you can choose to either show a custom text confirmation message or redirect to a specific page.  The confirmations have support for conditional logic too and it makes it possible to show the different confirmation or redirect to different pages depending upon what data was entered by the user in the form fields.
Gravity Forms Confirmation Message

Confirmation Message

  • Save and Continue:  Have you ever created a form that has too many fields. With Gravity Forms it is possible for users to partially fill the form and come back later to complete the form. This feature can be found under form settings. Once user clicks on save and continue link then an email will be sent into their email ID with the link to the partially filled form. 
Save and Continue

Save and Continue

  • Limit number of entries: There are certain restrictions that you can put in your form like you can set the maximum number of entries that can be submitted. Entries can be limited on per day, per week, per month, per year or the total number of entries. Once the entry limit is reached then you can also show a custom message to let users know about it.
Limit entries

Limit Entries

  • Schedule form:  Once you have created a form then it is also possible to show it on particular days and at particular time. If a user tries to access a form that hasn’t been scheduled for that day then you can show custom messages to let them know about it.
Schedule Form

Schedule Form

  • Require user to be logged in:  If you want to restrict your form to logged in users only then it is also possible to do so and if somebody who is not logged in then there is an option to set a custom message for them. The good thing about this is that you can also add links using HTML in you login message that can point to the login or registration page of your website. There is also an official addon by Gravity forms for User registration which can be used for creating custom user registration forms.
Require User Logged in

Require User Logged in

  • Anti-spam measures: Gravity Forms have Google ReCaptcha, anti-spam honeypot, and support for really simple captcha to prevent spam submissions.

Anti-spam

  • Form preview:  Once you have created a form and would like to see how it will look before you present it to your users then you can use the preview option present in the form editor. It will show the form without any theme CSS applied to it.
Form preview:

Form Preview:

  • Import and Export:  It is not only possible to import and export all your forms but it is also possible to do the same for entries. There are various filter available like custom date range which you can use to customize the data of your export file. This setting can be located under Forms -> Import/Export in your WordPress dashboard.
Import Export:

Import Export:

  • Ajax submissions:  If you enable ajax submissions on a form then it won’t refresh the page when the form is submitted by the user. Please note that ajax submissions get disabled automatically if you have added recaptcha field in the form.
Ajax Submissions

Ajax Submissions

Inbuilt Fields of Gravity Forms

Gravity Forms comes with four different type of fields categories viz. Standard Fields, Advanced Fields, Post Fields, and Pricing Fields .  There are also a lot of official and third-party add-ons that extend or add new fields to these sections.

Gravity Forms Form Fields

Gravity Forms Form Fields

Brief intro to gravity form Standard Fields

standard fields

Standard Fields

    • Page Break:  Page Break field is used for creating multi-page forms. Multi-page form is a great way to increase conversion if your form is too long. This field will automatically add the following section to your form.
      • Start paging: It appears at top of your form and contains settings using which you can set your form to show a progress bar, show steps or don’t display any progress indicator at all. You can also specify the style of the progress bar and set names for your pages. There is also an option for showing/ hiding progress bar after a successful form submission. You can also add a custom class under the appearance tab if you want to add custom styles to the progress bar.
      • Page break: This part signifies end of the current page and the beginning of the next page. Under its settings, you can change the text/image for next/previous buttons. Under the appearance tab, you can give a custom class to it. Under advanced tab, you can enable conditional logic to hide/show next page depending upon what data has been filled by user in the current page fields.  There is also an option to disable next button unless certain fields are filled with specific data.
      • End paging:  End paging appears at the bottom of the form. This field symbolizes the end of the form and under its setting, you can change the text/image of the previous button on the last page of your form.
  • Section Break: This field can be used to divide your form into multiple sections. It is more of a symbolic/Visual division rather than the actual division of form functionality. Under general settings tab you can change the label of section break as well as add description for it.  The appearance tab has the setting to add a custom class to this field. Under advanced tab, you can control the visibility of this field to be visible to everyone or only in the form editor. there is also an option to control when this field is visible to front-end users with conditional logic.
  • HTML field:  This field can be used to add custom HTML in your form. You can add images lists etc.  While using this field you have to understand that this field is not saved when the form is submitted.  If you create an input element then it won’t be visible under saved entries.
    • General Settings:
      • Field Label: Here you can specify the label for this field. However, this is only for back-end purposes as it won’t be visible on the front end of your form.
      • Content: This is where you will be adding your custom HTML and it will be shown in the front end of the form.
    • There is also an option to disable the automatic margins which are added by Gravity Forms to all fields.
    • You can also add a custom CSS class which can be used for adding custom styles to this field from the Appearance tab.
    • The advanced tab lets you add conditional logic to this field.
  • Hidden field: This field isn’t visible to users in front-end but it will be submitted along with the form and saved into the entry. This type of fields is usually used to store data that is dynamically populated using query strings hooks or merge tags.
    Under its general settings, you can add a field label. Since the field won’t be visible to the user so it will come in handy in the form back-end as well as entry management.
    Under advanced settings, there is an option to dynamically fill this field with query strings which you can specify here. You can also add a default value for this field.
  • Radio buttons:  Radio buttons come in handy when you want the users to select a single choice from a list of choices. You can add as many choices as you like. Here is the tutorial to style radio buttons.
    • Under its general settings tab, you can add field label which will act as field title in front-end for your choices. You can also add field description that will be shown below or above label depending upon your form settings. The list of options has to be added under Choices. There is also an option to show values. If you enable show values then it will give you the option to specify a label for the choices as well as value for them. The label will be shown in the front and to the users and value is what will be saved in the entry. You can also set a default choice.
    • There is also an option to add bulk choices with predefined lists like days of the week, months of the Year etc. You can also add custom choices and save them for future use as well.
      There is also an option to enable other choices. What this option does is that when user will select other from the list of choices then it will add a single line input where the user will be able to add his/her own choice.
    • You can also make this field is required and also enable no duplicates option.
    • Under appearance tab you can specify the placement of description for this field it can be set to form settings, below inputs or above inputs.
    • You can also specify a custom validation message for this field. This validation message will be displayed when there is an error while submitting the form. If you leave this field empty then default error message will be shown.
    • In custom CSS class field, you can add one or more classes separated by space for this field.
    • Under the advanced tab, you can add admin field label. This will overwrite the field level in the form editor.
    • With Visibility option, you can control whether this field will be shown in the front end or in the back and only.  By setting its visibility to admin only you can add/change its value from entry management. Example: where this setting can come handy is when you have to mark a field as processed or pending.
    •  it is also possible to select a choice for this field using query string or hooks. If you use query string then make sure that the values specified in query string must match the value of the choice.
      Conditional logic can also be enabled for this field to control its visibility depending upon what the user has entered in the previous fields of the form.
  • Number field:  This field only accepts digits. If the user tries to enter alphabets or any other characters except(.) then it won’t get typed in this field. You can also specify the range of numbers that will be accepted by the field. i\It can also be filled dynamically depending upon data calculations of other form fields.
  • Paragraph text area:  This field adds a text area which accepts line breaks.  So the user can enter multi-line or multi-paragraph data. It is also possible to enable rich text editor that gives advanced options for formatting the text. You can also limit the number of characters that can be added to this field.
  • Single Line Text:  This field lets the users enter a single line of text. The text can be alphabet, digits or special characters. There is also an option to limit the number of characters that the users can enter.
  • Multiselect: Multi-select options can be considered as an alternative to checkboxes. It allows the user to select multiple options at a time.
  • Checkboxes: This field lets the user select one or more choices from the list of choices. The frontend and backend interface of this field is quite similar to radio. You can also add bulk choices to this field.

Advanced fields

This is a set of fields that have a specific purpose and most of them have inbuilt validations.

Advanced Fields

Advanced Fields

  • Website: This field allows the user to enter a valid URL.
  • Time: This field lets the user input time. There is also an option to set the time format to either 12 hours or 24 hours.
  • Phone: The phone field lets the user enter a phone number. There is also an option to select phone format and it can be either us/ Canada or International.
  • Name field: This will let the user enter the name. It also has options to enable prefix and suffix for the names. The name field supports first, middle and last name.
  • List field: List field allows users to enter multi-column and multi-row data.  You can control the number of columns or the number of rows in this field. It is also possible to set headers for the multi-column list.
  • File Upload:  This This field that the users upload files directly from the form. It supports single file as well as multi-file uploads. There is also an option to limit the type of file extensions that can be allowed. You can also limit the maximum size of the file. If you don’t set the maximum upload size then it will be automatically set to the limit specified by your WordPress installation.
  • Email: This field will only accept valid email ids. There is also an option to enable email confirmation field.
  • Date field: This field lets the user select a date from jQuery UI datepicker. There is also option to change the date picker type from jQuery UI datepicker to date field or date drop down.
  • Captcha: Field is used to prevent spam submissions for the form. It uses Google’s ReCaptcha service.  If you use ReCaptcha fields in your form then you cannot enable ajax submission.
  • Address Field: This field consists of street address, address line 2,city, state, zip, and country in a nicely formatted layout. You can enable or disable these address fields. Also, there is an option to change the type to US or Canada from the International format. If you use US or Canada then the country field won’t be shown in the front-end and the state field will automatically list all the fields of that country.

Post fields

These fields are specifically geared towards bloggers who accept guest post submissions. Using post fields the submitted data of the form will be automatically converted into a draft post.

Post Fields

Post Fields

  • Post title: This will be used as a title of the post when the form is submitted.
  • Post tags:  The data entered in this field will be automatically added as tags in the newly drafted post after form submission.
  • Post Excerpt: This field is synced with the excerpt field of the post.
  • Post custom: If you have custom fields in your post then you can use this field to add data to them.
  • Post category: This field is used to manage the category in which the newly drafted post will be added.
  • Post body: This field comprises of the actual post content that will be shown to the users once the post is published. Rich text editor can be able for this field.

Pricing fields

 These fields are specifically used for forms that require the user to pay.  The website needs to have a valid SSL certificate for payment processing on the merchant’s site. There are official payment gateway addons like Paypal Payments Standard, Stripe etc.

Pricing Fields

Pricing Fields

  • Credit Card: Payment gateways such as authorize.net, Paypal Payments Pro, and stripe require the user to add the credit card details on the merchant sites.  This field can be used to let the user enter credit card details before they are sent to the payment gateway. Please note that this field only becomes visible once you have enabled a payment addon that needs this field.
  • Total: It shows the total amount that the user will be paid depending upon the quantity, shipping and product type which was selected by the user.
  • Shipping: It can be used for adding shipping prices for the product.
  • Quantity: It lets the user select the quantity of the product.
  • Product: It is used for creating a product.
  • Option: It is used for creating variations for the product.

How to Create your First Gravity Form

Once you have installed and activated Gravity Forms then you can follow the steps mentioned below to create your first form.  It is possible to create advanced and complex firms like service, questionnaires, eCommerce forms with ease.

      • Navigate to forms and click on add new. You will be presented with a popup asking for a Form Title and Form Description. Once you have added these details then click on Create Form Button.

        Create Form

        Create Form

      • Now you will be presented with form editor where all the fields are on right-hand side and the actual form area is on the left side. You can drag and drop the required fields into the form area.

        Form Backend

        Form Backend

      • Once you have added all the fields then click on Update button and your form will be saved. The form can be previewed by clicking on Preview link present at top menu toolbar.
      • Now go to the page/ post in which you want to add this form and then click on the Add Form button present next to Add Media above the rich text editor. Here you will be presented with a drop-down list of all the forms you have created and an option to display title description, an option to enable ajax submissions for this form.
      • Now click on Add Form and publish the page.

How to Style Gravity Forms?

Gravity Forms doesn’t have an inbuilt form styler but that doesn’t mean you can’t style it with ease. You can download and install Gravity Forms Designer plugin from WordPress repository and follow the below video tutorial to create beautiful designs.

Pricing of gravity forms

Gravity Forms Pricing

Gravity Forms Pricing

Gravity Forms is a premium plugin and there is no free version available of it. There are three different licenses available for Gravity Forms.

  • Basic license:  Basic license is valid for only one site and comes with all the fields as well as basic addons like active campaign, Aweber, campaign monitor, clever reach,, get response, MailChimp etc. It costs 59 USD.
  • Pro license:  This license can be used on three websites. It comes with all the features of basic license. Pro addons like Paypal payment standard, slack, trello, Dropbox etc are also part of this license. It costs 159 USD.
  • Elite license:  This is the end of line license by Gravity Forms. It comes with all the features of pro license as well as access to all the advance addons of Gravity Forms. It also comes with priority support.  If you have this license then you can use it on unlimited number of websites. It cost 259 USD.

How Is Gravity Forms Better than Other Free and Premium Form Plugins?

  • Contact form 7:  Contact Form 7 is probably the most actively installed free form plugin available in the WordPress ecosystem.  However, it is no match to gravity form in terms of form builder, third-party addons and advanced functionality like eCommerce forms.
  • Ninja Forms:  Ninja Forms recently released version 3.0 of the plug-in that completely broke functionality with a lot of their official as well as 3rd party addons.  At the moment of writing this article, there are plenty of add-ons that haven’t been updated to be compatible with the most recent version of Ninja Forms. So in terms of reliability, they are not at par with gravity forms. Also, the 3rd party addons are comparatively less for Ninja forms because they do not have documentation for developers like Gravity Forms has.
  • WPForms:  This is among the newest form builder plugins that have been widely adopted by users.  Due to this the 3rd party and official addons are way less when compared to Gravity Forms. They also lack in developer documentation so it becomes difficult for developers to extend it in case you need custom functionality.  Other than that this is a good competition to Gravity Forms
  • Formidable Forms:  Formidable forms has few features that come with addons in other form builder plugins like inbuilt form styler, views, front-end entry editing. But they aren’t as widely adopted as gravity forms. The user community isn’t for it isn’t as active as for Gravity Forms.

Final Words

I can recommend Gravity Forms without any second thoughts. If you also have similar thoughts or you think there is something better out there then let’s start the discussion in the comments section below.