While there are free options available for creating contact forms and other form types, I’ve yet to find a free WordPress form builder that I really enjoy using and that can do everything I need it to do. As a result, I’ve tried a couple of different premium form builders to get an idea of the strengths and weaknesses of each, so today I’m bringing you another head-to-head plugin comparison: Gravity Forms vs Formidable Pro.

Price & Licensing link

Pricing is almost always a concern for store owners when it comes to the tools they need to build their stores. While I’ll do the best I can to show the pros and cons of each of these plugins, I’d make sure you have an idea in mind of everything you think you’d be using forms for before you purchase, as available features is a far more important metric. Since Gravity Forms and Formidable Pro don’t have total feature parity, you’ll want to be sure you have a clear idea of what’s needed. As the investment in purchasing each of these is pretty small, it’s worth it to make sure you purchase the plugin that will be the best fit for your store.

Both also allow license renewals per year at a 50% discount.

Price Support Updates # Sites # Fields Add-ons?
$39 1 year 1 year 1 all (33) none
Gravity Forms $99 1 year 1 year 3 all (33) basic (4)
$199 1 year 1 year unlimited all (33) all (18)
$0 none lifetime unlimited 6 none
Formidable Pro $47 1 year lifetime 1 all (24) all (12)
$117 1 year lifetime unlimited all (24) all (12)

Also, take a look at our Special Offers page – we do have a Gravity Forms exclusive coupon code available for any new license, but Formidable Pro does not offer coupon codes.

As for the free version of Formidable, I don’t really consider it a serious contender, so I’ll limit this review to the Pro version. As the free version only includes 6 fields (and no email fields that can be validated), it’s more like trial-ware than anything else:

Formidable Free

Formidable Free

Basic Forms link

Basic forms, such as contact forms or inquiry forms, are needed by almost every website. For example, many eCommerce stores have pre-sales forms used on product pages so that customers can quickly and easily get more information about products. This is the kind of stuff that your form builder should be handling.

I consider basic forms to be static forms with general input fields, such as text, name, and email fields. Let’s take a look at what each plugin can do with these forms.

Gravity Forms

No matter which license you use with Gravity Forms, you’ll have access to all form fields. When you create a form, you’ll enter a name and description, then view a blank page with all possible form fields on the right:

Adding a New Gravity Form

New Gravity Form

For many forms, you’ll probably be using the Standard and Advanced fields. Advanced fields will be validated (i.e., check for valid email address formats or phone numbers), and you can include some cool things such as date-pickers.

Gravity Forms Standard Fields

Gravity Forms Standard Fields

Gravity Forms Advanced Fields

Gravity Forms Advanced Fields

Simply clicking these fields will add them to the form. You can drag and drop fields into the order you choose, mark certain fields as required, set field names and descriptions, and set up options for some field types, such as dropdowns and radio buttons. Using a basic form, it’s very simple to create more detailed contact forms that some plugins (such as Jetpack) allow.

You can then embed your new form on any page or post using the “Add Forms” button, or make this a part of your page template using the [gravityforms id=""] shortcode.

Embed Gravity Forms

Embed Gravity Forms

As a final note, one cool thing you can do with forms is to include some default values in a field. For example, I like to embed one standard pre-sales form on all product pages, then use a field that’s only visible to the admin to set the name. As my product names are indicated in the post name, I use a text field with a default value that embeds the post name. This way, any pre-sales questions will have the information I need to answer them without forcing customers to type in the product name.

Gravity Forms Admin Fields with Default Values

Admin Fields with Default Values

For example, I do this using WooCommerce by adding a global “Pre-Sales” tab with the Tab Manager, then embedding my form in that tab. Note that this will only work for static forms (no conditional logic).

Formidable Pro

Creating basic forms with Formidable is easy as well. When you create a form, you can simply drag and drop fields onto the form to use and some form fields will be validated (such as phone or email).

Formidable Create a New Form

Create a New Form

There are several form fields you can use for all new forms. Basic forms could end up leveraging any of these fields:

Formidable Field Types

Field Types

Editing fields is pretty simple, and you have several options for each field. You can mark fields as required, drag and drop fields into the correct order, edit names and optionally set descriptions, and create options for some field types:

Formidable form fields

Formidable form fields

You can even pre-fill some of these forms (such as email) for logged in users to save your customers some time. Once you’ve added the options you’d like and saved your form, you can edit some form settings and it’s ready to embed in your page. You can embed the form using the [formidable id=] shortcode, or use the “Add Form” button to insert the form in a page or post.

Formidable Adding a form

Adding a form

Again, there are some cool things you can do with default values and hidden fields. The pre-sales form trick I previously mentioned will work here as well. You can set a text field to be filled with a default value (in this case, the Post Title again), then make sure that only administrators can see that form field. This gives your customers one less thing to worry about when trying to get in touch, and you can embed the form within your product page template.

Formidable Set Default Values

Set Default Values

That’s it! Basic forms are easy to make and use with both Gravity Forms and Formidable Pro.

Advanced Forms link

There are several advanced uses for forms as well, such as the ability to dynamically populate fields, use conditional logic to only display required fields, submit posts, and use pricing fields. Add-ons are also typically a part of advanced usage, but we’ll cover some of that separately.

Gravity Forms

Using Gravity Forms will give you some pretty cool advanced options for your form fields. Most advanced fields are under Post or Pricing fields:

Gravity Forms Post Fields

Gravity Forms Post Fields

Gravity Forms Pricing Fields

Gravity Forms Pricing Fields

Post fields will allow you to create post drafts right from the submitted form. This could be really handy, for example, if your site accepts guest posts about your products or does case studies for people that use your products. Users can submit the requisite fields on the frontend, such as post titles and body, as well as select post categories. You can determine if posts should be created as pending / drafts when submitted so that you can review and edit them, and assign them to a default author as well (such as a ‘guest’ author or someone on your staff).

Pricing fields are my favorite. You can use them to sell additional products at checkout, accept donations anywhere on your site, and more. They’ll allow you to create a product, optionally associate options with it (i.e. a “tee shirt” product that has options for “size), set quantity, choose shipping prices, and calculate the total. You can even accept payment using a payment gateway add-on. This can be a handy addition to your checkout page or blog posts.

Aside from fields, there are a couple other advanced options. You can enable conditional logic for a form field, which will allow you to hide or display any of your fields based on what’s been entered for other fields. This is really handy if you want to sort incoming contact requests by type, but only display fields that are absolutely needed.

Gravity Forms Setting logic rules

Setting logic rules

You can also dynamically populate form fields. This will allow you to pass in values via the URL so that forms are already filled in for customers. You can assign the field a parameter name, and then populate it by appending ?parametername=value to your URLs. You can use this to automatically select an option in a dropdown, pre-fill a text field, and more.

Using our previous example, let’s say you want to use one form to sort contact requests (e.g., pre-sales, general questions, and more). I’ll use the parameter name “formtype”, and can now fill in that field easily when sending customers to my form.

Gravity Forms Setting Parameter Names

Setting Parameter Names

For example, I can preselect the “Pre-Sales” dropdown by using this URL: mystore.com/contact/?formtype=presales. This is very helpful if you’re linking to a form from product pages or blog posts so that you can eliminate some of the work for customers.

Formidable Pro

Advanced uses for Formidable aren’t quite as obvious. You can also create posts from your forms, but there aren’t necessarily dedicated fields for this. Instead, you’ll create a form, then assign your fields to the post properties under the Form Settings. You can map form fields to properties such as titles and excerpts.

Formidable Create a post

Create a post

A super cool feature for this is the ability to easily create custom post types, such as products or portfolios, using your forms. Formidable will detect which post types are available and allow you to select them when you’re mapping form fields to post properties. This is really awesome for marketplaces, as it provides an easy way for your vendors to submit their own products (you could even protect the page this form is on to only allow logged-in vendors).

You can also use conditional logic with Formidable to hide or show form fields based on what’s populated in other fields. This makes sure you can use one form for all incoming inquiries, but only show the necessary fields for each inquiry type.

Formidable Conditional Logic

Conditional Logic

I do have to point out that using this conditional logic isn’t as smooth as the experience with Gravity Forms, as I’ve sometimes had trouble with it even using default themes / no other plugins.

Finally, Formidable does give you control over your form styling in the general settings. As themes don’t typically support Formidable out of the box, this can be really helpful to adjust the way your forms are displayed so it’s consistent with your theme.

Formidable Styling Options

Styling Options

Using Add-ons link

Add-ons provide some cool features for both of these plugins, and can really extend what you can do with each form.

Gravity Forms

The basic add-ons are fairly limited (comes with the $99 license), as three of them are mailing list integrations (4 total). I do use the MailChimp add-on to add opt-ins to my forms, so that’s not to say they aren’t useful. I just don’t think it adds a ton of value to the package when there are usually free plugins available for mailing list signups.

However, the advanced add-ons (14 total) can let you do some nifty stuff. The payment gateway add-ons will allow you to take payments directly on your site, which is great for donations or any of the products you’re using Gravity Forms for. In fact, if you don’t have many products and don’t need to manage inventory or orders, Gravity Forms can stand in as your entire eCommerce solution. This might be handy for stores with only a few products or those selling a few services.

My favorite add-ons are the Polls, Survey, and Quiz add-ons, which give you some really powerful ways to get feedback or information from your customers. Including interactive quizzes for your content or product pages is a great way to get customers to engage with your brand. They’re also very handy for membership or e-Learning sites if you have checkpoints following sections or chapters. The polling and survey add-ons can help you easily get feedback from customers about your products or services in a quick and easy way so that you can improve your offering.

There are also two other add-ons that I’ve found very useful: the Signatures add-on and the Zapier add-on. Signatures helps you collect a signature as part of your form, and works for touch-screen devices. This can be very handy for product deliveries, as delivery personal can fill out the delivery form and have customers sign from an iPad or other device.

The Zapier add-on lets you integrate Gravity Forms with virtually any other product or service. Need ideas? Here’s a cool tutorial on using Gravity Forms + Zapier to manage incoming contact requests in Trello.

Formidable Pro

There are 12 add-ons available for both paid versions of Formidable Pro. Again, one of my favorites is the MailChimp integration, which allows you to add opt-ins for your email lists to your forms. You can also accept payments using your forms, but must use PayPal (which isn’t my favorite payment gateway).

Other cool add-ons include the Highrise integration, which adds users to your Highrise CRM account when they complete a form, and the Signatures add-on, which allows typed signatures, or signatures that use a trackpad or mouse. Again, this is great for delivery personnel or forms that require signature confirmation (potentially for pre-signed deliveries, as Apple does).

The Zapier add-on is also very handy, and lets you integrate Formidable with a host of other services. Formidable even has a collection of popular zaps to get you started.

Finally, the Bootstrap add-on is very handy for styling, as I’m not crazy about the built-in Formidable styling. You can disable the Formidable styling and use Bootstrap instead.

General Tips link

Before we discuss support and wrap up, here a couple of tips for those of you looking to use these forms based on my experience.

Gravity Forms

One thing that I dislike as a default option and find counter-intuitive in many forms is the placement of descriptions. By default, Gravity Forms descriptions are displayed after the form field (this is true of Formidable Pro, but you can’t change it). For many fields, I find it helpful to read a description of what I should do before I fill out the field. I usually change this under my form settings for each form:

Gravity Forms Description Placement

Second tip: Make sure you update your admin notifications for every form under the “Form Settings”. You may want to send notifications to an email other than the admin email (such as a support desk) or to multiple emails. You probably also want to change the from and reply to emails so that it pulls in the user’s email from your form.

Final tip: Always set your own option values for forms that will use (or may someday use) conditional logic or allow fields to be populated dynamically. This will make it far easier to change the wording of these forms in the future, as the logic is related to the value rather than the name. If you don’t do this and then tweak your form, you’ll break the conditional logic and it’s a pain to update everything.

Gravity Forms Set Option Values

Set Option Values

Formidable Pro

Admin notifications are something to pay attention to here as well – don’t forget to change them when you create your form so that you’re getting emails from your customers’ addresses rather than your own. You can also send incoming forms to your helpdesk software or other email addresses.

I also do the same thing with Formidable Pro that I do with Gravity Forms in terms of setting my own option values. Again, this makes it easier to change the title of options without breaking conditional logic.

Also, check out the form reports. There are reports for number of entries, which forms they come from, etc. within your admin. This is kind of handy if you want to split test forms to see how responses stack up with one another.

Finally, as I mentioned before, you’ll want to tweak either the styling settings or use the Bootstrap add-on for styling to make sure your forms look good in your theme.

Other Comments link

One thing to also bear in mind is the ability to integrate other plugins and themes with your form builder. For example, there are far more integrations available for Gravity Forms than there are Formidable, especially among eCommerce plugins and free add-ons. You can use Gravity Forms to customize WooCommerce products or to replace the Easy Digital Downloads checkout process. Many themes also support Gravity Forms out of the box since it’s so popular.

Support link

Purchasing a license for either plugin will include a year of support – the only version of either that doesn’t include support is the free version of Formidable.

While support is the same, you may want to pay attention to updates. If you grab Formidable Pro, you’ll get updates for the lifetime of the plugin and will only have to renew your license for support. If you use Gravity Forms, renewals are for both support and updates, as updates expire after one year. For both plugins you can use them as long as you want to, but this is something to note to ensure that you have the most up-to-date copies and all new features.

Finally, I can say that I’ve not really needed frequent access to support with either of these plugins. In the few times our team has contacted them, support teams for both plugins have responded quickly and been very helpful and friendly. They both also have forums and documentation available for all users, though you can no longer ask questions in Gravity Forms forums. Their support is ticketed, while Formidable Pro uses forums (posting is restricted to paid users). I don’t think that support will necessarily be a point of differentiation for these.

Gravity Forms vs Formidable Pro Conclusions link

The biggest decisions you’ll have to make for your eCommerce site when choosing a form builder is what features you’ll absolutely need, which I’d do before worrying about pricing. Both plugins can do some of the same things, such as creating conditional logic, adding or creating bulk sets of options (such as US states), or limiting form entries. However, there are a few points of differentiation to consider.

  • For the single site license, you’ll get all add-ons for Formidable Pro, while you’ll need a developer license for Gravity Forms to get all add-ons (I use this – it’s worth it).
  • Gravity Forms allows you to schedule forms so they’re only available for certain dates.
  • Both can allow you to view form entries, but Gravity Forms will allow the administrator to add notes (helpful for returned products, etc).
  • Gravity Forms allows you to create multi-page forms with progress status. Formidable kind of does this, but without progress status.
  • Formidable Pro lets you easily create custom post types via your forms and map form fields to custom meta fields, while Gravity Forms only lets you create blog posts (there is a free add-on to create custom post types).
  • Formidable Pro can pull in post tags (and any taxonomy) for forms that create posts to create a checkbox, while Gravity Forms will only be able to select post categories. However, Gravity Forms can create a featured image, while Formidable Pro allows for an image upload but can’t set this as the featured image.
  • Conditional content is better with Gravity Forms, and you can dynamically populate your fields.
  • Gravity Forms can be used for limited eCommerce with pricing fields / more payment integrations.
  • Gravity Forms has more integrations and is usually pre-styled for themes, but Formidable will allow you to customize styling.

In short, if you need add-ons for one site or want to easily allow forms to create custom post types, such as products, portfolios, or testimonials, then Formidable Pro is a great choice. If conditional logic, multipage forms, and eCommerce matter more to you, then go with Gravity Forms. I also really like the quiz and survey add-ons for Gravity Forms. As a personal preference, I do find Gravity Forms easier to use, but some people on our team say the same thing about Formidable Pro so I wouldn’t put much stock into it 🙂 .

Have questions? Ask in the comments and I’ll try to clarify what I can!


Read More link

Here are some other good resources to check out:

  • Chris Lema has a direct comparison of these two plugins, as well as a larger comparison that includes Ninja Forms. The larger comparison has some great infographics.
  • For those of you that are researching these, we’ve already done a full Gravity Forms review that has more information, but have not written a stand-alone review for Formidable yet.
Note: This post may contain affiliate links, which means we get a commission from the plugin, theme, or service provider if you choose to purchase. Even though we may receive a commission, providing the comprehensive and objective WordPress eCommerce resources is still our mission and we only recommend product we’re confident in. Have more questions? See our affiliate policy. You can use the plain links below if you prefer that we not receive a referral commission:

Articles you may also like:

Posted by Beka Rice

Beka Rice manages the direction of Sell with WP content and writes or edits most of our articles to share her interests in eCommerce. Or she just writes as an excuse to spend more time jamming out to anything from The Clash to Lady Gaga. Who knows.


  1. Thanks for the mention, Beka. I love the integration with Zapier, it really allows you to build some interesting workflows.

    1. You’re welcome! Very handy tutorial, we use Zapier a lot ourselves 🙂

  2. Thanks for the write up! Just a couple notes. Formidable allows dynamic default values and the description location can be changed. The dynamic default values are listed in a sidebar tab, and can come from a lot of locations in addition to the URL. The form HTML is customizable and the description can be moved from there. Notes can also be added when you go to view an entry on the back-end.

    Also, have you used the graphing and views at all in Formidable. You can setup pretty much anything you want on the front-end using views, including editing entries for only the entry submitter or any group of users you choose. You ought to try out the editing and views.

    Thanks again!

    1. Hi Stephanie, thanks for clearing these up + the added tips! Definitely helpful to know you can add dynamic default values via URL, that was something I was looking for and must have missed 🙂 Will check out the graphing for next time!

      1. Beka, I also want to second Stephanie’s note about Formidable Pro’s Views feature. This component is an absolutely HUGE advantage and it’s difficult to cover all it’s capabilities in a brief comment. GF also has a separate “Views” addon product, but it’s very pricey and requires a separate license. This type of customizable content query and front-end presentation tool more-or-less replicates Drupal’s Views plugin, which has historically been a big draw for those users. I’d reinforce not to underestimate the value of that built-in feature of Formidable Pro.

  3. Hi Beka, fantastic and detailed comparison! I have Gravity Forms (developer license), but I could never manage to create a post using it. Turns out the add-on (Gravity Forms + Custom Post type) doesn’t work anymore and renders Gravity Forms… well, useless for me.

    I went ahead and bought Formidable after reading your post because I wanted the ability to create products (Woocommerce) via frontend. I’m a bit stumped though with the process. Would be great if you can post a tutorial. 🙂

    1. Hey Sunit! Thanks for the update on the Gravity Forms add-on, as I haven’t had to use this myself in a while. I do have a tutorial on using Formidable Pro for this on my list, so I’ll bump it up higher on our idea board :). There is documentation on this that can hopefully help in the meantime!

It's been over 2 years since this post was published, so comments have been closed. Thanks for reading!