The forms widget inside Elementor is very cool indeed and is great for creating nicely styled simple contact forms but the chances are you’ll find yourself hitting the buffers of its capabilities quite soon and asking questions like “How do you make certain fields conditional?” and “Can I send emails to different people depending on a field value?” and the answer is NO, not at the time of writing, although who knows what the Elementor developers will do in the future? Our guess is that they’ll leave the forms widget in its basic form and rely on third party plugins to add functionality as they do right now.
There’s a bigger potential problem. If you use Elementor’s form widget out of the box then it’s going to rely on something called PHPMailer to send outgoing emails – this is an in-built function of WordPress and it’s a notoriously unreliable way of sending email and, even if by some miracle your contact form notification email does get sent to you, the likelihood is most email clients are going to regard it as spam because as far as it’s concerned, its come from an unvalidated source.
Before too long you’re going to want to fix that problem, otherwise you could be losing out on valuable enquiries from your website so, the solution is that you install what’s known as an SMTP plugin. This allows you to create an alternative mail delivery mechanism; one which is tied to a real-life email address like email@example.com and they work really well.
Next though you’re going to want more from a form – maybe you want to make certain fields conditional – that is, let’s say you have a drop down field “Department” and the options are “Sales” and “Technical Support”. If someone selects “Sales” you want to the email notification to go to one person and if “Technical Support” go to another. Maybe you’d like to do some calculations in a form or have a pdf document delivered to the enquirer on completion of the form. There are a myriad of things you might want to do, none of which you can do with the built-in Elementor widget. To change that, you’re going to need to add a third-party contact forms plugin of which there are many but, amongst the most popular are Ninja forms, Contact form 7 and Gravity Forms. All of these have a free version but to get to the fun stuff, you’re probably going to need a the premium version at a cost – sometimes quite a high cost – to make your form really useful.
Another function you’re going to need sooner rather than later, is the ability to store the details of anyone using your contact form – there’s a plugin for that!
Now, what about GDPR compliance? If anyone based in any EU member state is likely to use your contact form, you need to be GDPR compliant and is the US you may need HIPAA compliance. For GDPR you’re going to need to consider where the data is stored and have a process whereby anyone can request to know what data you hold about them. There are plugins for that!
Through all of this, you’re adding more and more plugins to your WordPress installation – those are plugins that can slow down your website and plugins that are going to need updating, plugins that need paying for, plugins which may cause incompatibilities with others plugins and/or themes and plugins that may represent a risk to site security in the future. That’s the price you pay for enhanced forms functionality.
If all of those solutions to add enhanced functionality to forms sounds good to you, go ahead and install those plugins – thousands and thousands of people do but, first, let me propose a different way of doing things – it’s pretty radical so, are you ready?
ok, good. So the proposition is to use an off-server forms creator and simply embed the forms into your website using basic HTML code. Why? Well, there are many reasons but the most important are:-
- Resilience – your valuable contact data is stored off-server so if you move host, get hacked or some other tragedy befalls your website, that valuable contact data is safe.
- Built-in enhanced functionality such as conditional fields, security, field math and even simple payment forms are easily created.
- Email notification is reliable.
- Compliance – GDPR and HIPAA is often an option.
- File uploads which don’t use-up your server space.
- File downloads based on certain criteria.
- Totally themeable to match your website.