Of all the form plugins out there, it seems that the mighty Gravity Forms is the undisputed king. But of course, that doesn’t mean you should blindly use it just because “everybody else uses it“. How do other plugins compare? Are there any others that are worth considering? We’re going to take a look at two others: Formidable and Ninja Forms and see how they measure up against the current top choice.
We’ll start by examining Gravity’s features (note: not a full review as such), which should give us some baseline idea of why it’s at the top of the list. Then we’ll look at the other two and see how those compare and measure up. Do they have enough firepower to get a chance to dethrone the leader? Let’s find out!
At first glance, Gravity looks easy enough to use and is very “basic”. However, once you start building a form, you’ll discover new features and possibilities and you’ll realize it involves so much more than just a form that sends an email.
Creating a form is easy. The first steps involve selecting what type of fields you want in your form, and you’re not limited to just the standard fields (such as text, radio, checkbox) — you can also select pre-defined sets of fields. That way, you won’t have to add 4 or 5 individual fields if you want people to enter their address; instead, you can just select “Address” from the list of advanced fields, and with just one click you’ve added 6 fields (street address, city, zip code, etc.)
Another interesting advanced field that you’ll probably end up using is the “Email” one. At first view it’s a standard text field, but the difference is that with this one, you won’t have to add your own method of email address format validation yourself — Gravity has that built in. And the same idea with the advanced “Phone” field; no need to worry about people entering words in that field, cause Gravity will only allow numbers in it if you want it to.
Even more advanced fields are available in “Post Fields” (which can be used to give your site visitors the ability to create post drafts in WordPress) and “Pricing Fields” (that allows you to calculate pricing for selling goods). All in all, the various field types will ensure that the form entries you receive are all properly formatted.
Once you got all your form fields set up in the form, it’s time to change some settings. Each field has their own settings, which ranges from anything you’re probably used to (label name, whether it’s required to submit the form, input masking, max number of characters, etc.) to some more fancy features. This includes the option to make fields able to be populated dynamically or (and this is one of the best parts of Gravity Forms) using conditional logic: make any field show or hide when any other field in the form matches some rules. Who knows, you might not want to show a certain field if earlier on in the form, the email address entered is fake (for example, by checking for @test.com). Very powerful stuff there.
Then once you’re done setting up all your fields, more customization options are waiting for you. These options aren’t all too special, and deal with what you’d expect from form options. Things like the look and feel — how will the fields, its labels and descriptions be placed, should the submit button be an actual button or an image (and here you can also add some conditions for when it will show, based on what the user enters in previous fields), whether or not the user has to be logged in to enter, or if someone can enter more than once…lots of options that deal with the workflow (or UX, if you will) of form entry processes.
The last part of the form creation involves what happens after submission. While all entries are stored in the database (and are easily accessible through the WordPress admin), it’s optional to also send an email that contains the form entries. Most of the customization here is about the contents and formatting of that notification email, and where it should be sent to. This can also be conditional, so based on whatever the user entered in the form, the notification can be sent to various pre-defined email addresses. (If, at any point, you’d like to collect all entries that you’ve received so far, it’s a piece of cake to export them all into a CSV file.)
So while it may sound like a lot of work to actually set up and configure a form, most of it is very intuitive and does not require too much special attention. Most of the default settings are sufficient anyway, so you might not even want or need additional customization.
The final step is, of course, adding the form to a post or a page. That couldn’t be easier; the post/page editor has an “Add Form” button that you can use with a few options, so no hassle with figuring out the proper shortcodes and all. Press button, check some boxes, publish page, done!
So how is the markup once the form is embedded in your site? All fields (and their labels) are placed in an unordered list. Personally I prefer the good old fieldset element, but for semantic purposes, it’s all very proper and makes it as easy to style as you could wish for.
And that’s not it. Beyond this, you can integrate your form with third party services fairly easily, such as ReCaptcha, MailChimp, Paypal, Dropbox, Salesforce….the list is endless.
All in all, it’s clear to see why Gravity Forms is so immensely popular. The customization options are countless, and I can’t think of anything you’d want in a form that this plugin doesn’t offer. Of course, that large amount of options might overwhelm new users, but the learning curve is far from steep.
It’s now up to Formidable to convince a long-time Gravity user (such as myself) that it’s worth switching.
After activating Formidable and going through the Global Settings screen, you’ll see that there are a few settings that Gravity doesn’t have, most notably the ability to easily edit the error messages a form could display (“This field can not be blank“, and the likes). In Gravity this is editable as well, but not in such an obvious spot as with Formidable.
When creating a new form, you get the choice to use an existing template, or start from scratch.
Adding fields works in the same way as it does with Gravity: select a field type to add it to your form, and edit some of its settings. The free version lets you add a very limited set of fields (text, radio, checkbox, etc), but with the pro version you get all the advanced, pre-defined ones as well (email, phone, upload, etc.)
Your form settings include many options — the most interesting being “Customize HTML“, where the markup for each individual field is being shown, giving you complete control over all the code in the entire form. Prefer fieldset over divs? No problem. Want to add an id or class to any specific label or field? Easy to do. Add some tag to the error message that may appear above/next to/under the field? Go ahead. You’re not bound to the default markup and you can simplify or complicate your code as much as you like. As a front-end developer, this is definitely my favorite feature of this plugin.
Once you’re done with that, adding a form to your page is just as easy as with Gravity and simply involves clicking a button in your editing screen.
A nice feature is that you can create templates from your forms (and in turn, create forms based on saved templates). Create a form and save it as a template is all you need to do. If you want to create another form that is based on that template, you just need to load the template and you can use that as a starting point.
Another big plus that Formidable has, is integrated graphic reports. Whereas Gravity gives you the option to export entries into a CSV file, Formidable can show some graphic charts based on entries instantly in the admin, or even right on your site. Incredibly handy when you use a form as a survey or poll.
In general, compared to Gravity, I felt that Formidable’s interface is a little less organized or clean, and the conditional logic (determining a form’s functionality or actions based on what’s being entered) is missing at first glance. But, the ability to quickly edit the HTML markup and displaying collected data in graphics and tables definitely makes up for it.
A worthy opponent…?http://www.youtube.com/watch?v=IhiKv0yBtoE
The basic functionality of setting up a form is once again well done; you can add regular fields to your form or more advanced one. It definitely looks like this is the norm for all form builders now, so all three plugins pretty much score the same amounts of points there.
However, when setting up a new form in Ninja, you may feel that the interface is a bit more overwhelming or confusing than the other two. At times, you are confronted with an options screen that you’re not sure what to do with (and often, you just want to keep the defaults), and other times, you can’t find a basic thing until after you’ve done a little bit of digging. Out of the box, I did not even see a way to add a basic radio button field to my form (see image), or a field with multiple checkboxes. The functionality is there — it’s just that I would expect it to be available and clearly visible right away (adding a radio button involved adding a “List” input, then opening the options to make it a radio field, then adding various options). Having so many options in one single field makes things look somewhat more complex than necessary, in my opinion.
When viewing the form submissions, the interface is also a little different. An entry is not shown in a grid-based layout, but as an actual form with the entries filled in. That looked a little strange at first.
Since Ninja Forms is free, functionality is somewhat basic. To expand on that, plenty of paid add-ons are available. Not just to connect to third party services (Paypal, MailChimp, etc.), but very much to add to the plugin’s basic features. And that’s where Ninja’s value really appears. The option to use conditional logic and to edit your forms on the front end are the two features that transform Ninja from average to great, and these are done a little better than Gravity and Formidable. This could be a disadvantage; people might not see past the free version and it’s limited options, and abandon the plugin before they’ve actually tried the various addons. Sort of like a great movie that has a mediocre trailer, if you will.
After playing around with it for a while, I found that creating a form in Ninja is getting easier/more intuitive than things look at first glance. It takes a little time to get used to it (just a bit more than with the other two) and that may be stopping people from checking it out further and then discover the true worth. At times, I was wondering if maybe my copy of the plugin was broken, or if it was maybe not compatible with my current WordPress version…not something you want to worry about, but I did feel there was something “wrong”. A second view made me realize it was just a little different than what I expected.
Another part where Ninja stands out, is the form markup: quite clean and non-intrusive. A form without any additional styling blends in quite well with your site, or your theme.
Overall, the free version of Ninja can not compete with the other two plugins. But with some extra addons, it’s definitely getting there. And, of course, Ninja is the only plugin of the three that at least has a free version. Not the most useful one ever, but that’s more than nothing and that means you can at least try it and get used to it before you move on and add some addon functionality.
All three plugins give you the same basic functionality: you can use them to create a form by picking and choosing some fields, sort them (they all use drag and drop), customize a little bit here and there, and view the all entries and submissions in the WordPress admin as well as having them emailed to you. The differences are clearly in all the additional features.
It’s very possible (or perhaps likely) that some of the features I’ve listed for particular plugins are also available in the other two. However, if they are, I did not spot them at first glance. That’s essential; if a feature is (too) hard to find and doesn’t stand out immediately, it will be overlooked by a number of users. Anything that would make a plugin stand out compared to others, should be visible right away, because that’s usually the greatest selling point.
As said before, it’s clear why Gravity Forms is this popular. It’s easy to use, it has numerous additional features you might be interested in, and it just works. If you’ve been using it for a while, the old saying “if it ain’t broke, don’t fix it” will probably apply. But don’t take our word for it – it’s definitely worth to check out Formidable at least once, because it’s a very worthy alternative. For developers, customizing the HTML right in the WP admin is a very welcome feature and the graphic representation of collected form data can be a very helpful tool. Both these plugins have a very solid foundation and whether you prefer one or the other, will primarily depend on your personal needs. For that reason, give both of them a try.
Ninja is the odd one out; the free version may not be that interesting right away, but gets better once you add some extra functionality. The result is that when it comes to functionality, all three plugins basically have the same value, and then it comes down to the details. Perhaps I’m too used to Gravity, but Ninja’s interface put me off a little bit and seems to take longer to get used to than Formidable. Whereas Formidable seems like it’s right up there with Gravity, for Ninja it looks more like a “maybe you will like it, maybe you won’t” situation. But that’s where the free version is the perfect way to find out.
If you enjoyed this post, make sure to subscribe to WP Mayor’s RSS feed.