How to send your html form to Google Sheets for free
Google forms are great. They are easy to create, free, support a wide range of fields, are easy to embed and responses can be stored in a Google Sheet without any setup hassles. But what can you do when you want your form to look like the rest of your website and not like a Google Form? What if you want to do your own validation and host the form on your site? How can you still collect the form submissions in a Google Sheet without having to pay?
Another option is to find an alternative forms design site, a competitor to Google Forms. While there are plenty of these services most of them work like Google Forms. They usually don’t let you create your own forms or host them on your own website. Like Google Forms, these services often let you use iFrames or something similar so you can make it seem like the form is hosted by you, but the experience is generally not quite the same as hosting it yourself and the look and feel customisation options tend to be restricted.
A third option is to use a service that specifically caters for the submission of custom, self-hosted html forms to Google Sheets. I found a few sites that provide this service and decided to give them a test run. I was looking for a way that I could host my own form and have complete control over how it works and looks. I also wanted the integration with the forms engine to be super simple and easy to implement. Lastly, I did not want to pay anything and wanted all of this for free.
Unfortunately, I did not find such a service and all the sites I did find disappointed me in some way. While most of them have a free tier, this tier always comes with limitations. Some restrict the number of forms you can use, others the number of submissions they allow. Some direct the website visitors to their own site after a form submission and none of them caters for file uploads. All of them require you to sign up and getting started is often way more complex than it should be. Some of them don’t even link your form straight to a Google Sheet, but use third party integration specialists, like Zapier, to submit forms to Google sheets, which forces you to sign up to the third party and configure another integration there.
This is how I decided to build a forms service that gives users everything I was looking for. The idea was to create a service that
- Stores form submissions in Google Sheets
- Is completely free to use
- Is super easy to set up / get started
- Supports all HTML form fields — including files
- Allows website designers and builders complete freedom in creating any form they wish
I called it Form2Channel (https://form2channel.com) and I am launching it today. All you need to do to start using it is to
- Point your form action property at https://form2channel.com
<form action=”https://form2channel.com" method=”POST”>
- Add a hidden tag with the sheet editor email
<input type=”hidden” name=”formto_googlesheets” value=”firstname.lastname@example.org”>
When site visitors submit the form you will get a link to the sheet via email. That’s all. In the background, is a simple PHP script that collects the form fields and submits them to a REST API. That API adds the responses to the Google Sheet and sends the link to the email in the hidden tag. Here is the documentation for Form2Channel.
You can add multiple forms to a website and multiple recipients to a form. You can create your form any way you like and use any form field HTML supports, including files. You can send your forms to Google Sheets and also via Email, Slack or Telegram. You can create your own thank you page and your visitors will never have to know you are even using Form2Channel. You get all of this for free and you don’t even have to sign up with Form2Channel to use it.
Here is a quick review of some other services that let build and host your own form and cater for submissions to end up in a Google Sheet
- Sheetmonkey.io (https://sheetmonkey.io)
This is a specialist in submissions to Google Sheets and their platform is full of well-documented features. Their free tier has a decent 5 forms and 500 submissions limit and they provide simple submissions counters on their platform.
However, free tier users are not notified of form submissions when they occur and they don’t offer submissions to other channels on free accounts. So, you will need to remember to log into your sheet on occasion to check for new entries yourself. If response time is important to you, this may become somewhat cumbersome.
- Usebasin.com (https://usebasin.com)
The free tier on this Service only allows for 1 form and it also uses integrations with Zapier or Integromat to submit forms to Google Sheets. The third-party integration makes the setup more complex, because you also need an account at the integration partner and configure the integration to get your form to end up in Google Sheets. You can export all submissions to Excel or CSV and they provide analytics for each form with submission rate and unique submission reports. You can also set up multiple notification emails per form.
However, there are some confusing limitations on the free tier. Every form must contain an email field and the address added there is used to de-duplicate submissions. The reason for this limitation is difficult to understand and it makes the forms inbox somewhat confusing. You will also have to live with the standard usebasin thank you page, which can feel a bit like you are showing your visitors an advert.
- Formspree.io (https://formspree.io)
This platform allows for unlimited forms on the free tier, notifications to two separate email addresses and form submissions are stored on the platform for 30 days. It also has a rich feature set and caters for submissions to Trello, Stripe, Discord and Slack on their free tier. The platform further comes with a set of templates that make setting up forms quick and easy.
Disappointingly, an integration with Google Sheets is only available on one of the three paid tiers which start at $10/month and for some reason drop you back to only 10 forms. A custom thank you page also only comes with a paid tier, leaving you to advertise this platform to each visitor who decides to submit a form on your site.
- Formcarry.com (https://formcarry.com)
Next to notifying an email address of a new submission, this service also allows for the setup of a webhook per form as an additional integration point. This essentially acts as an additional http channel and can be used to integrate the platform with other systems and API’s. Another special feature of this platform is that they provide the raw form submissions in Json via an API call.
However, the platform also provides the Google Sheets integration only via Zapier and I found the setup somewhat complex and confusing. The free tier limit of 1 form and 100 submissions compares well with those of the other platforms, but for a custom thank you page a paid account is again needed.
- Formkeep.com (https://formkeep.com)
The management application for this platform is possibly the most extensive of all the services reviewed there, but at the same time it is also the hardest and most confusing to use. When setting up forms it is frustrating to discover that few of the features the platform provides are available to free tier users. Unfortunately that includes the Google Sheets integration as well as the integration with all other channels on offer. The free tier limit of 50 submissions per month is on the lower end of all offerings, form submissions are only being stored on the platform for a limited time and there is no custom thank you page.
On the plus side, the platform boasts a visual form builder and for paid accounts there seems to be a wide set of features available that include email campaigns, custom replies and a decent set of integrations.
- Form2Sheet (https://form2sheet.com)
This site specialises only in form submissions to Google Sheets and their “no frills” service seems incredibly simple and easy to set up. Their free tier does, however, only allow for 1 form with 4 predefined fields, sends only branded emails and does not cater for a custom thank you page. There is no documentation either, leaving users to find out for themselves what to name their fields and that those names are case-sensitive.
Here is the raw data I used to compile this article
Have I missed a service? Should I have mentioned another feature? Let me know in the comments.