Podcast

Forms fail silently. We built a fix.

What happens when your website’s contact or lead gen form stops working, and you don’t even realize it?

In this episode, Solspace founder Mitchell Kimbrough sits down with Head of Product Kelsey Martens to talk about Form Monitor, a new Freeform Pro feature designed to catch invisible form failures before they cost you money.

You’ll hear how a single broken form cost one business owner thousands in lost business, and why even enterprise brands with 100,000+ employees aren’t immune. They break down the complexity of form submissions, from email deliverability to spam protection, and explain why a fully integrated monitoring solution was the only answer.

If your business depends on website lead gen, you won’t want to miss this one.

Full Transcript

[Music] Welcome to the Solspace Podcast. Thanks for listening.

Mitchell: Hi-dee-ho.

Yeah, that's just for you, Kelsey. So welcome back to the Solspace Podcast. I usually say welcome back, everybody, but today it's hi-dee-ho because Kelsey Martens is on the podcast.

Kelsey's in charge of product at Solspace. So if you've bought Freeform or Calendar and you've submitted a support request, you've definitely contacted and interacted with Kelsey. And that's been the case for many years.

Kelsey, just take a minute to thank you for being such a valued member of the team all these years. It's been great and it's still going.

Kelsey: Thank you.

It's been enjoyable.

Mitchell: I hope so. Today's episode is about Form Monitor.

So this is a new product and service that Solspace has recently soft-launched. Form Monitor does the job of alerting developers and website owners when something's wrong with one or more of the forms on their website, contact form, lead gen form, that kind of thing. The reason this is a new service, the reason that we invested time and money in building something new instead of using some stuff that already exists, is once you get into the problem, you realize that it's actually more complicated than it seems.

But let me first introduce it with a story. So Kelsey, this idea came about in part because of an interaction that you had with one of your clients. You do some freelance work on the side sometimes.

And you had a client who had a problem with their contact form. Could you maybe say a little bit about that? That sets really the main characters in the conflict of the story in a good way.

Kelsey: Yeah, the client was an arborist. And I guess around the springtime, it was becoming a busy season for them. And a week or so goes by and they say, hey, we're not getting any leads, not getting any emails.

So they contact me and sure enough, their form stopped working. It wasn't actually anything that Freeform was doing wrong, but their email configuration was not working correctly. And during that process, they had missed probably I think it was four or five leads, many of which were thousands of dollars in business that they would have received.

They took too long, obviously, because they didn't see the quote requests and the customers chose a different service.

Mitchell: Yeah, so they lost business, they lost real money. And the worst part of the problem was the invisibility. Like they didn't notice until they started to pay attention to, hey, wait, usually we're getting emails to get to work and write bids and stuff.

What's going on? Takes a while to even realize it. And once you realize it, it takes a while to troubleshoot it and track it down.

Fortunately, they were using Freeform. So there was a backup of the submissions, but it was too late, didn't matter. We had seen this with a number of other clients and the fact of the matter is these forms on websites are not simple.

Even the simplest contact form, name, email, message, even the simplest ones of those still have many moving pieces. If a business becomes, it gets to a point where they rely on the email notifications, just one simple example, on the email notifications as their cue that they have a lead. They don't necessarily log into the website to verify or cross-check or see if there's any leads they missed or anything.

They just assume the email is going to work. After a while, you just hope for the best. That means a loss of business.

Now, for an arborist in a kind of a regional business like that, it's thousands of dollars, but it's real money. We've had similar problems on enterprise client websites, global brands, 100,000 employees. They notice in a few minutes, but even that's too long.

If they notice in somewhere under an hour, they've still missed out on potentially a million dollar opportunity. Maybe they catch that and they contact that lead and they make amends and fix the problem, but still it's concerning when they don't have a frictionless system. The job of Form Monitor is to solve this.

In a number of different ways, a website form can break down. First of all, the developer or the hosting service provider, anybody along the chain can do something that just prevents the form from loading or the website from loading. You can use uptime monitor and stuff to catch that, but then after that, maybe the form loads, but it doesn't load properly or you can't see correctly in the browser.

You don't necessarily have a system that checks for that. Form Monitor goes to the website, make sure that it can find the form, access it, load it, and then the form can prevent submissions in a variety of different ways. You might have a captcha, you might have honeypot, you might have some spam prevention.

The submit button may be broken, there may be something broken in the required fields that's not properly alerted to the user, so they can't submit it, but they don't know why and they give up a lead. So all that has to be tested and it has to be tested every day throughout the day. Those submissions also need to generate email notifications, so Form Monitor also tests those.

We verify that emails are being sent out from the website, from the server, and from the content management system in the form software, that the emails are going out and that they're being received in an inbox somewhere, and that's part of Form Monitor's magic. So all through that chain, any point along that way that the form breaks or the system breaks, you lose business, you lose money, you lose a lead. So Kelsey, there's other tools out there that do this.

Our first idea was to just build a JavaScript-based service. You drop the JavaScript snippet into the page, it checks your form and makes sure that everything's okay, but we realized we couldn't do that. Maybe you could talk a little bit about technically why we had to build a fully integrated service to tie into the forms.

Kelsey: Yeah, I guess because we needed something that was going to be external where we would have control over it and it wouldn't fail based on the site failing or some configuration failing. So by being an external service, we can come in and test things as it is and report back. The same way you would have status pages for common services, they have them usually on a different domain or whatever, because if the main domain goes down, then you can't even see that stuff.

So this will allow real-time testing and notifications to the user. If it was based or built right into Freeform directly, if the email server isn't working, then the email server can't send a notification to you. So then that's why our independent server will handle that.

Mitchell: Yeah, the reason we couldn't just build a JavaScript-based service that could test any form, not just Freeform, is these days all form handling software, whether it's Freeform on Craft or some of the WordPress tools or whatever, they all have built-in spam prevention, Captcha, Honeypot. They have all these different safeguards to prevent bots and so forth from submitting. Form Monitor has to be able to get through those tests.

It's an automated system. It's always running. It can test your forms every five minutes, every minute, every 30 seconds, whatever you set up.

But it needs to be able to get through those filters. In order for that to happen, the form processing software itself needs to know about Form Monitor, and it needs to know that a submission is a valid Form Monitor submission to allow it through those filters. That required an integration that other tools don't have.

So that's part of the novelty, some of the solution that we bring with Form Monitor. That's all up and running. Now, what kind of alerts in Form Monitor do developers and website owners get if a form goes offline for some reason?

Can you talk about that, Kelsey?

Kelsey: Yeah. Basically, this is something we're always going to be expanding upon. But currently, what Form Monitor will do is it'll go in and attempt to view the page that you've provided where the form is located, and it'll attempt to load the page and find the form and submit it.

If, for example, the server was inaccessible, then it would let you know that it received that particular error, whether it's a 404 or something like that. If the form wasn't visible on the page, or it couldn't find it or whatever, it will then let you know that it's unable to locate the form. If the form has some sort of field validation situation where Form Monitor hasn't accounted for that, there's always going to be edge cases, it'll let you know about that as well.

And it'll also let you know if it doesn't receive any email tests as well. Technically, it will know that you have email notifications configured for the form. And if it does not receive an email from your Craft installs email configuration, it'll wait, I think it's five or 10 minutes, it'll wait.

And if it does not receive that, it'll also alert you of that. And other things like maybe it's a slow submit, maybe it's taking more than five seconds to submit the form. So those are some of the common ones that we have configured.

It also takes a screenshot before it finishes the submit of the form and after it submits it. So you'll sort of see proof of what it's entering into your form and potentially any error messages. It'll sort of make it a lot more obvious to see what went wrong.

And then of course, the success of the form if it was successful.

Mitchell: If Form Monitor is going to test my forms on my website, like every five minutes, all day, for months, I mean, isn't that going to overload my database? I'm going to have a bunch of submissions in there that are just like tests. I don't really want to want to deal with them.

Kelsey: Right. So what Freeform does is it has a Craft job that is queued up and it will clean out routinely. It'll clean out all of the test submissions that Form Monitor makes.

Now, I should also note that the tests that Form Monitor makes are invisible. They do not trigger email notifications to you or your clients. They do not show up in the control panel or exports or anything like that.

They're all invisible. They're flagged as a Form Monitor test and they're separate from the rest of your real form submissions. And then like I said, there's a routine job that cleans them out every several hours.

Mitchell: Okay. How is it possible that Form Monitor is testing that the emails are working? You know, so it's testing to make sure that the website and Craft and Freeform itself is capable of sending emails, but how does it know?

Kelsey: It's a little bit limited at this point. We do plan on improving this in the future as well, but right now it's almost like the equivalent of sending a test notification through the Craft email configuration page, or you hit the test and it shows you that it's working. It's not exactly like that, but what will happen is it'll look at your notification configuration in Freeform and it'll say, oh, there's supposed to be one notification going to the user, one notification going to the admin, or maybe it's two to the admin or whatever.

And it knows that it should be sending sort of like three dummy email notifications in this case. And it actually will then send these test notifications back to the Form Monitor server to verify that it actually receives them. So that's how it knows that the email server is working and that generally speaking, the form notification template is working and stuff like that.

Mitchell: One of the objections that we dealt with when we were first conceiving of this was imagining that web developers coming to their client saying, I'd like to install Form Monitor, it's part of Freeform on Craft, something we're already using for you. It has an additional layer of reliability protection and I'd like to turn it on and want to monitor the site and make sure the forms are working correctly. Our concern was that website owners would come back to their web developer and say, well, don't you know how to do your job right in the first place?

Like if you get the form built correctly, you're not going to need this monitoring service. Should I worry about you? Like if you need special handling to make sure you got your job done right, how do we answer that?

Kelsey: I think honestly, especially doing support work for the past couple of decades, probably the vast majority of form fail or email notification failure issues are related to either server configuration or user error in terms of maybe the email notification template was loading a handle of first name and last name in Twig and maybe someone updates the form later on just to be a single field that contains the full name and now you go to send notification and it fails because the field handles are changed if you're hard coding anything like that in there. Those are some very common issues that happen. So obviously if there happens to be a Freeform issue, a bug in Freeform, Form Monitor will likely be able to help catch that as well.

But it's not even just that, it's many times it's some sort of configuration issue.

Mitchell: We recently had one of our clients uses a plugin on their Craft website. It's not a Solspace plugin, it's another reputable developers plugin. That client's website's version of the plugin was pretty far behind.

It needed to be updated. There were security patches that we needed to pick up for that client. So locally we upgraded, we tested locally, put it up on staging, tested on staging, looked okay, we deployed that to production.

Under production conditions, the plugin failed in a very special edge case that actually mattered quite a bit to the business. We couldn't catch it. There was no practical way for us to catch it in local testing or in staging testing because we could not replicate the full production sort of permutations of conditions that came together to make that bug appear.

And that's really what we're talking about here is these websites are complicated. Reliability is the essential component you need to be thinking about with websites, but to achieve that you got to get a whole bunch of stuff right all at the same time. And if you make a change to that complicated machine somewhere else in the infrastructure, it has ripple effects sometimes.

You're only human and the person who built it that you took it over from, they're only human. So you can't necessarily see everything, but what you can do is set up a monitoring service to catch mistakes. And that's the point of Form Monitor.

Form Monitor is like, oh you're a crummy developer, now you need a monitoring system to make sure. No. Form Monitor says human beings are human beings.

AI is not running the internet yet. Until it does, we're going to need tools to catch our mistakes and to run outside and separately and independently to be in a position to catch those mistakes and catch the stuff that matters. You know, these uptime monitor tools, Pingdom, all that kind of stuff, that's great to make sure the website's online.

That's important. It really, really matters that the lead gen form where your customers are going to say, yes, I'd like to do business with you. Here's my contact information.

Holler at me. I'm ready to buy. That is what matters.

And that's what Form Monitor deals with. So that's our answer to that objection of, hey, why do I even need this if I do my job right? Well, you're probably going to do your job right and also be a human, and you're going to make a mistake two years from now, and you're going to break that contact form in some way that you didn't imagine was possible, and now you're losing money.

So Solspace is there to help catch that before it gets really bad.

Kelsey: Yeah, and you could also argue that for the Form Monitoring service to correctly work, it has to also be able to access your website too. So it kind of has a bit of overlap.

Mitchell: Yeah, it's overlap. Yeah. So, if people are interested in trying this out, getting a feel for what it's like, what's involved, what they need to do?

Kelsey: So the first thing is it will only work on Freeform 5.11 and up, and it will only work for Freeform Pro licenses. So if you're using Freeform Lite or Express, you can update, switch your license for the difference in price if you want to try that out. You also need to be using a publicly accessible website, of course, because Form Monitor cannot access your local dev machine.

So in terms of actually configuring it, setting it up, all you need to do is go to the integrations area of the Freeform control panel, and there is a integration for Form Monitor. You just toggle it on, enabled. It's going to pre-fill out the website name and email address, and you hit save.

It'll connect and verify your site, and then you can hop over to the forms and enable that integration like you would any other integration, and tell it a URL where that form is located, and it's saved. And then Form Monitor does the rest. It'll routinely check that URL that you provide.

It knows which form to look for, and it knows how the form is configured and what to fill in and give it a test, and then it'll notify you. It'll also notify you when the form is set up successfully as well or if it's unsuccessful. So you won't just be wondering if it's working or not.

It'll let you know if it is successful or not by email and visually in the new monitoring tab in the form builder.

Mitchell: How much does it cost?

Kelsey: So right now we're in beta.

It's free to anyone with a valid pro license, and it will test up to three forms three times a day. And in the future, we plan to expand upon this and maybe offer different options to configure it, but right now we're just in beta, and we're looking to see how things go here.

Mitchell: Do we have any customers yet?

Kelsey: We are running this on several internal client sites, probably about a dozen there, and yeah, we've had a handful of very early adopters, and we're seeing more and more customers signing up.

Mitchell: Well, I'm glad this exists because I've needed it over and over again for so many clients over the years, and it dovetails really cleanly into one of the most important strategies that Solspace has, which is to focus websites on reliability, focus teams on reliability, make sure that clients are thinking about reliability. So having a monitoring tool that can reinforce the importance of that and really support that effort is exciting to me personally because it meets our mission, and I'm hoping that it's useful for others. So this is on Freeform on Craft.

Is it going to expand beyond that? I mean, we've talked a little bit about it. We're going to get out of beta and see what kind of traction we get within the Craft Freeform community, but beyond that, can it be integrated into other form tools and other platforms?

Kelsey: Well, as we figured out in a lot of our testing and trial and error, it's a very complex thing to account for to test forms, and that's probably why it doesn't seem like anyone else is doing this, but it requires the form plugin to be aware that Form Monitor exists and account for some special handling situations. So it is possible for us to expand beyond freeform for Craft, but it also requires some partnerships or setups to be formed here.

Mitchell: Yeah. Okay, good. I think that's a pretty good summary, Kelsey.

Thanks for jumping on the podcast with me and talking about Form Monitor. We're going to continue to talk about it.

Kelsey: I just want to mention one other probably an important thing. Probably there's going to be people that think, well, what kind of data are they getting access to? Do they get access to all my submission data and all that?

Basically, we have taken every possible effort to ensure that we're collecting as minimal information as we need. We're essentially, I'm trying to look at the list here, like we capture odds and ends of things like the email addresses that you provide, so we can obviously notify you. We're capturing the website URLs that you're providing, time zones, and stuff like that, but we are not intercepting any of your submissions or any of your email notifications that happen routinely.

Form Monitor only ever has access to just the URL that is already publicly available that you've provided. It fills out the form, it gets a notification from that, and that's it. It's not capturing anything else.

It's essentially useless data that it's collecting. It's obviously useful for a Form Monitor, but beyond that, it's not collecting anything else.

Mitchell: Yeah, it's not hovering there snooping and hoovering up information from your legitimate form submissions, and that can be verified. Anybody wants to go and look at the code, just open it up, take a look.

Kelsey: Yeah, and the other thing is we also wanted to make sure that you are in control of your data. Every customer has full control to remove any or every single test and screenshot from inside the form builder. They can deactivate their account, remove data from forms.

They can entirely, with one click, delete their entire account and all of their monitoring history and all that. If at any point, for any reason, you wish to have that stuff removed, remove your account, disable that, you can do that with just a couple of clicks. It's all self-service.

You don't need to deal with anything complicated to remove it.

Mitchell: Nice, good. That's a requirement in quite a few places in the world, so yeah, good we have that. Anything else, Kelsey?

Kelsey: I think that's all we have for now. We're planning on more improvements to it, so we'll have more features to announce in the coming months, but for now, that should be a good summary.

Mitchell: Yeah, it's good. All right, thank you, sir.

Kelsey: Thank you.

Mitchell: All right, we'll talk to everybody next time.

[Music] You've been listening to the Solspace Podcast.