Contact Forms in WordPress

Websites should provide an interactive experience for the user, and one of the most simple forms of interaction is the humble contact form. When you install WordPress on your server, it even comes with a form builder plug in built right in. But forms can do so much more than just send a message with a subject line and email address. These forms can be used to create custom orders, provide feedback, and even dynamically change the user experience. 

There are a number of plug ins available and I have spent hours going through and trying different plug ins for different applications. This article is to help you avoid my fate. Here are my thoughts on the three most popular forms plug ins… 

Gravity Forms

This paid software starts at $59/year, but boasts a number of key extensions. It has a clean user interface and reasonably prompt customer service.

Ninja Forms

This free software has an impressive user interface built for those without much, if any, coding experience. It is simple and easy to use

Contact Forms 7

The most popular, thanks to it’s automatic download with WordPress, this free tool is surprisingly flexible but it lacks an easy user interface.

Gravity Forms

I was introduced to Gravity Forms when I needed an order form that automatically calculated prices and then charged that price to the WooCommerce shopping cart on the website I was  building. It is the only form software I have found that has this type of extension (albeit at an additional $99/year) For nearly $160 annually, I was ready to be impressed. 

I was not impressed.

Their customer service has been generally okay, and much of what you pay for with this type of software license. Issues generally took a day or two to be resolved. They have no phone line, or chat service, which is disappointing, but not uncommon. 

My biggest complaint was how limited it was. Gravity forms does have conditional logic, but only certain fields can be variables, and they can only be used in certain ways. Calculations are allowed, but only in certain cases, and conditional logic can never be applied according to the results of the calculation. Also, if you add a priced field, the price it over-writes the value of each option. There is no way to say, calculate the quantity of items ordered as well as the total price. 

The interface is well done, and if you aren’t a computer person I can see the appeal, but as you will see below, there are free plugins that will probably serve you just as well. Also, if you have to take payments through a WooCommerce store, you might not have a choice. Still, if you can be convinced to use a stand alone payment service (like PayPal which has free extensions for all sorts of forms), I would definitely go that direction. 


Best for less experienced developers who need something with a few more features than your basic form

Ninja Forms

Ninja Forms was my first WordPress form builder, and it made a great impression on me. They have a number of pre-built forms that are ready to go. For most new websites, I just plop the generic contact form right on the contact page and I am done. It looks professional and it is so easy. 

If I need some custom fields, their editor is simple to use. Especially for clients that what to maintain their own websites after my initial build, this form builder is what I usually leave them with.  The user interface is intuitive and clean, much like Gravity Forms. The advantage: this tool is FREE!

As a free tool, however, it doesn’t have features such as conditional logic, multi-page forms, or file uploads that come with a paid tool like Gravity Forms. To get those tools will cost around $50 EACH.  If you will need such features, you are better off just starting with a different form builder.


Best for amateur developers who only need a basic form

Contact Form 7

There is a reason that this is the most popular form builder in WordPress. It is simple, extendable, and quite flexible. It uses a text editor to write html form code and then creates an email sent to the website administrator with each entry. As you can imagine, this means that using Contact Form 7 does require a bit of basic html knowledge. By basic, I am talking about a high school level computer literacy class. It really isn’t too hard, and any website developer worth his snuff should have no problem using it. I even encourage my clients that want to manage their own website and are reasonably computer savvy to learn enough html to use this builder.

Contact Form 7 also has a number of very inexpensive extensions available. I recommend this bundle which is constantly being added to, ensuring that you have all the features you could want. It is a one time purchase, rather than a yearly bill like the above services, so it quickly pays for itself, and provides many more options than the other builders.

Because Contact Form 7 lacks the bells and whistles of the more graphic form builders, it is far more flexible. If you can think it, you can build it. You are not restricted to the pre-defined drop down menus and options checkboxes of Gravity Forms and Ninja Forms. For this reason, Contact Form 7 is my top pick. It is worth forgoing the interface to have granular control over your website. 


Best for those comfortable with website development who want maximum flexibility and customization.

Leave a Reply

Your email address will not be published. Required fields are marked *