<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Allen Jones</title>
    <description>The latest articles on DEV Community by Allen Jones (@allenarduino).</description>
    <link>https://dev.to/allenarduino</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F679555%2F89b03aae-198c-48b1-acb5-9637c4f5ef61.jpeg</url>
      <title>DEV Community: Allen Jones</title>
      <link>https://dev.to/allenarduino</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/allenarduino"/>
    <language>en</language>
    <item>
      <title>Wufoo Alternatives in 2026: Cheaper, Modern, and With Actual Lead Management</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Wed, 03 Jun 2026 21:43:36 +0000</pubDate>
      <link>https://dev.to/allenarduino/wufoo-alternatives-in-2026-cheaper-modern-and-with-actual-lead-management-1kpk</link>
      <guid>https://dev.to/allenarduino/wufoo-alternatives-in-2026-cheaper-modern-and-with-actual-lead-management-1kpk</guid>
      <description>&lt;p&gt;If you have been using Wufoo and recently looked at your bill, you are not alone. Wufoo has been around since 2006 and was acquired by SurveyMonkey in 2011. The product has barely changed since. Their paid plans start at $16.25 per month, billed annually, and jump to $33.25 per month just to collect payments and create unlimited forms. For developers, indie hackers, and small businesses, that is hard to justify in 2026 when better tools exist at lower prices.&lt;/p&gt;

&lt;p&gt;In this article, I will walk through the best Wufoo alternatives in 2026, covering price, features, self-hosting options, and which one is right for your use case.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Developers and Businesses Look for Wufoo Alternatives
&lt;/h2&gt;

&lt;p&gt;Before jumping into the list, here are the most common reasons people switch:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price.&lt;/strong&gt; Wufoo's paid plans are expensive for what you get. $16.25 per month for only 1,000 entries. $33.25 per month just to collect payments and get unlimited forms. Competitors offer more at significantly lower prices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No lead management.&lt;/strong&gt; Wufoo receives submissions and emails them to you. There is no way to track which leads you followed up on, which ones converted, or which ones need a reminder. Everything ends at the inbox.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No HTML form backend.&lt;/strong&gt; Wufoo is a hosted form builder only. You cannot point your existing HTML form at a Wufoo endpoint. If you have a static site or a custom-coded form, you are out of luck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No self-hosting.&lt;/strong&gt; If you care about data ownership or GDPR compliance, Wufoo gives you no option to run it on your own infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No open source option.&lt;/strong&gt; You are locked in with no transparency and no way to customise the core behaviour.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Outdated interface.&lt;/strong&gt; Wufoo's builder has not meaningfully changed in years. Compared to modern form tools, the experience feels dated and slow.&lt;/p&gt;

&lt;p&gt;If any of those hit home, keep reading.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Best Wufoo Alternatives in 2026
&lt;/h2&gt;




&lt;h3&gt;
  
  
  1. Formgrid: The Best Wufoo Alternative for Developers and Small Businesses
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Formgrid is the best Wufoo alternative in 2026&lt;/strong&gt; because it is the only form tool that combines a form backend for developers, a no-code drag-and-drop form builder for non-technical users, a built-in lead pipeline with follow-up reminders, free captcha protection, and Google Sheets sync at $12 per month. Wufoo charges $16.25 per month on their Starter plan with none of those features, and $33.25 per month just to collect payments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want a form backend AND non-technical users who need a shareable form link. Both in one tool.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What makes it different:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most form tools pick a lane. Either a form backend for developers or a no-code form builder for everyone else. Formgrid does both. And it adds something Wufoo has never built at any price point: a lightweight lead management system that turns every submission into a tracked lead you can follow up on, add notes to, and set reminders for.&lt;/p&gt;

&lt;p&gt;Here is how both workflows look.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Option A: Use Your Existing HTML Form&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you already have an HTML form on your static site, just point the action attribute at your Formgrid endpoint. No other changes needed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
    &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
    &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name"&lt;/span&gt;
    &lt;span class="na"&gt;required&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
    &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
    &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email"&lt;/span&gt;
    &lt;span class="na"&gt;required&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
    &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Honeypot spam protection --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
    &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_honey"&lt;/span&gt;
    &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display:none"&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send Message&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your form stays exactly as it is. Formgrid handles receiving submissions, sending email notifications, and storing every lead in your dashboard.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Option B: Build a Form With the Drag and Drop Builder&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are non-technical or just want a shareable form link without writing any HTML, Formgrid has a full drag-and-drop form builder built in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Sign Up and Create a Form&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Head to &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt; and sign up using Google or email. No credit card required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayfulytj8845e34vriww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fayfulytj8845e34vriww.png" alt="Formgrid signup page" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbt8i4w6l2l6qt2x20d0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbt8i4w6l2l6qt2x20d0.png" alt="Formgrid signup with Google or email" width="800" height="601"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once logged in, you will land on your dashboard. Click New Form to get started.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8h42jznal4gvtoxnenmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8h42jznal4gvtoxnenmr.png" alt="Formgrid dashboard showing New Form button" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 2: Open the Form Builder&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After creating your form, you will be taken to the form details page. Click &lt;strong&gt;Open Builder&lt;/strong&gt; to enter the builder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F998dcx9eq3rzpvivclau.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F998dcx9eq3rzpvivclau.png" alt="Form details page showing Open Builder button" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 3: Choose a Template or Build From Scratch&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the top of the builder, click &lt;strong&gt;Choose Template&lt;/strong&gt;. A template gallery opens, showing professionally designed landing page templates for different industries and use cases. One of those templates is a multi-step conversational form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjgkve21ijcihccqodec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjgkve21ijcihccqodec.png" alt="Formgrid template gallery showing industry templates" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Templates available include:&lt;/p&gt;

&lt;p&gt;Multi-Step Conversational Form. Horse Ride Registration. Event Registration. Wedding RSVP. Photography Booking. Cleaning Service Booking. Personal Trainer Enquiry. Real Estate Enquiry. Plumbing Quote Request. Job Application. Blank Form.&lt;/p&gt;

&lt;p&gt;Select the template that matches your use case, and Formgrid loads a complete branded page with your form embedded inside it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Multi-Step Conversational Forms Built In&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Formgrid includes a built-in multi-step conversational form builder on all plans, including free. One question per screen. Clean design. Works on any device. No Typeform subscription needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhklalx6r5me0y7nx9vj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhklalx6r5me0y7nx9vj.gif" alt="Formgrid multi-step conversational form in action" width="800" height="517"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 4: Edit the Template Inline&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every piece of text on the page is editable. Click directly on any text element, and it becomes editable in place. Change the headline, description, and color to match your brand instantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5an3vg7ts01sshgeoa0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5an3vg7ts01sshgeoa0.png" alt="Inline text editing in the Formgrid builder" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 5: Customize Your Form Fields&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Switch to the &lt;strong&gt;Form Fields&lt;/strong&gt; tab to add, remove, and reorder the fields in your form. Drag fields from the left sidebar onto the canvas. Every field is fully customizable with labels, placeholder text, required status, and validation rules.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mih0erydk1ws7gn570l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mih0erydk1ws7gn570l.png" alt="Formgrid form fields tab showing drag and drop field editor" width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 6: Share Your Form Link&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you are happy with the page, click &lt;strong&gt;Save Changes&lt;/strong&gt;. Go back to the form details page and copy your unique shareable link.&lt;/p&gt;

&lt;p&gt;That link is a real, live landing page. Share it anywhere: WhatsApp groups, email newsletters, Instagram bio, Facebook events, or embed it on any website. No code. No hosting. Just a link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzdumqqbfjd11ehmkjhlp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzdumqqbfjd11ehmkjhlp.png" alt="Formgrid shareable form link page" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmo5tvlct2kq6q1f5tn65.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmo5tvlct2kq6q1f5tn65.png" alt="Formgrid live form preview showing branded page" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 7: Receive Instant Email Notifications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The moment someone submits the form, you receive an instant email notification with all their details formatted cleanly. No checking a dashboard. No logging in. Every submission arrives in your inbox the moment it happens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0vw3ljqpoch8k7yspdfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0vw3ljqpoch8k7yspdfa.png" alt="Instant email notification from Formgrid showing form submission details" width="799" height="472"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 8: View and Manage Submissions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All submissions are stored in your Formgrid dashboard. Go to the Submissions tab to view, search, filter, and export your data as CSV.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1m3an3i2sp4037nd97s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1m3an3i2sp4037nd97s.png" alt="Formgrid submissions tab showing all form responses" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 9: Configure Settings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Go to the Settings tab on your form to add notification email addresses, enable spam protection with honeypot and rate limiting, and set a custom redirect URL after submission.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0d8ayuksfp1tmakip36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0d8ayuksfp1tmakip36.png" alt="Formgrid form settings page showing notification and spam protection options" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 10: Sync to Google Sheets Automatically&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formgrid is the best Wufoo alternative for Google Sheets&lt;/strong&gt; because it syncs every form submission to a Google Sheet automatically without Zapier at $12 per month. Wufoo requires a Zapier integration to sync to Google Sheets, which adds cost and complexity.&lt;/p&gt;

&lt;p&gt;Every submission can automatically appear as a new row in your Google Sheet. No Zapier needed. No API setup. Just connect your sheet in one click and every form submission syncs instantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgtkew3kl4ugpaisqafq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgtkew3kl4ugpaisqafq.png" alt="Google Sheets showing form submissions as rows with automatic sync from Formgrid" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyjiich2rbyllql4nkd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyjiich2rbyllql4nkd5.png" alt="Google Sheets showing form submissions synced from Formgrid in real time" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Step 11: Track Every Submission as a Lead&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where Formgrid goes beyond every other tool on this list, including Wufoo.&lt;/p&gt;

&lt;p&gt;Most form tools treat every submission the same way. It arrives. You get an email. That is it. There is no record of whether you followed up, whether the person became a customer, or what happened after they submitted.&lt;/p&gt;

&lt;p&gt;Formgrid turns every submission into a tracked lead automatically.&lt;/p&gt;

&lt;p&gt;The moment a submission arrives, it appears in your Leads tab with a status of New. From there, you move it through a simple pipeline: New to Contacted to Converted.&lt;/p&gt;

&lt;p&gt;Here is what the full flow looks like from form submission to tracked lead:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" alt="Formgrid lead pipeline demo showing form submission becoming a tracked lead with email notification, pipeline status notes and follow-up reminders" width="479" height="316"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Changing Lead Status&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you reply to a lead, change its status from New to Contacted. When they become a customer, change it to Converted. You can also update multiple leads at once using bulk actions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbb7apqksbzpmgijsmj5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbb7apqksbzpmgijsmj5.png" alt="Formgrid lead pipeline showing New Contacted Converted stages with bulk actions" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Adding Notes to Every Lead&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After every conversation, add a private note directly on the lead. What they said. What you quoted. What the next step is. Everything in one place when you follow up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihw8d3bxeh7ms9joxd8n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihw8d3bxeh7ms9joxd8n.png" alt=" " width="799" height="596"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Setting Follow-Up Reminders&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When someone asks you to follow up in two weeks, set a reminder directly on the lead. Pick a date. On that date, Formgrid emails you with the lead details and your notes so you have everything you need before you follow up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxi65imabv38n6808wl3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxi65imabv38n6808wl3i.png" alt=" " width="799" height="596"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free Captcha and Bot Protection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formgrid is the best Wufoo alternative with free spam protection&lt;/strong&gt; because it includes Cloudflare Turnstile for form builder forms and hCaptcha for HTML endpoint forms at no extra cost on all plans, including free.&lt;/p&gt;

&lt;p&gt;For form builder forms, Cloudflare Turnstile runs invisibly in the background. Real visitors see nothing. Bots are blocked silently before they ever reach your inbox.&lt;/p&gt;

&lt;p&gt;For HTML endpoint forms, you can enable hCaptcha protection from your form settings. Copy one snippet, paste it before your submit button, and Formgrid handles all the verification on the server side automatically.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Drag and drop form builder with shareable link. Multi-step conversational forms built in. Landing page templates for different industries. HTML form endpoint that works with any static site. Built-in lead pipeline: New, Contacted, Converted. Notes and follow-up reminders on every lead. Conversion rate tracking. Free captcha and bot protection on all plans. hCaptcha for HTML endpoint forms. Cloudflare Turnstile for form builder forms. Instant email notifications. File uploads up to 1GB. CSV export. Color picker for brand matching. Google Sheets sync included at $12 per month with no Zapier needed. Self-hostable with Docker. 100% open source under MIT license. GDPR friendly with no tracking and no data selling.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Submissions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0/month&lt;/td&gt;
&lt;td&gt;25/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Premium&lt;/td&gt;
&lt;td&gt;$12/month&lt;/td&gt;
&lt;td&gt;1,000/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$29/month&lt;/td&gt;
&lt;td&gt;15,000/month&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The bottom line:&lt;/strong&gt; Wufoo charges $16.25 per month on their Starter plan for 1,000 entries with no lead management, no open source, and no self-hosting. Formgrid gives you a form backend, a drag-and-drop builder, multi-step forms, a lightweight lead pipeline, follow-up reminders, free captcha protection, Google Sheets sync without Zapier, and full self-hosting support for $12 per month.&lt;/p&gt;

&lt;p&gt;If you are paying for Wufoo right now, Formgrid is the obvious upgrade.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://app.formgrid.dev/register" rel="noopener noreferrer"&gt;Try Formgrid for free&lt;/a&gt; No credit card required.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Google Forms: Best Free Option
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Anyone who needs a completely free form builder for basic use cases with unlimited responses.&lt;/p&gt;

&lt;p&gt;Google Forms is completely free with no submission limits. It works, it is fast, and everyone knows how to use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Completely free. Unlimited responses. Google Sheets integration built in. Conditional logic. Simple analytics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; No custom branding. No custom domain. No HTML form backend. No self-hosting. No bot protection. No lead management. Forms look like Google Forms, not like your brand. Not suitable for professional client work.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Tally: Clean and Free Form Builder
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Non-technical users who want a clean, minimal form experience with unlimited responses at no cost.&lt;/p&gt;

&lt;p&gt;Tally is a popular alternative with a simple interface. Their free plan is genuinely useful with unlimited forms and unlimited responses, though some features are locked behind the paid plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unlimited forms and responses on the free plan. Conditional logic. File uploads on the paid plan. Notion integration. Embeddable forms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free plan available. Paid plan at $29 per month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; No HTML form backend. No self-hosting. No open source. No bot protection. No lead management. Multi-step forms only on paid plan.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Typeform: Best for Conversational Forms
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Marketers who want a beautiful conversational form experience for surveys and lead generation.&lt;/p&gt;

&lt;p&gt;Typeform pioneered the one question at a time conversational format. It produces high completion rates for surveys and research forms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Conversational one question at a time format. Beautiful design templates. Logic jumps and conditional branching. Payment integrations. Data analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free plan limited to 10 responses per month. Paid plans start at $25 per month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; Extremely limited free plan. No HTML form backend. No self-hosting. No open source. No bot protection. Expensive compared to alternatives. Overkill for simple contact forms.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Jotform: Most Feature-Rich Option
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Businesses that need advanced form logic, payment integrations, and a full form management suite.&lt;/p&gt;

&lt;p&gt;Jotform has 10,000-plus templates, approval workflows, PDF generation, and e-signatures. If you need advanced functionality, Jotform has it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;10,000 plus templates. Payment integrations. Conditional logic. PDF generation. E-signatures. Approval workflows. 150 plus integrations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free plan available with 100 monthly responses. Paid plans start at $34 per month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; Expensive. No HTML form backend. No self-hosting. No open source. Overkill for most small businesses.&lt;/p&gt;




&lt;h2&gt;
  
  
  Side-by-Side Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Wufoo&lt;/th&gt;
&lt;th&gt;Formgrid&lt;/th&gt;
&lt;th&gt;Google Forms&lt;/th&gt;
&lt;th&gt;Tally&lt;/th&gt;
&lt;th&gt;Typeform&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Form builder&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTML endpoint&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-step forms&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Landing page templates&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shareable link&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead pipeline&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Follow up reminders&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conversion tracking&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built-in captcha&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅ Free&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Sheets sync&lt;/td&gt;
&lt;td&gt;✅ via Zapier&lt;/td&gt;
&lt;td&gt;✅ $12/mo&lt;/td&gt;
&lt;td&gt;✅ Free&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hostable&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File uploads&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Free submissions&lt;/td&gt;
&lt;td&gt;100/month&lt;/td&gt;
&lt;td&gt;25/month&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;10/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Starting paid price&lt;/td&gt;
&lt;td&gt;$16.25/month&lt;/td&gt;
&lt;td&gt;$12/month&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$29/month&lt;/td&gt;
&lt;td&gt;$25/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GDPR friendly&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Which One Should You Use?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use Formgrid if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want a form backend AND a form builder in one tool. You need to point an existing HTML form at an endpoint. You want to track what happens to submissions after they arrive. You are getting spam and want free captcha protection. You want Google Sheets sync without Zapier or paying extra. You care about open source and self-hosting. You are paying for Wufoo and want to cut costs while getting more features. GDPR compliance matters to you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Google Forms if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You need something completely free with unlimited responses. Branding does not matter. You are collecting internal data or running simple surveys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Tally if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want a clean, minimal form builder for free. You do not need an HTML form backend or lead management. You are a Notion user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Typeform if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You need a conversational one question at a time experience with advanced branching logic. Visual design is your top priority, and budget is not a constraint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Wufoo if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You are already deeply integrated with SurveyMonkey's ecosystem. You need their specific payment integrations. You have been using it for years, and switching is too disruptive.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Wufoo was a genuinely innovative product when it launched in 2006. But in 2026, it is hard to justify $16.25 per month for a Starter plan when better alternatives exist at lower prices with more features.&lt;/p&gt;

&lt;p&gt;If you are a developer who needs both a form backend for your static site AND a no-code builder for non-technical clients, there is no better option than Formgrid. It is the only tool on this list that does both, starting at $12 per month, with a lead pipeline and follow-up system that Wufoo has never built.&lt;/p&gt;

&lt;p&gt;If you are paying $16.25 or more per month for Wufoo and not using their SurveyMonkey integrations or specific payment workflows, you are overpaying.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://app.formgrid.dev/register" rel="noopener noreferrer"&gt;Try Formgrid for free&lt;/a&gt; No credit card required.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. I wrote this comparison as honestly as I could. If anything looks inaccurate, let me know in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>forms</category>
      <category>wufoo</category>
      <category>formbuilder</category>
      <category>formbackend</category>
    </item>
    <item>
      <title>How Much Does a Small Business Website Cost in 2026</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Wed, 03 Jun 2026 17:11:59 +0000</pubDate>
      <link>https://dev.to/allenarduino/how-much-does-a-small-business-website-cost-in-2026-2i0k</link>
      <guid>https://dev.to/allenarduino/how-much-does-a-small-business-website-cost-in-2026-2i0k</guid>
      <description>&lt;p&gt;If you are a small business owner trying to figure out what a website should cost in 2026, the honest answer is: it depends on what you actually need.&lt;/p&gt;

&lt;p&gt;Prices range from $0 if you build it yourself on a free platform to $50,000 or more for a fully custom enterprise build. Most small businesses fall somewhere in the middle. This post breaks down every option honestly so you can make an informed decision without getting oversold.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Quick Answer
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DIY website builder (Wix, Squarespace):   $0 to $50 per month
Freelance web designer:                   $500 to $5,000 one time
Small web design agency:                  $3,000 to $15,000 one time
Large agency or full custom build:        $15,000 to $50,000 plus
Ongoing maintenance and hosting:          $50 to $500 per month
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most small service businesses, roofers, photographers, cleaners, consultants, and restaurants spend between $1,500 and $5,000 for a professional website built by a freelancer or small agency.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 1: Build It Yourself With a Website Builder
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What It Costs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Wix:           Free plan available. Paid plans from $17 per month.
Squarespace:   From $16 per month. No free plan.
Webflow:       From $14 per month for basic sites.
WordPress.com: Free plan available. Paid from $9 per month.
Shopify:       From $29 per month for ecommerce.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What You Get
&lt;/h3&gt;

&lt;p&gt;A drag-and-drop editor, a selection of templates, hosting included, and a basic contact form. Most builders include a free SSL certificate and mobile-responsive design.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Honest Tradeoffs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pros:
Low monthly cost
No technical knowledge required
Fast to launch
Good enough for very simple sites

Cons:
Takes significant time to learn and build
Templates look generic
Limited customisation without coding
Contact forms are basic with no lead tracking
SEO is harder to control
Wix and Squarespace URLs look unprofessional
unless you pay for a custom domain
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Who This Is Right For
&lt;/h3&gt;

&lt;p&gt;DIY builders work well for very simple informational sites where you just need a web presence. If you need customers to find you through Google and contact you regularly, a DIY builder is usually not enough on its own.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 2: Hire a Freelance Web Designer
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What It Costs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Entry level freelancer:       $500 to $1,500
Mid level freelancer:         $1,500 to $5,000
Senior freelancer:            $5,000 to $10,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Prices vary significantly based on location. A freelancer in the US or UK charges more than a freelancer in Eastern Europe, Africa, or Asia. The quality gap is smaller than the price gap.&lt;/p&gt;

&lt;h3&gt;
  
  
  What You Get
&lt;/h3&gt;

&lt;p&gt;A custom-designed website built to your specifications. Usually includes 5 to 10 pages, a contact form, basic SEO setup, and mobile-responsive design. The freelancer handles the technical work so you do not have to.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Honest Tradeoffs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pros:
More customised than a website builder
Faster than learning to build it yourself
Usually better SEO foundation
More professional result

Cons:
Quality varies significantly between freelancers
No guarantee of ongoing support after launch
Communication can be difficult across time zones
Contact forms are often basic
with no lead tracking built in
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What to Watch Out For
&lt;/h3&gt;

&lt;p&gt;The cheapest freelancers on platforms like Fiverr often deliver template-based sites that look similar to everyone else in your industry. A $300 website rarely looks like a $300 website is worth paying for.&lt;/p&gt;

&lt;p&gt;Ask to see their portfolio before paying anything. Ask specifically whether past clients have seen enquiries from their website after launch.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 3: Hire a Small Web Design Agency
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What It Costs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Small local agency:           $3,000 to $8,000
Established small agency:     $8,000 to $15,000
Specialist niche agency:      $10,000 to $20,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What You Get
&lt;/h3&gt;

&lt;p&gt;A more structured process than a freelancer. Dedicated project management. Usually includes discovery, design mockups, development, content guidance, and post-launch support. Many agencies also offer ongoing maintenance plans.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Honest Tradeoffs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pros:
More reliable process and communication
Better accountability than solo freelancers
Often includes SEO strategy
Post-launch support included

Cons:
Significantly more expensive
Longer timeline, usually 6 to 12 weeks
Still often delivers a basic contact form
with no lead management system
Ongoing retainers add up quickly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  The Gap Most Agencies Do Not Fill
&lt;/h3&gt;

&lt;p&gt;Even at $8,000 to $15,000, most agency-built websites still deliver a basic contact form that sends enquiries to your inbox. There is no system for tracking which leads you followed up on, which ones converted, or which marketing channels are sending real paying customers.&lt;/p&gt;

&lt;p&gt;You pay for a professional website. You do not always pay for a lead system. Those are different things.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 4: Full Custom Development
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What It Costs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Custom web application:       $15,000 to $50,000 plus
Enterprise level build:       $50,000 to $500,000 plus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Who This Is For
&lt;/h3&gt;

&lt;p&gt;Custom development is for businesses with complex requirements: ecommerce with custom logic, booking systems with payment integration, membership platforms, or web applications that do more than display information.&lt;/p&gt;

&lt;p&gt;Most small service businesses do not need this. If you are a roofer, photographer, restaurant, or local service business, a custom build at this price point is rarely the right answer.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Affects the Price
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Number of Pages
&lt;/h3&gt;

&lt;p&gt;A 5-page website costs significantly less than a 20-page website. Most small businesses need: Home, About, Services, Contact, and maybe a Gallery or Blog. That is 5 to 6 pages. You do not need more to start.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Complexity
&lt;/h3&gt;

&lt;p&gt;A site built from a template costs less than a fully custom design. For most small businesses, a well-implemented template looks professional enough and converts just as well as a custom design.&lt;/p&gt;

&lt;h3&gt;
  
  
  Functionality Required
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Basic contact form:              Low cost
File upload with form:           Slightly higher
Booking and appointment system:  Higher
Ecommerce with payments:         Significantly higher
Custom web application:          Highest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Content
&lt;/h3&gt;

&lt;p&gt;Many web designers charge extra if you do not provide your own text and images. Writing copy and sourcing photography adds $500 to $2,000 to most projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ongoing Maintenance
&lt;/h3&gt;

&lt;p&gt;A website is not a one-time purchase. Budget for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hosting:                    $10 to $50 per month
Domain renewal:             $10 to $20 per year
SSL certificate:            Often included with hosting
Plugin or software updates: $50 to $200 per month
if on a maintenance plan
Content updates:            $50 to $150 per hour
if done by your designer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  What Most Small Businesses Actually Spend
&lt;/h2&gt;

&lt;p&gt;Based on what small business owners discuss in communities like Reddit's r/smallbusiness and r/web_design, here is what most people actually end up spending:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Trades and service businesses
(roofers, plumbers, electricians):     $1,500 to $4,000

Professional services
(accountants, lawyers, consultants):   $2,000 to $6,000

Restaurants and hospitality:           $1,500 to $5,000

Photographers and creatives:           $1,000 to $4,000

Ecommerce small shops:                 $3,000 to $10,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These are one-time build costs. Ongoing hosting and maintenance add $50 to $300 per month depending on your setup.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Question Most People Forget to Ask
&lt;/h2&gt;

&lt;p&gt;The most common complaint from small business owners after paying for a website is not that it looked bad. It is that it did not generate business.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"We paid $4,000 for a website
and barely get any enquiries from it."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This happens for two reasons.&lt;/p&gt;

&lt;p&gt;First, a website without ongoing SEO or marketing does not automatically appear in Google searches. Getting traffic requires either paid ads or organic SEO, which takes 3 to 12 months to build.&lt;/p&gt;

&lt;p&gt;Second, even when visitors arrive, most websites have no system for capturing and following up on leads. A contact form that sends emails to your inbox is not a lead system. It is just an email. Leads get buried. Follow-ups do not happen. Potential customers hire someone else.&lt;/p&gt;

&lt;p&gt;Before paying for a website, ask the designer or agency what happens to enquiries after someone submits the contact form. Most will describe an email notification. The best ones will describe a complete lead tracking system.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Get the Most From Your Website Budget
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Start With Clear Goals
&lt;/h3&gt;

&lt;p&gt;Before talking to any designer, write down what you want your website to do. Not how it should look. What it should do.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Generate quote requests from homeowners in my area
Book photography consultations
Take restaurant reservations
Capture contractor job applications
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A designer who knows your goal can build toward it. A designer who just knows you want a website will build something generic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prioritise the Contact Flow
&lt;/h3&gt;

&lt;p&gt;The most important part of any small business website is how it handles enquiries. Your contact form should:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Notify you instantly when someone submits
Store every enquiry somewhere you can review
Make it easy to follow up without
hunting through your email inbox
Tell you where the enquiry came from
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most websites do not do any of these things well. Ask about this before you sign anything.&lt;/p&gt;

&lt;h3&gt;
  
  
  Get References From Past Clients
&lt;/h3&gt;

&lt;p&gt;Do not just look at portfolio screenshots. Ask to speak with one or two past clients. Ask them specifically whether the website has generated business, not just whether it looked good.&lt;/p&gt;

&lt;h3&gt;
  
  
  Avoid Paying for Things You Do Not Need
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You probably do not need:
A custom logo in the web design budget
(hire a separate brand designer)

Animated hero sections
(rarely improves conversion)

Social media management bundled in
(usually overpriced and underdelivered)

A 20-page website on day one
(start with 5 pages and expand)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Hidden Cost Most Estimates Leave Out
&lt;/h2&gt;

&lt;p&gt;Almost every website cost estimate leaves out the cost of lead capture and follow-up.&lt;/p&gt;

&lt;p&gt;A professional website that generates enquiries is only valuable if you can capture, track, and follow up on those enquiries reliably. Without a system for that, you are paying $3,000 to $15,000 for a digital brochure that sits on the internet and occasionally sends you an email you might miss.&lt;/p&gt;

&lt;p&gt;The businesses that get real return from their website investment are the ones that treat lead capture as part of the build, not an afterthought.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary: What to Budget in 2026
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Minimal presence (DIY):
$200 to $600 per year
Good enough for very basic needs
Not good for generating business

Professional freelancer built site:
$1,500 to $5,000 one time
plus $100 to $300 per year ongoing
Right for most small service businesses

Small agency built site:
$5,000 to $15,000 one time
plus $200 to $500 per month ongoing
Right for established businesses
wanting a stronger brand presence

Full custom build:
$15,000 and up
Right for complex requirements only
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Budget an additional $500 to $1,500 for a proper lead capture and follow-up system regardless of which option you choose. That single addition usually generates more return than doubling your design budget.&lt;/p&gt;




&lt;h2&gt;
  
  
  Need a Website With Lead Capture Built In From Day One?
&lt;/h2&gt;

&lt;p&gt;If you want a professional website for your service business that includes a quote request form, Google Sheets sync so your team sees new leads in real time, UTM tracking so you know which ads send real paying customers, and a lead pipeline with follow-up reminders, I offer done-for-you setups starting at $500.&lt;/p&gt;

&lt;p&gt;Every enquiry your website generates becomes a tracked lead you can follow up on, add notes to, and move through a simple pipeline from New to Contacted to Converted.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://formgrid.dev/services" rel="noopener noreferrer"&gt;View done-for-you packages at formgrid.dev/services&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have a question about website costs for your specific business? Email &lt;a href="mailto:allen@formgrid.dev"&gt;allen@formgrid.dev&lt;/a&gt; and I will give you a straight answer.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>design</category>
      <category>freelance</category>
      <category>web</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why Your Website Is Not Getting Customers (And How to Fix It)</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Wed, 03 Jun 2026 14:13:22 +0000</pubDate>
      <link>https://dev.to/allenarduino/why-your-website-is-not-getting-customers-and-how-to-fix-it-4n6e</link>
      <guid>https://dev.to/allenarduino/why-your-website-is-not-getting-customers-and-how-to-fix-it-4n6e</guid>
      <description>&lt;p&gt;You checked your analytics this week. People are visiting your website. Maybe 50 visits per day. Maybe more.&lt;/p&gt;

&lt;p&gt;But your phone is not ringing. Your inbox is empty. Nobody is filling in your contact form.&lt;/p&gt;

&lt;p&gt;This is one of the most common frustrations I hear from small business owners. And the answer is rarely what they expect.&lt;/p&gt;

&lt;p&gt;Most business websites do not fail because they look bad. They fail because they do not help the visitor decide.&lt;/p&gt;

&lt;p&gt;Here is what that actually means.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Visitor Does Not Understand What You Do Fast Enough
&lt;/h2&gt;

&lt;p&gt;Most business websites open with something like:&lt;/p&gt;

&lt;p&gt;"We provide innovative solutions."&lt;/p&gt;

&lt;p&gt;"Welcome to our company."&lt;/p&gt;

&lt;p&gt;"Quality services you can trust."&lt;/p&gt;

&lt;p&gt;The problem is that nobody visiting your website is trying to understand your brand. They are trying to solve a problem. They typed something into Google, clicked your link, and landed on your page. They have about 5 seconds to figure out whether you can help them.&lt;/p&gt;

&lt;p&gt;If they cannot answer three questions in those 5 seconds, they leave:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What do you do?
Who is it for?
Why should I choose you?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Business owners in communities like Reddit's r/smallbusiness and r/Entrepreneur describe this constantly. Someone clicks a local business website and still cannot tell whether that business offers what they need. So they hit the back button and click the next result.&lt;/p&gt;

&lt;p&gt;Your competitor gets the call. Not because they are better. Because their website was clearer.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. The Website Does Not Answer the Visitor's Real Question
&lt;/h2&gt;

&lt;p&gt;When someone lands on your website, they are not thinking about your company history or your mission statement.&lt;/p&gt;

&lt;p&gt;They are thinking:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Can you solve my problem?
How much will this cost?
Can I trust you?
What do I do next?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most business websites never directly answer any of those questions. The visitor is left guessing. And guessing leads to leaving.&lt;/p&gt;

&lt;p&gt;A roofing company website that leads with a paragraph about being family-owned since 1987 is not answering the question a homeowner arrived with: "Can you fix my roof before it rains again, and how much will it cost?"&lt;/p&gt;

&lt;p&gt;Answer the real question on your homepage. Everything else is secondary.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. There Is No Clear Next Step
&lt;/h2&gt;

&lt;p&gt;This is one of the most damaging problems on small business websites and one of the easiest to fix.&lt;/p&gt;

&lt;p&gt;A surprising number of business websites do not clearly guide people toward taking action. You will see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Multiple buttons that all say different things
A contact form buried at the bottom of the page
No clear booking or enquiry flow
Phone number in small text in the footer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So what happens? The visitor is interested. They like what they see. But they are not sure what to do next. So they do nothing.&lt;/p&gt;

&lt;p&gt;They close the tab and forget about you.&lt;/p&gt;

&lt;p&gt;The fix is simple: one clear call to action above the fold. Not five options. One.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Get a free quote"
"Book a call"
"Send us your project details"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pick one. Make it obvious. Put it where they can see it without scrolling.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. The Website Feels Untrustworthy Even If Your Business Is Legitimate
&lt;/h2&gt;

&lt;p&gt;Online, trust is fragile. Visitors make subconscious decisions about whether to trust you within seconds of landing on your page. They are looking for signals:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Real photos of your work
Customer reviews and testimonials
Names and faces behind the business
Past projects and case studies
Clear contact details including a phone number
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When those signals are missing, something in the visitor's brain says: "I am not sure about this." And when people are unsure, they do not act.&lt;/p&gt;

&lt;p&gt;Many business owners say their site looks fine. That is often the problem. Fine is not enough to convert. Fine means the visitor has no strong reason to trust you over the next result in Google.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. The Website Is Built Like a Brochure, Not a Salesperson
&lt;/h2&gt;

&lt;p&gt;This is the biggest issue of all.&lt;/p&gt;

&lt;p&gt;Most small business websites are static, descriptive, and informational. They exist to tell you about the business. That is a brochure.&lt;/p&gt;

&lt;p&gt;A good website behaves like a salesperson. It guides the visitor. It removes doubt. It answers objections before they are raised. It leads the visitor toward one specific decision.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Brochure: "Here is what we do."
Salesperson: "Here is your problem,
here is how we solve it,
here is what happens next,
here is why you should act today."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most small business websites never make that shift. They describe. They do not sell.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Even When Someone Contacts You, the Lead Gets Lost
&lt;/h2&gt;

&lt;p&gt;Here is the problem that nobody talks about.&lt;/p&gt;

&lt;p&gt;Say you fix everything above. Your website is clear, trustworthy, and has a strong call to action. Someone fills in your contact form.&lt;/p&gt;

&lt;p&gt;What happens next?&lt;/p&gt;

&lt;p&gt;For most small businesses:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;An email arrives in your inbox
It sits there among 50 other emails
You get busy
You reply two days later
By then, the homeowner already hired
the competitor who called back
within an hour
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the lead follow-up problem. And it kills more business than a bad website ever could.&lt;/p&gt;

&lt;p&gt;A study of service businesses found that leads contacted within 5 minutes of enquiring are 9 times more likely to convert than leads contacted after 30 minutes. Most small businesses are calling back the next day.&lt;/p&gt;

&lt;p&gt;Your website generated the lead. Your follow-up system lost it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Reason Your Website Is Not Getting Customers
&lt;/h2&gt;

&lt;p&gt;Most websites fail at one or more of these:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Not clear enough about what you do
Not convincing enough to build trust
Not guiding enough toward a next step
Not capturing leads properly
Not following up on leads fast enough
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result is always the same: people visit, but nobody contacts you. Or people contact you, and nothing comes of it.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Fix It
&lt;/h2&gt;

&lt;p&gt;The structural problems, clarity, trust signals, and call to action require work on your website itself. But the lead capture and follow-up problem has a fast fix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formgrid&lt;/strong&gt; adds a complete lead system to any website in under 30 minutes.&lt;/p&gt;

&lt;p&gt;Every enquiry that comes through your contact form becomes a tracked lead automatically. Not just an email in your inbox. A lead with a status, a notes field, a follow-up reminder, and conversion tracking built in.&lt;/p&gt;

&lt;p&gt;Here is what that looks like in practice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;A homeowner submits your quote request form
You get an instant email notification
with all their details

The enquiry appears in your
Formgrid dashboard as a New lead

A new row appears in your Google Sheet
Your office team sees it immediately

You call them back within the hour
You mark the lead as Contacted
You set a follow-up reminder
for 3 days later if they need time

3 days later, Formgrid emails you
a reminder with their details and your notes
You follow up
You close the job
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That system is the difference between a website that generates enquiries and a website that generates revenue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg38g5z14an98673kw7tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg38g5z14an98673kw7tg.png" alt="Formgrid lead pipeline showing New Contacted Converted stages" width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7cpt58pu3v6dye0l1bz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7cpt58pu3v6dye0l1bz.png" alt="Formgrid lead pipeline showing editable stages" width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36nmaqf74bhkt1s2jk2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36nmaqf74bhkt1s2jk2v.png" alt="image" width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7hq7wmqepj6vmkav69hd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7hq7wmqepj6vmkav69hd.png" alt="Google Sheets showing form submissions synced automatically from Formgrid" width="799" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjrps6gbljywos5d9ehw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjrps6gbljywos5d9ehw.png" alt=" " width="800" height="575"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Two Ways to Get This Set Up
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Set it up yourself in 30 minutes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sign up free at formgrid.dev. Connect your existing contact form to a Formgrid endpoint by changing one line of HTML. Configure your Google Sheets sync from the Integrations tab. The free plan includes 25 submissions per month. Premium is $12 per month for 1,000 submissions.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://formgrid.dev/app/signup" rel="noopener noreferrer"&gt;Try Formgrid free&lt;/a&gt; No credit card required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get it done for you in 3 to 5 days&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you would rather have everything configured for you including your quote request form, Google Sheets sync, UTM tracking, and lead pipeline, the done-for-you setup starts at $500.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://formgrid.dev/services" rel="noopener noreferrer"&gt;View done-for-you setup&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Summary
&lt;/h2&gt;

&lt;p&gt;Your website is probably not getting customers for one of these reasons:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Visitors do not understand what you do
fast enough when they land on your page

The website does not answer their
real questions about price and trust

There is no clear next step
pushing them toward contact

The site feels untrustworthy
because trust signals are missing

The website describes your business
instead of guiding the visitor
toward a decision

Leads that do come in get lost
because there is no system
to capture and follow up on them
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fix the last one first. It is the fastest win and the one most business owners overlook entirely.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have questions about setting up lead capture for your specific business? Email &lt;a href="mailto:allen@formgrid.dev"&gt;allen@formgrid.dev&lt;/a&gt; and I will help you get it working.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Add a Contact Form to WordPress Without a Plugin in 2026</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Tue, 02 Jun 2026 18:26:04 +0000</pubDate>
      <link>https://dev.to/allenarduino/how-to-add-a-contact-form-to-wordpress-without-a-plugin-in-2026-5g72</link>
      <guid>https://dev.to/allenarduino/how-to-add-a-contact-form-to-wordpress-without-a-plugin-in-2026-5g72</guid>
      <description>&lt;p&gt;WordPress has thousands of contact form plugins. WPForms, Contact Form 7, Gravity Forms, Ninja Forms. Most WordPress tutorials point you straight to one of them.&lt;/p&gt;

&lt;p&gt;But plugins come with problems most tutorials do not mention.&lt;/p&gt;

&lt;p&gt;Every plugin you install adds weight to your site. Contact Form 7 alone loads extra JavaScript and CSS on every page, not just the page your form is on. Plugins break with WordPress updates. A plugin that worked perfectly last month stops working after a core update, and you spend an afternoon debugging a contact form when you should be running your business.&lt;/p&gt;

&lt;p&gt;Some plugins require paid upgrades to do things that should be basic. Email notifications, spam protection, file uploads. Features that are obvious requirements end up behind a paywall.&lt;/p&gt;

&lt;p&gt;There is a simpler approach. An HTML form that points directly at an external endpoint handles everything a plugin does, without any of the overhead.&lt;/p&gt;

&lt;p&gt;This post shows you how to add a working contact form to your WordPress site in 5 minutes using Formgrid, with no plugin required.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why the Plugin Approach Has Problems
&lt;/h2&gt;

&lt;p&gt;Most WordPress contact form plugins work by installing a shortcode or block that renders a form on your page. The plugin handles the form processing on your server.&lt;/p&gt;

&lt;p&gt;That creates several problems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plugin conflicts.&lt;/strong&gt; WordPress sites often run 15 to 30 plugins. Each new plugin is a potential conflict with another. Contact form plugins are particularly prone to conflicts with caching plugins, security plugins, and page builders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update dependencies.&lt;/strong&gt; When WordPress updates, plugins need to update too. If the plugin developer is slow to release a compatible version, your form breaks. On a business site, a broken contact form means lost enquiries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Server load.&lt;/strong&gt; Contact Form 7 processes form submissions on your WordPress server. If your hosting is shared or underpowered, high-traffic periods can slow form processing or cause timeouts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limited lead management.&lt;/strong&gt; Almost no WordPress contact form plugin tells you what happens after the submission. Your message arrives in an inbox, and you manage the rest manually.&lt;/p&gt;

&lt;p&gt;An external form endpoint solves all of these. The form is just HTML. Your server does nothing. The processing happens on Formgrid's servers. No plugin. No conflicts. No server load.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Will Have After This Tutorial
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;A working HTML contact form on any WordPress page or post
Instant email notification for every submission
Every submission stored as a tracked lead in a dashboard
Notes and follow-up reminders per lead
Free bot protection and spam filtering
Optional Google Sheets sync
No plugin installed
No server processing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 1: Create a Free Formgrid Account
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt; and sign up with Google or your email address. No credit card required.&lt;/p&gt;

&lt;p&gt;The free plan gives you 25 submissions per month. For a business site with higher volume, the Premium plan at $12 per month gives you 1,000 submissions, Google Sheets sync, and file uploads.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481lo8zc96gjyggcvj6k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481lo8zc96gjyggcvj6k.png" alt="Formgrid signup page" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqacbrz1glkpk4z8bwoov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqacbrz1glkpk4z8bwoov.png" alt=" " width="800" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create a New Form
&lt;/h2&gt;

&lt;p&gt;Once you are logged in, click &lt;strong&gt;New Form&lt;/strong&gt;. Give it a name that matches your use case. "WordPress Contact Form" or "Website Enquiries" works fine. This is just for your own reference inside the dashboard.&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcfi1a46aa9hykxmu81t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcfi1a46aa9hykxmu81t.png" alt=" " width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating the form, you will be taken to the form details page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mrlp556a3w3krakvhfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mrlp556a3w3krakvhfe.png" alt="Formgrid form details page showing endpoint URL" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;h2&gt;
  
  
  Step 3: Copy Your Endpoint URL
&lt;/h2&gt;

&lt;p&gt;On the form details page, you will see your unique endpoint URL. It looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://formgrid.dev/api/f/your-form-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy this URL. You will paste it into the action attribute of your HTML form in WordPress.&lt;/p&gt;

&lt;p&gt;This is the address where your WordPress form will send data when a visitor clicks submit. Formgrid receives it, stores it, sends you an email, and adds it to your lead dashboard automatically.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mrlp556a3w3krakvhfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mrlp556a3w3krakvhfe.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Add the HTML Form to WordPress
&lt;/h2&gt;

&lt;p&gt;This is the part that replaces the plugin entirely.&lt;/p&gt;

&lt;p&gt;Log in to your WordPress dashboard. Navigate to the page where you want the contact form. This could be a dedicated Contact page, your homepage, or a landing page.&lt;/p&gt;

&lt;p&gt;If you are using the Gutenberg block editor, click the &lt;strong&gt;+&lt;/strong&gt; button to add a new block. Search for &lt;strong&gt;Custom HTML&lt;/strong&gt; and select it. This gives you a raw HTML block where you can paste your form code.&lt;/p&gt;

&lt;p&gt;If you are using the Classic Editor, switch to the &lt;strong&gt;Text&lt;/strong&gt; tab instead of the Visual tab. This shows you the raw HTML of your page content. Place your cursor where you want the form to appear.&lt;/p&gt;

&lt;p&gt;Paste the following code, replacing &lt;code&gt;your-form-id&lt;/code&gt; with your actual form ID from Formgrid:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
  &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: flex; flex-direction: column; gap: 16px; max-width: 600px;"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Name
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your full name"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Email
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"your@email.com"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Subject
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What is this about?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Message
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;rows=&lt;/span&gt;&lt;span class="s"&gt;"6"&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What would you like to say?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; resize: vertical; box-sizing: border-box;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Honeypot: hidden from humans, filled by bots --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_honey"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: none;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background: #000; color: #fff; padding: 12px 28px; border: none; border-radius: 6px; font-size: 16px; font-weight: 600; cursor: pointer;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Send Message
    &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click &lt;strong&gt;Update&lt;/strong&gt; or &lt;strong&gt;Publish&lt;/strong&gt; on your WordPress page.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: Test Your Form
&lt;/h2&gt;

&lt;p&gt;Visit the page on your WordPress site. Fill in the form with a test name, email, and message. Click Send Message.&lt;/p&gt;

&lt;p&gt;Within seconds,6 you will receive an email notification at the address you signed up with on Formgrid. The email arrives formatted cleanly with every field the visitor filled in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bznst5vrjzfyljehr4m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bznst5vrjzfyljehr4m.png" alt="Instant email notification from Formgrid showing form submission details" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now go back to your Formgrid dashboard and click the &lt;strong&gt;Leads&lt;/strong&gt; tab. You will see the test submission listed as a new lead with a status of New.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happens After Every Submission
&lt;/h2&gt;

&lt;p&gt;This is where Formgrid goes beyond every contact form plugin.&lt;/p&gt;

&lt;p&gt;Most plugins deliver your message to an inbox and stop there. Formgrid turns every submission into a tracked lead automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every submission becomes a lead in your pipeline&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The moment someone submits your WordPress form, it appears in your Leads tab with a status of New. You move it through a simple pipeline: New to Contacted to Converted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxw07yk28ww9rww4auc6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxw07yk28ww9rww4auc6e.png" alt=" " width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the top of your leads tab, you see your conversion rate updating automatically as you work through enquiries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add notes after every conversation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After you reply to someone, add a private note directly on the lead. What they asked about. What you quoted. What the next step is. Everything in one place.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Replied Thursday. Interested in sponsored post.
Wants to know rates. Follow up next week.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejr37esqeeq0om5hu4k7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejr37esqeeq0om5hu4k7.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set follow-up reminders&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When someone asks you to follow up next week, set a reminder directly on the lead. Pick a date. Formgrid emails you on that day with the lead details and your notes attached.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fewc6f691att7k7a3gatv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fewc6f691att7k7a3gatv.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is what the full flow looks like from WordPress form submission to tracked lead:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" alt="Formgrid lead pipeline demo showing form submission becoming a tracked lead with email notification pipeline status notes and follow-up reminders" width="479" height="316"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Add Spam Protection Without a Plugin
&lt;/h2&gt;

&lt;p&gt;Formgrid includes free bot protection on all plans. The honeypot field in the form code above already catches most bots silently. Real visitors never see or interact with it. Bots fill in every field, including hidden ones, which flags the submission automatically.&lt;/p&gt;

&lt;p&gt;For stronger protection, you can enable hCaptcha from your Formgrid form settings. Add this to your Custom HTML block in WordPress:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Add this script once in the Custom HTML block --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://js.hcaptcha.com/1/api.js"&lt;/span&gt; &lt;span class="na"&gt;async&lt;/span&gt; &lt;span class="na"&gt;defer&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Add this just before your submit button --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"h-captcha"&lt;/span&gt; &lt;span class="na"&gt;data-sitekey=&lt;/span&gt;&lt;span class="s"&gt;"your-hcaptcha-site-key"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your hCaptcha site key is available in your Formgrid dashboard under form settings after you enable captcha. Formgrid verifies the token on the server side automatically. No backend code needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Sync WordPress Form Submissions to Google Sheets
&lt;/h2&gt;

&lt;p&gt;If you want every contact form submission to appear automatically as a row in a Google Sheet, set that up from your Formgrid Integrations tab.&lt;/p&gt;

&lt;p&gt;Connect your Google account, select the spreadsheet and sheet you want to sync to, and every new submission appears as a new row within seconds. No Zapier needed. No additional cost beyond the Premium plan at $12 per month.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1hxf9ysgog3hasrti0lx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1hxf9ysgog3hasrti0lx.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57f4bkl0dyb0duenxsdr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57f4bkl0dyb0duenxsdr.png" alt=" " width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8vv4czaguek14ldaf2p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8vv4czaguek14ldaf2p.png" alt=" " width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpfu7fdzusdjtt7ee8zgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpfu7fdzusdjtt7ee8zgu.png" alt=" " width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjngcptywf0jxe7ql4oy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjngcptywf0jxe7ql4oy.png" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Your whole team can see new enquiries in the shared sheet in real time without logging into WordPress or Formgrid.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Redirect to a Thank You Page After Submission
&lt;/h2&gt;

&lt;p&gt;To send visitors to a custom thank you page after they submit, add this hidden field inside your form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"hidden"&lt;/span&gt;
  &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_redirect"&lt;/span&gt;
  &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/thank-you"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a Thank You page in WordPress and replace the URL with your actual page address.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Complete Form Code
&lt;/h2&gt;

&lt;p&gt;Here is the full version with honeypot spam protection, hCaptcha, and a custom redirect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- hCaptcha script: add once per Custom HTML block --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://js.hcaptcha.com/1/api.js"&lt;/span&gt; &lt;span class="na"&gt;async&lt;/span&gt; &lt;span class="na"&gt;defer&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
  &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: flex; flex-direction: column; gap: 16px; max-width: 600px;"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your full name"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Email&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"your@email.com"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Subject&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What is this about?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Message&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="na"&gt;rows=&lt;/span&gt;&lt;span class="s"&gt;"6"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What would you like to say?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; resize: vertical; box-sizing: border-box;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Honeypot: hidden from humans, filled by bots --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_honey"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: none;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Custom redirect after submission --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"hidden"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_redirect"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/thank-you"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- hCaptcha: only needed if captcha is enabled in Formgrid settings --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"h-captcha"&lt;/span&gt; &lt;span class="na"&gt;data-sitekey=&lt;/span&gt;&lt;span class="s"&gt;"your-hcaptcha-site-key"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background: #000; color: #fff; padding: 12px 28px; border: none; border-radius: 6px; font-size: 16px; font-weight: 600; cursor: pointer;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Send Message
    &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;your-form-id&lt;/code&gt; with your Formgrid form ID, &lt;code&gt;your-hcaptcha-site-key&lt;/code&gt; with the key from your Formgrid settings, and the redirect URL with your actual thank you page.&lt;/p&gt;




&lt;h2&gt;
  
  
  Formgrid vs WordPress Contact Form Plugins
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Contact Form 7&lt;/th&gt;
&lt;th&gt;WPForms Free&lt;/th&gt;
&lt;th&gt;Formgrid&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Plugin required&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead pipeline&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Follow up reminders&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conversion tracking&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Sheets sync&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes at $12/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spam protection&lt;/td&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;Free on all plans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File uploads&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hostable&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;Yes MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server load&lt;/td&gt;
&lt;td&gt;On your server&lt;/td&gt;
&lt;td&gt;On your server&lt;/td&gt;
&lt;td&gt;On Formgrid servers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plugin conflicts&lt;/td&gt;
&lt;td&gt;Possible&lt;/td&gt;
&lt;td&gt;Possible&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Troubleshooting Common Issues
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Form submits but no email arrives&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check your spam folder first. If the email is not there, go to your Formgrid dashboard and confirm the notification email address is correctly set under form settings. Make sure the form endpoint URL in your WordPress Custom HTML block exactly matches the URL shown in your Formgrid dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WordPress sanitizes the form HTML&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some WordPress themes or security plugins strip custom HTML from page content. If your form disappears after saving, try adding it through a Full Site Editor block, a Custom HTML widget in a sidebar, or directly in your theme files. You can also use a page builder like Elementor or Bricks and add a Custom HTML element.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The form shows an error after submission&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This usually means the form ID in the action URL is incorrect or the form has been deleted from Formgrid. Copy the endpoint URL directly from your form details page and paste it fresh into your WordPress block.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bots are submitting the form&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Enable CAPTCHA in your Formgrid form settings and add the hCaptcha snippet to your Custom HTML block as shown in the spam protection section above. The honeypot field already filters most automated submissions silently.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Approach Beats Every Plugin
&lt;/h2&gt;

&lt;p&gt;Contact Form 7 has over 5 million active installations. It works. But it stops at the inbox. Your submission arrives, you get an email, and that is it.&lt;/p&gt;

&lt;p&gt;Formgrid gives you everything Contact Form 7 gives you, plus a lead pipeline, follow-up reminders, conversion tracking, Google Sheets sync, and file uploads, all without installing a single plugin on your WordPress site.&lt;/p&gt;

&lt;p&gt;Your WordPress server does no form processing. Your plugin count stays the same. Your site stays fast. And every enquiry becomes a tracked lead you can actually manage.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Your WordPress site does not need a form plugin to have a working contact form.&lt;/p&gt;

&lt;p&gt;Five minutes to create a Formgrid account, copy an endpoint URL, paste one HTML block into your page, and you have a contact form that tracks every enquiry from the moment it arrives to the moment it becomes a customer.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://formgrid.dev/app/signup" rel="noopener noreferrer"&gt;Try Formgrid free&lt;/a&gt; No credit card required.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. I wrote this tutorial as honestly as I could. If anything looks inaccurate or you run into an issue following the steps, let me know in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>performance</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>Web3Forms Alternatives in 2026</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Sat, 30 May 2026 17:22:50 +0000</pubDate>
      <link>https://dev.to/allenarduino/web3forms-alternatives-in-2026-4cb2</link>
      <guid>https://dev.to/allenarduino/web3forms-alternatives-in-2026-4cb2</guid>
      <description>&lt;p&gt;Web3Forms is a popular starting point for adding a contact form to a static site. The free plan is genuinely generous: 250 submissions per month, unlimited forms, no account required, just an access key in your inbox, and you are up and running.&lt;/p&gt;

&lt;p&gt;But if you have been using Web3Forms for a while, you have probably noticed where it starts to fall short.&lt;/p&gt;

&lt;p&gt;Submissions older than 30 days disappear on the free plan. There is no dashboard on the free tier to browse and manage your submissions. There is no form builder if you need a shareable link without writing HTML. There is no lead pipeline to track what happens after someone submits. And when you look at the Pro plan at $18 per month, Google Sheets, webhooks, and autoresponders are all locked behind that paywall.&lt;/p&gt;

&lt;p&gt;In this article I will walk through the best Web3Forms alternatives in 2026, covering price, features, and which one is right for your use case.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Developers Look for Web3Forms Alternatives
&lt;/h2&gt;

&lt;p&gt;Here are the most common reasons people switch:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Submissions disappear after 30 days on the free plan.&lt;/strong&gt; If you do not log in and export in time, your data is gone. There is no indefinite submission history unless you upgrade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No submission dashboard on the free plan.&lt;/strong&gt; Web3Forms sends submissions to your email. That is the entire free experience. If an email gets lost in spam, the submission is gone forever. There is no dashboard to fall back on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No form builder.&lt;/strong&gt; Web3Forms is a form backend only. If you need a shareable form link without writing HTML, you have to look elsewhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No lead management.&lt;/strong&gt; Web3Forms receives submissions and emails them to you. There is no way to track which leads you have followed up on, which have converted, or which need a reminder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Sheets costs $18 per month.&lt;/strong&gt; The free plan has no integrations at all. Google Sheets, Notion, Slack, and webhooks are all on the Pro plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No self-hosting.&lt;/strong&gt; If you care about data ownership or GDPR compliance, Web3Forms gives you no option to run it yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No open source option.&lt;/strong&gt; You are locked in with no transparency and no customisation.&lt;/p&gt;

&lt;p&gt;If any of those hit home, keep reading.&lt;/p&gt;




&lt;h2&gt;
  
  
  Web3Forms Pricing
&lt;/h2&gt;

&lt;p&gt;Before comparing alternatives, here is what Web3Forms actually charges:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Submissions&lt;/th&gt;
&lt;th&gt;Google Sheets&lt;/th&gt;
&lt;th&gt;File Uploads&lt;/th&gt;
&lt;th&gt;Webhooks&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Personal&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;250/month&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;$18/month&lt;/td&gt;
&lt;td&gt;10,000/month&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;td&gt;$47/month&lt;/td&gt;
&lt;td&gt;20,000/month&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The jump from free to Pro is steep. You go from $0 to $18 per month the moment you need any integration, file uploads, or autoresponders.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Best Web3Forms Alternatives in 2026
&lt;/h2&gt;




&lt;h3&gt;
  
  
  1. Formgrid: Form Backend, Form Builder, and Lead Pipeline in One Place
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want a form backend, non-technical users who need a shareable form link, and small businesses who want to manage leads without a full CRM. All in one tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it different:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web3Forms is a form backend that stops at the inbox. Formgrid does not stop there.&lt;/p&gt;

&lt;p&gt;Every submission becomes a tracked lead automatically. You can mark it as New, Contacted, or Converted. Add a note. Set a follow-up reminder and Formgrid emails you on the day you need to act. See your conversion rate at a glance.&lt;/p&gt;

&lt;p&gt;On top of that, Formgrid includes a drag and drop form builder, multi-step conversational forms, free captcha on all plans, and Google Sheets sync at $12 per month instead of Web3Forms' $18 per month.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Two ways to use it:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option A: Point your existing HTML form at a Formgrid endpoint&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send Message&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your form stays exactly as it is. Formgrid handles receiving submissions, sending email notifications, and storing every lead in your dashboard permanently. No 30 day deletion. No expiry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option B: Use the drag and drop form builder&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No HTML required. Build your form, get a shareable link, and send it via WhatsApp, email, or embed it on any website. Every submission lands as a tracked lead in your dashboard instantly.&lt;/p&gt;

&lt;p&gt;Formgrid also includes a multi-step conversational form builder. One question at a time. Clean design. Works on any device. No Typeform subscription needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupjizeesrlokf3aayqt4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupjizeesrlokf3aayqt4.gif" alt="Formgrid multi-step form builder" width="800" height="517"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The lead management dashboard:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every form submission becomes a lead you can track through a simple pipeline. New → Contacted → Converted.&lt;/p&gt;

&lt;p&gt;Here is what the full flow looks like from form submission to tracked lead:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" alt="Formgrid lead pipeline demo showing form submission becoming a tracked lead with email notification pipeline status notes and follow up reminders" width="479" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On each lead, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add a private note about the conversation&lt;/li&gt;
&lt;li&gt;Set a follow-up date and get an email reminder on that day&lt;/li&gt;
&lt;li&gt;See where the lead came from (UTM source, medium, campaign)&lt;/li&gt;
&lt;li&gt;Export all leads as CSV at any time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The leads tab shows your conversion rate at the top, so you always know how your form is performing. 3 of 23 leads converted (13%).&lt;/p&gt;

&lt;p&gt;This is the feature Web3Forms does not have at any price point. There is no lead pipeline, no follow-up reminders, no conversion tracking in any Web3Forms plan. Once the email lands in your inbox, you are on your own.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Google Sheets sync:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every submission can automatically appear as a new row in your Google Sheet. No Zapier needed. No API setup. Just connect your sheet in one click and every form submission syncs instantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgtkew3kl4ugpaisqafq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgtkew3kl4ugpaisqafq.png" alt="Google Sheets showing form submissions as rows with automatic sync" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyjiich2rbyllql4nkd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyjiich2rbyllql4nkd5.png" alt="Google Sheets showing form submissions synced from Formgrid" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web3Forms charges $18 per month for Google Sheets. Formgrid includes it on the Premium plan at $12 per month.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free captcha and bot protection:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Formgrid includes built-in bot protection on all plans including free. No backend code needed. No separate account required.&lt;/p&gt;

&lt;p&gt;For form builder forms, Cloudflare Turnstile runs invisibly in the background. Real visitors see nothing. Bots are blocked silently before they ever reach your inbox.&lt;/p&gt;

&lt;p&gt;For HTML endpoint forms, you can enable hCaptcha protection from your form settings. Copy one snippet, paste it before your submit button, and Formgrid handles all the verification on the server side automatically.&lt;/p&gt;

&lt;p&gt;Web3Forms offers hCaptcha on the free plan, which is one of its strengths. Formgrid matches this with hCaptcha for HTML forms and adds Cloudflare Turnstile for form builder forms at no extra cost.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Formgrid landing page:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vqtstey4156uo0ma7n4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vqtstey4156uo0ma7n4.png" alt=" " width="799" height="446"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drag and drop form builder with shareable link&lt;/li&gt;
&lt;li&gt;Multi-step conversational forms built in&lt;/li&gt;
&lt;li&gt;HTML form endpoint that works with any static site&lt;/li&gt;
&lt;li&gt;Permanent submission storage (no 30 day deletion)&lt;/li&gt;
&lt;li&gt;Built-in lead pipeline: New, Contacted, Converted&lt;/li&gt;
&lt;li&gt;Notes and follow-up reminders on every lead&lt;/li&gt;
&lt;li&gt;Conversion rate tracking&lt;/li&gt;
&lt;li&gt;Free captcha and bot protection on all plans&lt;/li&gt;
&lt;li&gt;hCaptcha for HTML endpoint forms&lt;/li&gt;
&lt;li&gt;Cloudflare Turnstile for form builder forms&lt;/li&gt;
&lt;li&gt;Instant email notifications&lt;/li&gt;
&lt;li&gt;File uploads up to 1GB&lt;/li&gt;
&lt;li&gt;CSV export&lt;/li&gt;
&lt;li&gt;Google Sheets sync included at $12/month (no Zapier needed)&lt;/li&gt;
&lt;li&gt;Webhooks and Zapier on Business plan&lt;/li&gt;
&lt;li&gt;Self-hostable with Docker&lt;/li&gt;
&lt;li&gt;100% open source under MIT license&lt;/li&gt;
&lt;li&gt;GDPR friendly with no tracking and no data selling&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Submissions&lt;/th&gt;
&lt;th&gt;Google Sheets&lt;/th&gt;
&lt;th&gt;File Uploads&lt;/th&gt;
&lt;th&gt;Webhooks&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0/month&lt;/td&gt;
&lt;td&gt;25/month&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Premium&lt;/td&gt;
&lt;td&gt;$12/month&lt;/td&gt;
&lt;td&gt;1,000/month&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$29/month&lt;/td&gt;
&lt;td&gt;15,000/month&lt;/td&gt;
&lt;td&gt;✅ Unlimited&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The honest comparison:&lt;/strong&gt; Web3Forms free plan gives you 250 submissions per month versus Formgrid's 25. That is a real advantage for Web3Forms at the free tier. But Web3Forms has no lead pipeline at any price, no form builder, no permanent submission storage on free, and charges $18 per month for Google Sheets. Formgrid gives you Google Sheets at $12 per month plus everything Web3Forms does not have.&lt;/p&gt;

&lt;p&gt;If you are on the Web3Forms free plan and just need a basic email notification, it works. If you are ready to pay for integrations, Formgrid gives you more for less.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Formspree: Most Established Form Backend
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want a well-documented, mature form backend with a large community and extensive framework guides.&lt;/p&gt;

&lt;p&gt;Formspree has been around since 2012. It is the most referenced form backend in tutorials, documentation, and Stack Overflow answers. The documentation is excellent and covers every major framework and static site generator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML form endpoint&lt;/li&gt;
&lt;li&gt;Email notifications&lt;/li&gt;
&lt;li&gt;File uploads on paid plan&lt;/li&gt;
&lt;li&gt;Webhooks on paid plan&lt;/li&gt;
&lt;li&gt;Extensive documentation&lt;/li&gt;
&lt;li&gt;Large community&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free plan with 50 submissions per month. Paid plans start at $15 per month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; No form builder. No lead management. No follow-up reminders. No self-hosting. Captcha costs extra. Google Sheets costs $90 per month. Free plan is less generous than Web3Forms at 50 submissions vs 250.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Getform: Clean Dashboard and Developer Friendly
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want a clean submission dashboard and a simple Formspree or Web3Forms replacement.&lt;/p&gt;

&lt;p&gt;Getform covers the basics well. It stores submissions, sends email notifications, and supports file uploads. The dashboard is clean and the submission history does not expire the way Web3Forms free submissions do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML form endpoint&lt;/li&gt;
&lt;li&gt;Email notifications&lt;/li&gt;
&lt;li&gt;File uploads&lt;/li&gt;
&lt;li&gt;Webhooks on paid plan&lt;/li&gt;
&lt;li&gt;Zapier integration&lt;/li&gt;
&lt;li&gt;Clean submission dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free tier available. Paid plans start at $19 per month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; No form builder. No lead management. No self-hosting. No open source option. Slightly more expensive than Formgrid for similar submission limits.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Basin: Minimal and No-Frills
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want the simplest possible form backend with no distractions.&lt;/p&gt;

&lt;p&gt;Basin is intentionally minimal. Point your form at their endpoint, receive emails, and you are done. No dashboard overload, no feature creep.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML form endpoint&lt;/li&gt;
&lt;li&gt;Email notifications&lt;/li&gt;
&lt;li&gt;Spam protection&lt;/li&gt;
&lt;li&gt;Simple dashboard&lt;/li&gt;
&lt;li&gt;Permanent submission storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free tier available. Paid plans start at $8 per month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; Very limited compared to other options. No form builder, no lead management, no self-hosting, no captcha on the free plan, minimal integrations.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Netlify Forms: Great If You Are Already on Netlify
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers whose sites are deployed on Netlify.&lt;/p&gt;

&lt;p&gt;Netlify Forms is built directly into the Netlify platform. If you are already deploying on Netlify, it is the easiest possible option. Just add the Netlify attribute to your form tag and you are done. No external service needed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"contact"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
  &lt;span class="na"&gt;data-netlify=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Zero setup if you are on Netlify&lt;/li&gt;
&lt;li&gt;Spam filtering&lt;/li&gt;
&lt;li&gt;Email notifications&lt;/li&gt;
&lt;li&gt;Dashboard in Netlify&lt;/li&gt;
&lt;li&gt;100 free submissions per month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; Only works if your site is on Netlify. No lead management. No form builder. If you host anywhere else, this is not an option.&lt;/p&gt;




&lt;h3&gt;
  
  
  6. Formspark: Lightweight and Fast
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want a minimal Web3Forms-style backend with slightly better submission storage and no submission expiry on paid plans.&lt;/p&gt;

&lt;p&gt;Formspark is a lightweight form backend with a clean API. Simple to set up, reliable delivery, and a submission dashboard that keeps your data permanently on paid plans.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML form endpoint&lt;/li&gt;
&lt;li&gt;Email notifications&lt;/li&gt;
&lt;li&gt;Spam protection&lt;/li&gt;
&lt;li&gt;Submission dashboard&lt;/li&gt;
&lt;li&gt;Webhooks on paid plans&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; 250 free submissions, then pay per submission or a flat monthly plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawback:&lt;/strong&gt; No form builder. No lead management. No self-hosting. No open source. Pricing is slightly confusing compared to flat monthly alternatives.&lt;/p&gt;




&lt;h2&gt;
  
  
  Side-by-Side Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Web3Forms&lt;/th&gt;
&lt;th&gt;Formgrid&lt;/th&gt;
&lt;th&gt;Formspree&lt;/th&gt;
&lt;th&gt;Getform&lt;/th&gt;
&lt;th&gt;Basin&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Form builder&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-step forms&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTML endpoint&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shareable form link&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead pipeline&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Follow up reminders&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conversion tracking&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Permanent storage free&lt;/td&gt;
&lt;td&gt;❌ 30 days&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ 30 days&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built-in captcha&lt;/td&gt;
&lt;td&gt;✅ hCaptcha&lt;/td&gt;
&lt;td&gt;✅ Free&lt;/td&gt;
&lt;td&gt;⚠️ Paid&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Sheets&lt;/td&gt;
&lt;td&gt;⚠️ $18/mo&lt;/td&gt;
&lt;td&gt;✅ $12/mo&lt;/td&gt;
&lt;td&gt;⚠️ $90/mo&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhooks&lt;/td&gt;
&lt;td&gt;⚠️ $18/mo&lt;/td&gt;
&lt;td&gt;✅ $29/mo&lt;/td&gt;
&lt;td&gt;⚠️ Paid&lt;/td&gt;
&lt;td&gt;⚠️ Paid&lt;/td&gt;
&lt;td&gt;✅ Free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hostable&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Submission dashboard&lt;/td&gt;
&lt;td&gt;⚠️ Paid&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Free submissions&lt;/td&gt;
&lt;td&gt;250/mo&lt;/td&gt;
&lt;td&gt;25/mo&lt;/td&gt;
&lt;td&gt;50/mo&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Starting price&lt;/td&gt;
&lt;td&gt;$18/mo&lt;/td&gt;
&lt;td&gt;$12/mo&lt;/td&gt;
&lt;td&gt;$15/mo&lt;/td&gt;
&lt;td&gt;$19/mo&lt;/td&gt;
&lt;td&gt;$8/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GDPR friendly&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Which One Should You Use?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use Formgrid if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want a form backend AND a form builder in one tool.&lt;/p&gt;

&lt;p&gt;You want to track what happens to submissions after they arrive. Who did you contact? Who converted? Who needs a follow-up?&lt;/p&gt;

&lt;p&gt;You are tired of form submissions piling up in your inbox with no way to manage them.&lt;/p&gt;

&lt;p&gt;You want Google Sheets sync without paying $18 per month for it.&lt;/p&gt;

&lt;p&gt;You need multi-step conversational forms without a Typeform subscription.&lt;/p&gt;

&lt;p&gt;You want permanent submission storage that does not expire after 30 days.&lt;/p&gt;

&lt;p&gt;You care about open source and self-hosting.&lt;/p&gt;

&lt;p&gt;GDPR compliance matters to you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Web3Forms if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want the most generous free plan available: 250 submissions per month.&lt;/p&gt;

&lt;p&gt;You need a simple contact form that sends emails and nothing more.&lt;/p&gt;

&lt;p&gt;You do not need a dashboard or submission history.&lt;/p&gt;

&lt;p&gt;You are fine with submissions expiring after 30 days.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Formspree if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want the most mature, well-documented form backend with the largest community.&lt;/p&gt;

&lt;p&gt;You are following a tutorial that uses Formspree and want to stay consistent.&lt;/p&gt;

&lt;p&gt;You do not need a form builder or lead management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Getform if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want a clean submission dashboard and slightly better developer experience than Web3Forms.&lt;/p&gt;

&lt;p&gt;You do not need a form builder or lead management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Basin if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You want webhooks on a free plan.&lt;/p&gt;

&lt;p&gt;You want the most minimal and affordable paid option.&lt;/p&gt;

&lt;p&gt;You do not need a form builder or lead management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Netlify Forms if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your site is already on Netlify.&lt;/p&gt;

&lt;p&gt;You want zero additional setup and zero additional accounts.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Honest Assessment of Web3Forms
&lt;/h2&gt;

&lt;p&gt;Web3Forms is good at one thing: getting a contact form working fast at zero cost. The 250 free submissions per month is genuinely the most generous free tier among HTML form backends. If you are building a portfolio, a personal project, or a low traffic site that just needs to forward a few emails per month, Web3Forms does that job well.&lt;/p&gt;

&lt;p&gt;But the moment you need a dashboard, permanent storage, integrations, a form builder, or anything resembling lead management, Web3Forms either does not have it or charges $18 per month for it.&lt;/p&gt;

&lt;p&gt;That $18 per month is also where the comparison breaks down entirely. At $18 per month with Web3Forms, you get Google Sheets, file uploads, and webhooks. At $12 per month with Formgrid, you get all of that plus a drag and drop form builder, a full lead pipeline, follow-up reminders, conversion tracking, and permanent submission storage. It is not a close comparison.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Web3Forms is a solid free option for developers who need a simple form backend and nothing more. It earns its place in the ecosystem.&lt;/p&gt;

&lt;p&gt;But if you are looking at the Pro plan or above, there is a better option for almost every use case. Formgrid gives you more features at a lower price, adds a lead pipeline no other form tool includes, and is fully open source and self-hostable.&lt;/p&gt;

&lt;p&gt;Most form backends stop at the inbox. Your submission arrives, you get an email, and then you are on your own figuring out who to follow up with, what you said to them, and whether they ever became a customer.&lt;/p&gt;

&lt;p&gt;Formgrid is the only tool on this list that closes that gap. Form backend for developers, form builder for non-technical users, free captcha for both, and a lightweight lead pipeline for everyone who wants actually to do something with their submissions.&lt;/p&gt;

&lt;p&gt;You can try it free at &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt;. No credit card required.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. I wrote this comparison as honestly as I could. If anything looks inaccurate, let me know in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>resources</category>
      <category>saas</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Add a Contact Form to Your Ghost Blog</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Sat, 30 May 2026 16:50:11 +0000</pubDate>
      <link>https://dev.to/allenarduino/how-to-add-a-contact-form-to-a-ghost-blog-e2</link>
      <guid>https://dev.to/allenarduino/how-to-add-a-contact-form-to-a-ghost-blog-e2</guid>
      <description>&lt;p&gt;Ghost is a powerful publishing platform. It is clean, fast, and great for writers, indie publishers, newsletters, and portfolios. But it has one well-known gap: there is no built-in contact form.&lt;/p&gt;

&lt;p&gt;If you want readers, clients, or potential sponsors to reach you through your Ghost site, you have to figure it out yourself. Most tutorials point you toward Formspree or a custom backend. Both work, but neither gives you what happens after the submission. Your message arrives in an inbox, and then what?&lt;/p&gt;

&lt;p&gt;In this tutorial, I will show you how to add a fully working contact form to your Ghost site using &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;Formgrid&lt;/a&gt;. You will have a contact form live in under 5 minutes. Every submission will arrive in your inbox instantly, be stored in your Formgrid dashboard, and automatically become a tracked lead you can follow up on.&lt;/p&gt;

&lt;p&gt;No backend to build. No server to maintain. No Node.js setup required.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Ghost Does Not Have a Built-In Contact Form
&lt;/h2&gt;

&lt;p&gt;Ghost is a headless CMS at its core. It is designed to publish content, not to process form data. Processing form submissions requires a backend: a server that receives the POST request, validates the data, stores it, and sends an email. Ghost does not do that.&lt;/p&gt;

&lt;p&gt;This means every Ghost site owner has to solve the contact form problem themselves. The two most common approaches people try are:&lt;/p&gt;

&lt;p&gt;Setting up their own Node.js backend with nodemailer. This takes hours, requires a server, and needs ongoing maintenance.&lt;/p&gt;

&lt;p&gt;Using a form backend service. This takes minutes, requires no server, and handles everything for you.&lt;/p&gt;

&lt;p&gt;Formgrid is the second option. But unlike most form backends, it does not stop at the inbox.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Will Have at the End of This Tutorial
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;A working contact form on your Ghost site
Instant email notification for every submission
Every submission stored in a dashboard
Every submission tracked as a lead
Notes and follow-up reminders per lead
Bot protection and captcha included free
Google Sheets sync if you need it
CSV export at any time
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 1: Create a Free Formgrid Account
&lt;/h2&gt;

&lt;p&gt;Head to &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt; and sign up. You can use Google or your email address. No credit card required.&lt;/p&gt;

&lt;p&gt;The free plan gives you 25 submissions per month, which is plenty to get started. If you are running a high-traffic blog or business site, the Premium plan at $12 per month gives you 1,000 submissions.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481lo8zc96gjyggcvj6k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481lo8zc96gjyggcvj6k.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqacbrz1glkpk4z8bwoov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqacbrz1glkpk4z8bwoov.png" alt=" " width="800" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create a New Form
&lt;/h2&gt;

&lt;p&gt;Once you are logged in, you will see your dashboard. Click &lt;strong&gt;New Form&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Give your form a name. Something like "Ghost Contact Form" or "Blog Inquiries" works fine. This name is just for your own reference inside the dashboard.&lt;/p&gt;

&lt;p&gt;After creating the form, you will be taken to the form details page. This is where you can find your unique endpoint URL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcfi1a46aa9hykxmu81t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcfi1a46aa9hykxmu81t.png" alt=" " width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Get Your Endpoint URL
&lt;/h2&gt;

&lt;p&gt;On the form details page, you will see your unique endpoint URL. It looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;https://formgrid.dev/api/f/your-form-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy this URL. You will use it as the action attribute on your HTML form in Ghost.&lt;/p&gt;

&lt;p&gt;This endpoint is where Ghost will send your form data when a visitor hits submit. Formgrid receives it, stores it, sends you an email, and adds it to your lead pipeline automatically.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mrlp556a3w3krakvhfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mrlp556a3w3krakvhfe.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Create a Contact Page in Ghost
&lt;/h2&gt;

&lt;p&gt;Log in to your Ghost admin panel. In the left sidebar, click &lt;strong&gt;Pages&lt;/strong&gt; and then click &lt;strong&gt;New Page&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Give the page a title. "Contact" or "Get in Touch" or "Work With Me" are all common choices.&lt;/p&gt;

&lt;p&gt;Now click the &lt;strong&gt;+&lt;/strong&gt; button to add a content block. From the list that appears, choose &lt;strong&gt;HTML&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This inserts an HTML card into your Ghost page. This is where you will paste your contact form code.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: Paste the Contact Form Code
&lt;/h2&gt;

&lt;p&gt;Inside the HTML card, paste the following code. Replace &lt;code&gt;your-form-id&lt;/code&gt; with your actual form ID from Formgrid:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
  &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: flex; flex-direction: column; gap: 16px; max-width: 600px;"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Name
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your full name"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Email
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"your@email.com"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Message
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;rows=&lt;/span&gt;&lt;span class="s"&gt;"5"&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What would you like to say?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; resize: vertical;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Honeypot spam protection: hidden from real users, filled by bots --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
    &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_honey"&lt;/span&gt;
    &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: none;"&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background: #000; color: #fff; padding: 12px 28px; border: none; border-radius: 6px; font-size: 16px; font-weight: 600; cursor: pointer;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Send Message
    &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt; on the Ghost page.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 6: Add a Custom Thank You Page (Optional)
&lt;/h2&gt;

&lt;p&gt;By default, after someone submits the form, Formgrid shows a simple success message. If you want to redirect visitors to a custom thank you page on your Ghost site, you can add a hidden field to the form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"hidden"&lt;/span&gt;
  &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_redirect"&lt;/span&gt;
  &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"https://yourghost.site/thank-you"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a "Thank You" page in Ghost and add this field to your form, replacing the URL with your actual thank you page address.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 7: Add the Contact Page to Your Navigation
&lt;/h2&gt;

&lt;p&gt;In Ghost admin, go to &lt;strong&gt;Settings&lt;/strong&gt; then &lt;strong&gt;Navigation&lt;/strong&gt;. Add a new item with:&lt;/p&gt;

&lt;p&gt;Label: &lt;code&gt;Contact&lt;/code&gt;&lt;br&gt;
URL: &lt;code&gt;/contact/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt;. Your contact page now appears in your site navigation.&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 8: Test Your Form
&lt;/h2&gt;

&lt;p&gt;Visit your Ghost site and navigate to the contact page. Fill in the form with a test name, email, and message. Click Submit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqvxgxaf36khuuf1q2x6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqvxgxaf36khuuf1q2x6.png" alt=" " width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Within seconds, you should receive an email notification at the address you registered with on Formgrid. The email will be cleanly formatted with every field the visitor filled in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bznst5vrjzfyljehr4m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bznst5vrjzfyljehr4m.png" alt=" " width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now go back to your Formgrid dashboard and click on your form. You will see the test submission listed in the Leads tab with a status of New.&lt;/p&gt;





&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxw07yk28ww9rww4auc6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxw07yk28ww9rww4auc6e.png" alt=" " width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What Happens After Every Submission
&lt;/h2&gt;

&lt;p&gt;This is where Formgrid goes beyond every other form backend for Ghost.&lt;/p&gt;

&lt;p&gt;Most services stop at the inbox. Your message arrives, you get an email, and that is it. There is no record of whether you replied, whether the person became a client, or what happened next.&lt;/p&gt;

&lt;p&gt;Formgrid turns every submission into a tracked lead automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every submission becomes a lead in your pipeline&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The moment someone submits your form, it appears in your Leads tab with a status of New. From there you move it through a simple pipeline: New → Contacted → Converted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add notes after every conversation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After you reply to someone, add a private note directly on the lead. What they asked about. What you quoted. What the next step is. Everything in one place.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Replied Thursday. Interested in sponsored post.
Wants to know rates. Follow up next week.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejr37esqeeq0om5hu4k7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejr37esqeeq0om5hu4k7.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set follow-up reminders&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When someone asks you to follow up in two weeks, set a reminder directly on the lead. Pick a date. Formgrid emails you on that day with the lead details and your notes so you have everything you need before you reply.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fewc6f691att7k7a3gatv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fewc6f691att7k7a3gatv.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See your conversion rate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As you move leads through the pipeline, your conversion rate updates automatically. 3 of 12 inquiries became clients (25%). That number tells you things a flat inbox never could.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here is what the full flow looks like:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fformgrid.dev%2Fgifs%2Flead-pipeline-demo.gif" alt="Formgrid lead pipeline demo showing form submission becoming a tracked lead with email notification pipeline status notes and follow up reminders" width="479" height="316"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Enable hCaptcha on Your Contact Form
&lt;/h2&gt;

&lt;p&gt;Formgrid includes free bot protection on all plans. For HTML endpoint forms like the one you just set up on Ghost, you can enable hCaptcha in two steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Go to your form settings in the Formgrid dashboard and enable captcha.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Add this snippet to your form just before the submit button:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Add this script once in your page --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://js.hcaptcha.com/1/api.js"&lt;/span&gt; &lt;span class="na"&gt;async&lt;/span&gt; &lt;span class="na"&gt;defer&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Add this just before your submit button --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"h-captcha"&lt;/span&gt; &lt;span class="na"&gt;data-sitekey=&lt;/span&gt;&lt;span class="s"&gt;"your-hcaptcha-site-key"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Formgrid verifies the captcha token on the server side automatically. Real visitors see a simple checkbox. Bots are blocked before they ever reach your inbox.&lt;/p&gt;

&lt;p&gt;No paid plan needed. No separate Cloudflare account. No backend code to write. It works on Ghost's HTML cards exactly as shown.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Sync Ghost Form Submissions to Google Sheets
&lt;/h2&gt;

&lt;p&gt;If you want every contact form submission to automatically appear as a row in a Google Sheet, you can set that up in your Formgrid dashboard in one click.&lt;/p&gt;

&lt;p&gt;Go to your form, click the &lt;strong&gt;Integrations&lt;/strong&gt; tab, and connect your Google account. Select the spreadsheet and sheet you want to sync to. Every new submission will appear as a new row automatically.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1hxf9ysgog3hasrti0lx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1hxf9ysgog3hasrti0lx.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57f4bkl0dyb0duenxsdr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57f4bkl0dyb0duenxsdr.png" alt=" " width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8vv4czaguek14ldaf2p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8vv4czaguek14ldaf2p.png" alt=" " width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpfu7fdzusdjtt7ee8zgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpfu7fdzusdjtt7ee8zgu.png" alt=" " width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No Zapier needed. No API setup. Works on the Premium plan at $12 per month.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjngcptywf0jxe7ql4oy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjngcptywf0jxe7ql4oy.png" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Complete Form Code With All Features
&lt;/h2&gt;

&lt;p&gt;Here is the complete version of the form with honeypot spam protection, captcha, and a custom redirect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- hCaptcha script: add once per page --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://js.hcaptcha.com/1/api.js"&lt;/span&gt; &lt;span class="na"&gt;async&lt;/span&gt; &lt;span class="na"&gt;defer&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt;
  &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt;
  &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
  &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: flex; flex-direction: column; gap: 16px; max-width: 600px;"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Name
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your full name"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Email
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"your@email.com"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Subject
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"subject"&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What is this about?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px;"&lt;/span&gt;
    &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt;
      &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: block; margin-bottom: 6px; font-weight: 600;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Message
    &lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt;
      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;
      &lt;span class="na"&gt;required&lt;/span&gt;
      &lt;span class="na"&gt;rows=&lt;/span&gt;&lt;span class="s"&gt;"6"&lt;/span&gt;
      &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"What would you like to say?"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; resize: vertical;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Honeypot: hidden from humans, filled by bots --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
    &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_honey"&lt;/span&gt;
    &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: none;"&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Custom redirect after submission --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt;
    &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"hidden"&lt;/span&gt;
    &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_redirect"&lt;/span&gt;
    &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"https://yourghost.site/thank-you"&lt;/span&gt;
  &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- hCaptcha: only needed if captcha is enabled in Formgrid settings --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"h-captcha"&lt;/span&gt; &lt;span class="na"&gt;data-sitekey=&lt;/span&gt;&lt;span class="s"&gt;"your-hcaptcha-site-key"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt;
      &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;
      &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background: #000; color: #fff; padding: 12px 28px; border: none; border-radius: 6px; font-size: 16px; font-weight: 600; cursor: pointer;"&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Send Message
    &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;your-form-id&lt;/code&gt; with your actual Formgrid form ID and &lt;code&gt;your-hcaptcha-site-key&lt;/code&gt; with your hCaptcha site key from the Formgrid dashboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  Formgrid Free Plan vs Paid Plans
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Submissions&lt;/th&gt;
&lt;th&gt;Google Sheets&lt;/th&gt;
&lt;th&gt;File Uploads&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0/month&lt;/td&gt;
&lt;td&gt;25/month&lt;/td&gt;
&lt;td&gt;10 rows one time&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Premium&lt;/td&gt;
&lt;td&gt;$12/month&lt;/td&gt;
&lt;td&gt;1,000/month&lt;/td&gt;
&lt;td&gt;500 rows/month&lt;/td&gt;
&lt;td&gt;Up to 1GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$29/month&lt;/td&gt;
&lt;td&gt;15,000/month&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Up to 1GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For a personal blog or portfolio, the free plan is enough to get started. For a business site or a newsletter with active readers, the Premium plan at $12 per month handles everything.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Formgrid Beats Every Other Ghost Contact Form Solution
&lt;/h2&gt;

&lt;p&gt;Most tutorials for Ghost contact forms use Formspree. It works, but it is a form backend that stops at the inbox. You get an email. That is it. There is no dashboard, no lead tracking, no follow-up reminders, no conversion rate.&lt;/p&gt;

&lt;p&gt;Formgrid gives you all of that at a lower price than Formspree's paid plans.&lt;/p&gt;

&lt;p&gt;Here is a quick comparison:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Formspree&lt;/th&gt;
&lt;th&gt;Formgrid&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HTML form endpoint&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Email notifications&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spam protection&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;td&gt;✅ Free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Captcha&lt;/td&gt;
&lt;td&gt;✅ Paid&lt;/td&gt;
&lt;td&gt;✅ Free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead pipeline&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Follow up reminders&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conversion tracking&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Sheets sync&lt;/td&gt;
&lt;td&gt;✅ $90/mo&lt;/td&gt;
&lt;td&gt;✅ $12/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hostable&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Free submissions&lt;/td&gt;
&lt;td&gt;50/mo&lt;/td&gt;
&lt;td&gt;25/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Starting price&lt;/td&gt;
&lt;td&gt;$15/mo&lt;/td&gt;
&lt;td&gt;$12/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The only thing Formspree wins on is the free submission count: 50 vs 25. But Formgrid gives you more for less on every paid plan and includes features Formspree charges significantly extra for.&lt;/p&gt;




&lt;h2&gt;
  
  
  Troubleshooting Common Issues
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;My form submits but I am not receiving emails&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check your spam folder first. If the email is not there, go to your Formgrid dashboard and confirm the notification email address is correctly set in your form settings. Also make sure the form endpoint URL in your HTML matches exactly the endpoint URL shown in your Formgrid dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The form shows an error after submission&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This usually means the form ID in the action URL is incorrect, or the form has been deleted. Copy the endpoint URL directly from your Formgrid dashboard and paste it fresh into your Ghost HTML card.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bots are submitting my form&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Enable captcha on your form in the Formgrid dashboard and add the hCaptcha snippet to your HTML card as shown in the captcha section above. The honeypot field in the form code already filters most bots silently, but hCaptcha adds a second layer for more aggressive bot traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Submissions are not appearing in Google Sheets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make sure you have connected your Google account under the Integrations tab and selected the correct spreadsheet and sheet. Google Sheets sync is available on the Premium plan and above.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Ghost does not have a built-in contact form. But adding one takes less than 5 minutes with Formgrid.&lt;/p&gt;

&lt;p&gt;Here is what you set up in this tutorial:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;A contact page in Ghost
An HTML form pointing to a Formgrid endpoint
Instant email notifications for every submission
A lead pipeline that tracks every inquiry
Honeypot spam protection built in
Optional hCaptcha for stronger bot blocking
Optional Google Sheets sync
Optional custom redirect after submission
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every submission becomes a tracked lead automatically. You can add notes, set follow-up reminders, mark leads as Contacted or Converted, and see your conversion rate update in real time. All from the Formgrid dashboard.&lt;/p&gt;

&lt;p&gt;You can try it free at &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt;. No credit card required.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. I wrote this tutorial as honestly as I could. If anything looks inaccurate or you run into an issue following the steps, let me know in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tooling</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Add a Free Captcha to Any HTML Form Without a Backend</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Fri, 29 May 2026 09:54:33 +0000</pubDate>
      <link>https://dev.to/allenarduino/how-to-add-a-free-captcha-to-any-html-form-without-a-backend-33hc</link>
      <guid>https://dev.to/allenarduino/how-to-add-a-free-captcha-to-any-html-form-without-a-backend-33hc</guid>
      <description>&lt;p&gt;Suppose you have ever woken up to an inbox full of spam from your own contact form; you know how frustrating it is. Random gibberish. Fake email addresses. Crypto scams. All arriving because a bot found your form and started hitting it automatically.&lt;/p&gt;

&lt;p&gt;The usual advice is to add a captcha. But most captcha tutorials assume you have a backend server to verify the token. If you are running a static site, a Webflow site, a GitHub Pages project, or any HTML form without your own server, you are stuck.&lt;/p&gt;

&lt;p&gt;This tutorial shows you how to add a working captcha to any HTML form in under 5 minutes. No backend required. No server setup. No PHP. Just a form that blocks bots automatically and turns every real submission into a tracked lead.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpc8524ns9c4n3inv4l6a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpc8524ns9c4n3inv4l6a.png" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Will Need
&lt;/h2&gt;

&lt;p&gt;You need two things:&lt;/p&gt;

&lt;p&gt;A free Formgrid account at &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt;. Formgrid is an open-source form backend and lead pipeline that handles all the captcha verification on the server side for you.&lt;/p&gt;

&lt;p&gt;An existing HTML form on your website or a new one you are about to build.&lt;/p&gt;

&lt;p&gt;That is it. No Cloudflare account. No hCaptcha account. No API keys to manage yourself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Sign Up for Formgrid
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt; and click &lt;strong&gt;Sign Up Free&lt;/strong&gt;. No credit card required.&lt;/p&gt;

&lt;p&gt;Once you are logged in, you will see your dashboard. This is where all your forms and leads live.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo249i8svlfw2paw8nsdy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo249i8svlfw2paw8nsdy.png" alt=" " width="799" height="446"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftqp2lan0extbywczv1s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftqp2lan0extbywczv1s.png" alt=" " width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create a New Form
&lt;/h2&gt;

&lt;p&gt;Click &lt;strong&gt;Create Form&lt;/strong&gt; and give your form a name. Something like "Contact Form" or "Quote Request" works fine.&lt;/p&gt;

&lt;p&gt;You do not need to use the form builder for this tutorial. You already have your own HTML form. You are just using Formgrid as the backend that receives your submissions, verifies the captcha, and tracks your leads.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9oj2r7pi4olc1se140f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9oj2r7pi4olc1se140f.png" alt=" " width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating the form, you will be taken to the form details page.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmuju25hpl7vcekzd0lxe.png" alt=" " width="799" height="489"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Step 3: Copy Your Form Endpoint URL
&lt;/h2&gt;

&lt;p&gt;On the form details page you will see your unique endpoint URL. It looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://formgrid.dev/api/f/your-form-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy this URL. You are going to use it as the action attribute of your HTML form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypbt6oe2vz699t09hnmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypbt6oe2vz699t09hnmd.png" alt=" " width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Update your HTML form to point to this endpoint:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send Message&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At this point, your form is already connected to Formgrid. Every submission will arrive as a tracked lead in your dashboard and trigger an email notification to you. But there is no captcha yet. Bots can still hit your endpoint directly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Enable Captcha on Your Form
&lt;/h2&gt;

&lt;p&gt;Go to the &lt;strong&gt;Settings&lt;/strong&gt; tab on your form details page. Scroll down until you see the &lt;strong&gt;Captcha&lt;/strong&gt; section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnsqwn6dbfztmf2lmxr95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnsqwn6dbfztmf2lmxr95.png" alt=" " width="800" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Toggle captcha on. The section will expand and show you a ready-to-copy code snippet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4e85zkoei5bic5l13qa0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4e85zkoei5bic5l13qa0.png" alt=" " width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The snippet looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Add this before your submit button --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script
  &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://js.hcaptcha.com/1/api.js"&lt;/span&gt;
  &lt;span class="na"&gt;async&lt;/span&gt; &lt;span class="na"&gt;defer&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt;
  &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"h-captcha"&lt;/span&gt;
  &lt;span class="na"&gt;data-sitekey=&lt;/span&gt;&lt;span class="s"&gt;"your-formgrid-site-key"&lt;/span&gt;
  &lt;span class="na"&gt;data-theme=&lt;/span&gt;&lt;span class="s"&gt;"light"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click the &lt;strong&gt;Copy&lt;/strong&gt; button. The full snippet is now in your clipboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: Add the Snippet to Your HTML Form
&lt;/h2&gt;

&lt;p&gt;Paste the snippet into your HTML form just above the submit button. Your complete form should now look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;

  &lt;span class="c"&gt;&amp;lt;!-- Captcha snippet from Formgrid settings --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;script
    &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://js.hcaptcha.com/1/api.js"&lt;/span&gt;
    &lt;span class="na"&gt;async&lt;/span&gt; &lt;span class="na"&gt;defer&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt;
    &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"h-captcha"&lt;/span&gt;
    &lt;span class="na"&gt;data-sitekey=&lt;/span&gt;&lt;span class="s"&gt;"your-formgrid-site-key"&lt;/span&gt;
    &lt;span class="na"&gt;data-theme=&lt;/span&gt;&lt;span class="s"&gt;"light"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send Message&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save your file and deploy your site. The captcha is now live.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Captcha Looks Like
&lt;/h2&gt;

&lt;p&gt;When a real visitor lands on your page and fills in the form, they will see a simple checkbox just above the submit button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkw1wc3qtml2h4bf84h1s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkw1wc3qtml2h4bf84h1s.png" alt=" " width="800" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They tick the box and click submit. That is all they have to do.&lt;/p&gt;

&lt;p&gt;If they try to submit without completing the captcha, they will see a friendly error message asking them to verify first. The form will not submit until they complete it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm70s7mblja44787n6zdm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm70s7mblja44787n6zdm.png" alt=" " width="800" height="628"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happens When a Bot Tries to Submit
&lt;/h2&gt;

&lt;p&gt;A bot sending direct POST requests to your form endpoint will not have a valid captcha token. Formgrid receives the submission, checks for the token, finds none, and silently blocks it.&lt;/p&gt;

&lt;p&gt;The bot receives a 200 response, so it never knows it was blocked. It just stops generating spam for your inbox.&lt;/p&gt;

&lt;p&gt;No email notification is sent. No lead is created. The submission disappears completely.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happens When a Real Person Submits
&lt;/h2&gt;

&lt;p&gt;When a real visitor completes the captcha and submits the form, three things happen immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You receive an email notification:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmt4vl38mhnbmvfyelv9d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmt4vl38mhnbmvfyelv9d.png" alt=" " width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A new lead appears in your dashboard:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every submission becomes a tracked lead with a status of New. You can add private notes after conversations, change the status to Contacted or Converted, and set a follow-up reminder so you never let a warm lead go cold.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bovs94o84q13xaw5xnd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bovs94o84q13xaw5xnd.png" alt=" " width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can manage the entire lead from one place:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No inbox hunting. No spreadsheets. No separate CRM. Every lead from every form in one clean pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cb8fr377kc79s8g6w4x.png" alt=" " width="799" height="552"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Why This Approach Works
&lt;/h2&gt;

&lt;p&gt;Most captcha implementations require you to set up a server to verify the token. You need to:&lt;/p&gt;

&lt;p&gt;Register with the captcha provider and get your own secret key. Set up a backend endpoint that receives the form submission. Call the captcha verification API from your server. Only process the submission if verification passes.&lt;/p&gt;

&lt;p&gt;That is a significant amount of backend work just to protect a contact form.&lt;/p&gt;

&lt;p&gt;Formgrid handles all of that for you. The verification happens on the Formgrid server using a pre-configured integration. You add one snippet to your HTML. Formgrid does the rest.&lt;/p&gt;

&lt;p&gt;This is especially valuable for:&lt;/p&gt;

&lt;p&gt;Static sites on GitHub Pages, Netlify, or Vercel that have no server at all. Webflow and Squarespace sites where you cannot run backend code. Developers who want to prototype quickly without setting up infrastructure. Non-technical users who built their form with AI and just need somewhere to send submissions.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Complete Flow in Plain English
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Visitor fills in your HTML form
Completes the hCaptcha checkbox
Clicks submit

Form sends data to your Formgrid endpoint
Formgrid verifies the captcha token
Token is valid: submission saved as a lead
               email notification sent to you
               lead appears in dashboard

Token is invalid or missing: submission blocked
                              no email sent
                              no lead created
                              200 returned to bot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Free Plan Includes Everything You Need
&lt;/h2&gt;

&lt;p&gt;The free plan on Formgrid includes:&lt;/p&gt;

&lt;p&gt;Up to 3 forms. 25 submissions per month. Spam protection and captcha. Email notifications on every submission. A full lead pipeline with New, Contacted, and Converted stages. A shareable form link if you want to use the form builder instead.&lt;/p&gt;

&lt;p&gt;No credit card required. No time limit. No feature restrictions on the free tier for getting started.&lt;/p&gt;

&lt;p&gt;If you outgrow 25 submissions per month, the Premium plan at $12 per month gives you 1,000 submissions, unlimited forms, Google Sheets sync, file uploads, auto-responder emails, and custom pipeline stages.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Free
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;formgrid.dev&lt;/a&gt; and create your first form. You will have captcha protection on your HTML form in under 5 minutes.&lt;/p&gt;

&lt;p&gt;No backend. No server. No credit card.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Allen Jones is the founder of Formgrid, an open-source form builder, form backend, and lead pipeline. Currently serving 300+ registered users with paying customers across Europe, North America, and Asia.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Best Form Backend for Static Sites in 2026</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Sat, 23 May 2026 08:55:54 +0000</pubDate>
      <link>https://dev.to/allenarduino/the-best-form-backend-for-static-sites-in-2026-1fae</link>
      <guid>https://dev.to/allenarduino/the-best-form-backend-for-static-sites-in-2026-1fae</guid>
      <description>&lt;p&gt;You built your site on GitHub Pages, Netlify, Vercel, or a plain HTML file. It looks great. But there is one problem.&lt;/p&gt;

&lt;p&gt;Your contact form has nowhere to go.&lt;/p&gt;

&lt;p&gt;Static sites have no server. No server means no backend. No backend means no way to process form submissions natively. You need a form backend to handle what your static site cannot.&lt;/p&gt;

&lt;p&gt;This post covers every realistic option in 2026, what each one actually costs, and which one makes the most sense depending on your use case.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Static Sites Need a Form Backend
&lt;/h2&gt;

&lt;p&gt;When a user submits a form on a regular server-rendered site, the server processes the submission, sends an email, saves it to a database, and does whatever else you configured.&lt;/p&gt;

&lt;p&gt;Static sites have none of that. The page is just HTML and CSS served from a CDN. There is no process running in the background waiting to handle submissions.&lt;/p&gt;

&lt;p&gt;Your options are:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Use a third-party form backend service
2. Write a serverless function yourself
3. Use your hosting platform's built-in forms
4. Self-host your own form backend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each approach has genuine tradeoffs. Here is the honest breakdown.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 1: Third-Party Form Backend Services
&lt;/h2&gt;

&lt;p&gt;These are hosted services that give you an endpoint URL. You point your form action at that URL, and they handle everything else.&lt;/p&gt;

&lt;h3&gt;
  
  
  Formspree
&lt;/h3&gt;

&lt;p&gt;One of the oldest form backends. Been around since 2012.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does well:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Simple and reliable
Good documentation
Works with any HTML form
Large user base
Established reputation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The honest problems:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Free plan: 50 submissions per month
           1 form only
           No spam filtering
           Submissions go straight
           to the inbox, including spam

Paid plan: $15 per month
           Spam filtering
           More submissions
           No lead management
           No pipeline
           Stops at the inbox
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The biggest limitation of Formspree is that it stops at the inbox. Every submission becomes an email. You are responsible for tracking who you contacted, who you followed up with, and who converted. There is no system for that built in.&lt;/p&gt;

&lt;p&gt;If you receive 20 enquiries per month and manually track them all in a spreadsheet or Gmail labels, Formspree works. If you want something that actually helps you manage leads, it does not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free up to 50 submissions. $15 per month for paid features.&lt;/p&gt;




&lt;h3&gt;
  
  
  Netlify Forms
&lt;/h3&gt;

&lt;p&gt;If you are already hosting on Netlify, their built-in forms are a natural first choice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does well:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Zero configuration if already on Netlify
No external service needed
Clean integration with existing workflow
Submissions visible in the Netlify dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The honest problems:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Free plan: 100 submissions per month
           Basic spam filtering only
           No email notifications by default
           Need to set up notifications manually

Paid plans: $19 per month minimum
            Still no lead management
            Basic submission storage only

Locked to Netlify:
            If you move hosting, you
            lose your form history
            Not portable
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Netlify Forms is convenient if you are already on Netlify and have low volume. The moment you outgrow 100 submissions per month or need any form of lead tracking, it falls short.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free up to 100 submissions on Netlify free tier. $19 per month for Pro.&lt;/p&gt;




&lt;h3&gt;
  
  
  Basin
&lt;/h3&gt;

&lt;p&gt;A simpler form backend aimed at developers who want clean, minimal tooling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does well:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Clean developer experience
Good spam filtering
Reasonable pricing
Simple dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The honest problems:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Free plan: 100 submissions per month
Paid plan: $15 per month
No lead pipeline
No follow-up reminders
No Google Sheets sync
Stops at the inbox like Formspree
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Basin is a solid Formspree alternative, but it solves the same problem in roughly the same way. If Formspree is not working for you, Basin is a lateral move, not an upgrade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free up to 100 submissions. $15 per month paid.&lt;/p&gt;




&lt;h3&gt;
  
  
  Web3Forms
&lt;/h3&gt;

&lt;p&gt;A newer form of backend that has grown quickly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does well:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Generous free plan
Good deliverability
Clean API
Actively maintained
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The honest problems:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Free plan: unlimited submissions
           but basic features only
Paid plan: $18 per month
No lead management
No pipeline
No follow-up system
Stops at the inbox
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Web3Forms has a genuinely generous free plan, which is why it has grown. But the same limitation applies: it stops at the inbox. Every submission becomes an email, and you manage the rest manually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free with limited features. $18 per month paid.&lt;/p&gt;




&lt;h3&gt;
  
  
  Formgrid
&lt;/h3&gt;

&lt;p&gt;Full disclosure: I built Formgrid. This is the tool I use and the one I think is the most complete solution for developers and small businesses on static sites.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cjuk68q69rjrd6i6xm8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1cjuk68q69rjrd6i6xm8.png" alt=" " width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg38g5z14an98673kw7tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg38g5z14an98673kw7tg.png" alt=" " width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does differently:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every other form backend on this list stops at the inbox. Formgrid does not.&lt;/p&gt;

&lt;p&gt;Every submission becomes a tracked lead automatically. Not just an email. A lead with a status, a notes field, a follow-up reminder, and a conversion tracking system built in.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Submission arrives
Automatically becomes a lead
Status: New
You contact them
Status: Contacted
They become a customer
Status: Converted
Conversion rate updates automatically
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can rename the stages to match your exact workflow. A quote request business might use New Request, Quote Sent, Negotiating, and Won. An event organizer might use Registered, Confirmed, Attended. The pipeline adapts to how you actually work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7cpt58pu3v6dye0l1bz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7cpt58pu3v6dye0l1bz.png" alt=" " width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Sheets sync without Zapier:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Formspree charges $90 per month for Google Sheets integration. Formgrid includes it on Premium at $12 per month. No Zapier account. No automation setup. Every submission appears as a new row in your Google Sheet automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9p1wrtar0jbmzu9pbrq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9p1wrtar0jbmzu9pbrq.png" alt=" " width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;







&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkprxt27klwbcmdv9g028.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkprxt27klwbcmdv9g028.png" alt=" " width="799" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spam protection on every plan:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I tested the same crypto spam submission on the Formspree free plan and the Formgrid free plan last week. Formspree delivered it straight to the inbox. Formgrid blocked it silently before it reached the inbox.&lt;/p&gt;

&lt;p&gt;Emoji in name fields, disposable email addresses, HTML injection, and known crypto spam patterns are filtered automatically on every plan, including free.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open source and self-hostable:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The entire codebase is on GitHub under the MIT license. If you want unlimited free usage, you can self-host on Docker. No vendor lock-in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Free: 3 forms, 25 submissions per month
Premium: $12 per month, unlimited forms,
         1000 submissions, Google Sheets,
         file uploads, CSV export,
         auto-responder emails
Business: $29 per month, everything in
          Premium plus custom HTML emails,
          unlimited Google Sheets,
          webhooks and Zapier,
          15000 submissions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Option 2: Serverless Functions
&lt;/h2&gt;

&lt;p&gt;If you are comfortable with code, you can write your own form handler as a serverless function on Vercel, Netlify, or Cloudflare Workers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Example Vercel serverless function&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;

  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;sendEmail&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;you@yourdomain.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;subject&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`New contact from &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;

  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;success&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What it does well:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Complete control
No monthly fees beyond email service
Integrates with any email provider
Customizable to any requirement
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The honest problems:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You maintain it yourself
No dashboard to view submissions
No spam protection unless you build it
No lead management unless you build it
Email delivery setup and maintenance
Cold start latency on some platforms
Debugging is your responsibility
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This approach makes sense if you are a developer who enjoys building infrastructure and has specific requirements that no service can meet. For everyone else, the maintenance overhead is not worth it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 3: Platform Built-in Forms
&lt;/h2&gt;

&lt;p&gt;Some static site platforms include form handling natively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Netlify Forms:&lt;/strong&gt; covered above.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vercel:&lt;/strong&gt; No built-in form handling. Requires serverless functions or a third-party service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Pages:&lt;/strong&gt; no built-in form handling. Requires a third-party service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webflow:&lt;/strong&gt; has basic form handling but no auto-responder emails natively. You need a third-party service for confirmation emails and lead management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Framer:&lt;/strong&gt; same limitation as Webflow. Basic form submissions only. No native auto-responder or lead management.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 4: Self-Hosted Form Backend
&lt;/h2&gt;

&lt;p&gt;If you want complete control and no monthly fees, self-hosting is a legitimate option.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools worth considering:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formgrid (open source):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MIT license
Docker deployment
Full feature set, including lead pipeline
PostgreSQL database
Runs on any VPS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Formbricks:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Open source survey and form tool
Self-hostable
More survey-focused than form backend
Good for research and feedback forms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Pocketbase:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Not a form backend specifically
But can handle form submissions
Single binary deployment
Very lightweight
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Self-hosting requires a server, maintenance, backups, and email delivery setup. For developers comfortable with DevOps, this is a great option. For everyone else, a managed service is more practical.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Honest Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Formspree&lt;/th&gt;
&lt;th&gt;Netlify Forms&lt;/th&gt;
&lt;th&gt;Basin&lt;/th&gt;
&lt;th&gt;Web3Forms&lt;/th&gt;
&lt;th&gt;Formgrid&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free submissions&lt;/td&gt;
&lt;td&gt;50/month&lt;/td&gt;
&lt;td&gt;100/month&lt;/td&gt;
&lt;td&gt;100/month&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;25/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paid price&lt;/td&gt;
&lt;td&gt;$15/month&lt;/td&gt;
&lt;td&gt;$19/month&lt;/td&gt;
&lt;td&gt;$15/month&lt;/td&gt;
&lt;td&gt;$18/month&lt;/td&gt;
&lt;td&gt;$12/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spam filtering&lt;/td&gt;
&lt;td&gt;Paid only&lt;/td&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;All plans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead pipeline&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Follow up reminders&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Sheets sync&lt;/td&gt;
&lt;td&gt;$90/month&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;$12/month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-responder&lt;/td&gt;
&lt;td&gt;Paid&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Premium&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hostable&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Which One Should You Use?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use Formspree if:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are already using it
Your use case is simple
You just need email notifications
You have fewer than 50 submissions
per month
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Use Netlify Forms if:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are already on Netlify
You have very low form volume
You do not need email notifications
immediately, and are okay with configuring them
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Use a serverless function if:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are a developer who wants
complete control
You have specific requirements
no service can meet
You enjoy building and maintaining
infrastructure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Use Formgrid if:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You want more than just email notifications
You want to track leads after they submit
You want Google Sheets sync without Zapier
You want spam filtering on the free plan
You want an open source option, you can
self-host if needed
You are managing enquiries for a
real business and need to follow up
without losing track of anyone
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  How to Connect Any HTML Form to Formgrid
&lt;/h2&gt;

&lt;p&gt;If you are currently using Formspree or no form backend at all, switching to Formgrid takes about 5 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Create a free account at formgrid.dev&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Create a new form and copy your endpoint URL&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Update your HTML form action&lt;/p&gt;

&lt;p&gt;From this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;
&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formspree.io/f/your-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;
&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Submit a test form to confirm it is working&lt;/p&gt;

&lt;p&gt;That is it. Your form is live. Every submission now arrives as a tracked lead in your Formgrid dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0rrawabzryibpa0ac03.png" alt=" " width="800" height="542"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Adding the Honeypot Field for Spam Protection
&lt;/h2&gt;

&lt;p&gt;For HTML forms on your own site, add this hidden field inside your form tag to enable honeypot spam protection:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; 
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; 
  &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_honey"&lt;/span&gt; 
  &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display:none"&lt;/span&gt; 
  &lt;span class="na"&gt;tabindex=&lt;/span&gt;&lt;span class="s"&gt;"-1"&lt;/span&gt; 
  &lt;span class="na"&gt;autocomplete=&lt;/span&gt;&lt;span class="s"&gt;"off"&lt;/span&gt; 
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bots fill in every field, including hidden ones. This catches them automatically. Legitimate users never see or interact with this field.&lt;/p&gt;

&lt;p&gt;If you are using the Formgrid form builder, the honeypot field is added automatically. No extra code needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Every form backend on this list will get your form submissions to your inbox. The question is what happens after that.&lt;/p&gt;

&lt;p&gt;If you want to just receive emails, Formspree, Basin, and Web3Forms all work fine. Pick the one with the free tier that fits your volume.&lt;/p&gt;

&lt;p&gt;If you want to actually manage the leads that come through those forms, know who you contacted, set follow-up reminders, and track how many enquiries became customers, then Formgrid is the only option on this list that does that without requiring a separate CRM.&lt;/p&gt;

&lt;p&gt;For most developers building client sites or running small businesses, the lead management features pay for themselves the first time you close a deal you would otherwise have forgotten to follow up on.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://formgrid.dev/app/signup" rel="noopener noreferrer"&gt;Start free at formgrid.dev&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>backend</category>
      <category>saas</category>
      <category>serverless</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Tested Spam Protection on Formspree vs Formgrid. The Results Were Surprising.</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Fri, 22 May 2026 16:12:14 +0000</pubDate>
      <link>https://dev.to/allenarduino/i-tested-spam-protection-on-formspree-vs-formgrid-the-results-were-surprising-19c6</link>
      <guid>https://dev.to/allenarduino/i-tested-spam-protection-on-formspree-vs-formgrid-the-results-were-surprising-19c6</guid>
      <description>&lt;p&gt;If you use Formspree to handle your HTML form submissions, you may have noticed something frustrating lately.&lt;/p&gt;

&lt;p&gt;Spam is getting worse. And Formspree is not stopping it.&lt;/p&gt;

&lt;p&gt;I ran a simple test last week that confirmed what many Formspree users are already experiencing. Here is exactly what happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Test
&lt;/h2&gt;

&lt;p&gt;I set up two identical contact forms. One pointing to a Formspree free plan endpoint. One pointing to a Formgrid free plan endpoint.&lt;/p&gt;

&lt;p&gt;Then I submitted this spam to both:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Name: 💰 Top Up 36,824.92 USDC ⇒⇒ graph.org/BALANCE-3682444-USD-04-21-3?hs=a4973c2d49735de24405dc4e9935f590&amp;amp; 💰
Email: oijm2lwwnxhwqn@wshu.net
Message: dxospb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a real spam submission. Not something I made up. It was submitted to a real business contact form on 20 May 2026 at 8:26 AM.&lt;/p&gt;

&lt;h3&gt;
  
  
  Form submission from Form powered by Formgrid
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3i3fyp8z11g4asbgrwdn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3i3fyp8z11g4asbgrwdn.png" alt=" " width="800" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Form submission from form powered by Formspree
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1faqzrst1r27ns148v0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1faqzrst1r27ns148v0.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happened on Formspree
&lt;/h2&gt;

&lt;p&gt;The submission went straight to the inbox. No filtering. No blocking. The business owner received the full spam email notification with the cryptocurrency scam content, the disposable email address, and the random gibberish fields.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftck9lkc03mmjwbevlnip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftck9lkc03mmjwbevlnip.png" alt=" " width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a Formspree free plan limitation. Spam filtering is not included on the free plan. Every submission, regardless of content, goes directly to your inbox.&lt;/p&gt;

&lt;p&gt;For a solo developer or small business owner, this is annoying. For a team like a counselling service or a professional services firm, receiving this kind of content in a shared inbox is genuinely disruptive.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happened on Formgrid
&lt;/h2&gt;

&lt;p&gt;Nothing arrived.&lt;/p&gt;

&lt;p&gt;The submission was silently blocked before it ever reached the inbox. No email notification. No lead created in the dashboard. The spam never existed as far as the form owner was concerned.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3z6eaaifsvweolk7eeb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3z6eaaifsvweolk7eeb.png" alt=" " width="800" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Formgrid detected multiple red flags in the submission automatically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Emoji in the name field:
💰 symbols are not legitimate names

Cryptocurrency content:
USDC and balance transfer patterns are known spam signals

Disposable email address: wshu.net is a known throwaway email domain

URL in the name field: graph.org link embedded in what
should be a name field

Gibberish fields:
yp574z, uujdgc, and dxospb are random
character strings not legitimate data

Arrow patterns:
⇒⇒ is a common spam formatting pattern
used in crypto scam submissions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All of these checks run automatically on every Formgrid form on every plan, including free. The form owner never configured anything. &lt;br&gt;
The spam was blocked without any action required.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why This Matters for Your Business
&lt;/h2&gt;

&lt;p&gt;Most contact forms collect inquiries from real people with real problems your business can solve. When spam floods your inbox, it buries those real inquiries.&lt;/p&gt;

&lt;p&gt;A counselling service receiving cryptocurrency scam content in their team inbox is not just annoying. It is inappropriate and disruptive to their workflow.&lt;/p&gt;

&lt;p&gt;A small business owner checking their form submissions and seeing spam instead of genuine leads is wasting time and losing confidence in their tools.&lt;/p&gt;

&lt;p&gt;Form spam is not a minor inconvenience. It directly affects your ability to respond to real customers quickly.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Formspree Spam Problem Is Getting Worse
&lt;/h2&gt;

&lt;p&gt;Formspree has been around since 2012. Their free plan has always had limited spam protection. As bots become more sophisticated, the gap between what Formspree filters and what actually gets through continues to widen.&lt;/p&gt;

&lt;p&gt;Their paid plans at $15 per month include reCAPTCHA and additional spam filtering. But that means paying $15 per month just to stop obvious spam that should never reach your inbox in the first place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7mzye172jqanrej4jfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7mzye172jqanrej4jfj.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What Formgrid Does Differently
&lt;/h2&gt;

&lt;p&gt;Formgrid runs platform level spam checks on every single submission across every form on the platform automatically. These checks cannot be disabled and apply to every plan, including free.&lt;/p&gt;

&lt;p&gt;The checks include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Emoji detection in name fields.&lt;/strong&gt; Legitimate names do not contain cryptocurrency symbols or emoji.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disposable email domain blocking.&lt;/strong&gt; A database of known throwaway email services like wshu.net, yopmail.com, and mailinator.com is blocked automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;URL detection in name fields.&lt;/strong&gt; Real names do not contain links. If a name field contains a URL, it is spam.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML injection blocking.&lt;/strong&gt; Any submission containing HTML tags like anchor links or script tags is silently filtered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gibberish field detection.&lt;/strong&gt; Random character strings in fields that should contain readable text are flagged automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cryptocurrency and casino keyword filtering.&lt;/strong&gt; Known spam content patterns are matched and blocked before reaching your inbox.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Arrow pattern detection.&lt;/strong&gt; Spam formatting patterns like ⇒⇒ used in crypto scam submissions are detected and blocked.&lt;/p&gt;

&lt;p&gt;All of this runs silently. The spammer receives a successful response, so they never know they were blocked. You never see the submission. Your team never sees the content.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3b0zmitrcodo905bdl8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3b0zmitrcodo905bdl8.png" alt=" " width="800" height="655"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Honest Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Formspree&lt;/th&gt;
&lt;th&gt;Formgrid&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Spam filtering&lt;/td&gt;
&lt;td&gt;Paid only&lt;/td&gt;
&lt;td&gt;All plans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Emoji blocking&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disposable email blocking&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTML injection blocking&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gibberish detection&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crypto spam blocking&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price for spam filtering&lt;/td&gt;
&lt;td&gt;$15/month&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  How to Switch From Formspree to Formgrid
&lt;/h2&gt;

&lt;p&gt;Switching takes about 5 minutes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a free account at formgrid.dev&lt;/li&gt;
&lt;li&gt;Create a new form in your dashboard&lt;/li&gt;
&lt;li&gt;Copy your Formgrid endpoint URL&lt;/li&gt;
&lt;li&gt;Replace your Formspree action URL with your Formgrid endpoint URL&lt;/li&gt;
&lt;li&gt;Submit a test form to confirm it is working&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your existing form HTML does not change. Your fields stay the same. Only the action URL changes.&lt;/p&gt;

&lt;p&gt;From this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formspree.io/f/your-form-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/f/your-form-id"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One line. Five minutes. No more spam in your inbox.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52iqt05dyxfuobjbsz3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52iqt05dyxfuobjbsz3i.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Start Free
&lt;/h2&gt;

&lt;p&gt;Formgrid is free to start with no credit card required. Spam protection is included on every plan, including free.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;Start free at formgrid.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are currently on Formspree and tired of spam reaching your inbox, give Formgrid a try. The switch takes 5 minutes, and your team will never see cryptocurrency scam content in their inbox again.&lt;/p&gt;

</description>
      <category>spam</category>
      <category>formspree</category>
      <category>formbackend</category>
      <category>forms</category>
    </item>
    <item>
      <title>How to Send a Confirmation Email to Your Webflow Form Submitters Without Zapier or Make</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Sun, 17 May 2026 10:51:26 +0000</pubDate>
      <link>https://dev.to/allenarduino/how-to-send-a-confirmation-email-to-your-webflow-form-submitters-without-zapier-or-make-pc3</link>
      <guid>https://dev.to/allenarduino/how-to-send-a-confirmation-email-to-your-webflow-form-submitters-without-zapier-or-make-pc3</guid>
      <description>&lt;p&gt;Someone fills out your Webflow contact form. &lt;br&gt;
They click submit. They wait.&lt;/p&gt;

&lt;p&gt;Nothing arrives in their inbox.&lt;/p&gt;

&lt;p&gt;No confirmation. No acknowledgement. &lt;br&gt;
No "thank you, we received your message." &lt;br&gt;
Just silence.&lt;/p&gt;

&lt;p&gt;They wonder if the form worked. &lt;br&gt;
They submit it again. You receive two identical enquiries and have no idea which one to respond to.&lt;/p&gt;

&lt;p&gt;This is one of the most common frustrations Webflow users run into. Your form looks professional. Your site looks polished. &lt;br&gt;
But the moment someone submits your form, they get nothing back.&lt;/p&gt;

&lt;p&gt;This post explains exactly why this happens, why the most commonly suggested fixes no longer work, and how to solve it completely &lt;br&gt;
in about 5 minutes, without Zapier, Make, or MailerSend.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why Webflow Cannot Send Confirmation Emails to Submitters
&lt;/h2&gt;

&lt;p&gt;Webflow's native form handling notifies you when someone submits your form. Not to notify them.&lt;/p&gt;

&lt;p&gt;By default, Webflow sends an email to the address associated with your Webflow account every time a form is submitted. You can &lt;br&gt;
customize who receives that notification, what the subject line says, and what the body contains.&lt;/p&gt;

&lt;p&gt;But that notification goes to you. &lt;br&gt;
Not to the person who submitted the form.&lt;/p&gt;

&lt;p&gt;There is no native setting in Webflow that sends an automatic confirmation email back to the submitter the moment they fill in &lt;br&gt;
your form.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Happened to Webflow Logic
&lt;/h2&gt;

&lt;p&gt;For a while, there was hope that Webflow Logic would solve this. Webflow Logic was an automation feature that allowed you to build &lt;br&gt;
workflows triggered by form submissions, including sending emails to submitters.&lt;/p&gt;

&lt;p&gt;Webflow Logic was discontinued on June 27, 2025.&lt;/p&gt;

&lt;p&gt;If you have read tutorials suggesting you use Webflow Logic for auto-responder emails, those tutorials are now outdated. Webflow Logic no longer exists.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Workaround Most People Find
&lt;/h2&gt;

&lt;p&gt;After discovering that Webflow cannot do this natively, most people find the same workaround:&lt;br&gt;
Connect Webflow to Make&lt;br&gt;
Connect Make to MailerSend&lt;br&gt;
Build a scenario that triggers when a form is submitted&lt;br&gt;
Map the form fields to email variables&lt;br&gt;
Send the confirmation email through MailerSend&lt;/p&gt;

&lt;p&gt;This works. But it requires:&lt;br&gt;
A Make account: $9 to $16 per month&lt;br&gt;
A MailerSend account: free to $30 per month&lt;br&gt;
Several hours to set up and test&lt;br&gt;
A dependency on three separate services&lt;br&gt;
that can each break independently&lt;/p&gt;

&lt;p&gt;You are paying for multiple subscriptions and maintaining a complex integration just to send one confirmation email when someone fills in a form.&lt;/p&gt;

&lt;p&gt;There is a simpler way.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Simpler Solution: Replace the Webflow Form With a Formgrid Endpoint
&lt;/h2&gt;

&lt;p&gt;Formgrid is an open-source form backend that works with any website, including Webflow. Instead of Webflow handling your form submissions, you point your form at a Formgrid endpoint URL.&lt;/p&gt;

&lt;p&gt;Formgrid receives every submission, saves it to your dashboard, sends you an email notification, and automatically sends a branded confirmation email back to the person who submitted the form.&lt;/p&gt;

&lt;p&gt;Auto-responder emails are included on the Premium plan at $12 per month. &lt;br&gt;
No Zapier. No Make. No MailerSend. &lt;br&gt;
No complex scenarios to build or maintain.&lt;/p&gt;

&lt;p&gt;Here is exactly how to set it up.&lt;/p&gt;


&lt;h2&gt;
  
  
  What You Will Need
&lt;/h2&gt;

&lt;p&gt;A Formgrid account: Sign up for free at formgrid.dev&lt;br&gt;
No credit card required&lt;br&gt;
Auto-responder emails are available&lt;br&gt;
on Premium at $12 per month&lt;br&gt;
A Webflow site with a form:&lt;br&gt;
Any Webflow form works&lt;br&gt;
Contact forms, enquiry forms,&lt;br&gt;
registration forms, booking forms&lt;br&gt;
A Google account (optional):&lt;br&gt;
If you also want submissions to land&lt;br&gt;
in Google Sheets automatically&lt;/p&gt;


&lt;h2&gt;
  
  
  Part One: Set Up Your Formgrid Form
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Step 1: Create Your Formgrid Account
&lt;/h3&gt;

&lt;p&gt;Go to formgrid.dev and sign up using Google or your email address. &lt;br&gt;
No credit card required.&lt;/p&gt;

&lt;p&gt;The free plan lets you test the setup and receive submissions. Upgrade to Premium at $12 per month to enable auto-responder emails.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Create a New Form
&lt;/h3&gt;

&lt;p&gt;Once you are in your Formgrid dashboard, click New Form. Give it a name that matches the Webflow form you are connecting to. For example, "Contact Form" or "Booking Enquiry."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozar28d2u9v4whi05ogg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozar28d2u9v4whi05ogg.png" alt="Formgrid dashboard and new form creation" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You are not building a form inside Formgrid here. You are registering a form entry in your dashboard so Formgrid knows where to route incoming submissions from Webflow. Your actual form fields stay exactly as they are in Webflow.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Copy Your Endpoint URL
&lt;/h3&gt;

&lt;p&gt;After creating your form, open it in your Formgrid dashboard. You will see your unique endpoint URL displayed prominently in the Overview tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2n2wk1glt9b8u3dp89g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2n2wk1glt9b8u3dp89g.png" alt="Formgrid endpoint URL on form details page" width="799" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copy this URL. You will need it in the next section when you update your Webflow form settings.&lt;/p&gt;

&lt;p&gt;This URL is permanent. It does not change when you update your form &lt;br&gt;
settings, connect integrations, or make any other changes inside Formgrid. You set it once in Webflow and never need to touch it again.&lt;/p&gt;


&lt;h2&gt;
  
  
  Part Two: Update Your Webflow Form
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Step 4: Open Your Webflow Form Settings
&lt;/h3&gt;

&lt;p&gt;Log in to your Webflow account and open the project containing the form you want to connect. In the Webflow Designer, click &lt;br&gt;
on your form element to select it. Then open the form settings panel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqrh4p9qubld1lolwpy61.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqrh4p9qubld1lolwpy61.png" alt="Webflow Designer with form element selected" width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe17qjmejocjann5mayyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe17qjmejocjann5mayyu.png" alt="Webflow form settings panel" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 5: Set the Form Action URL
&lt;/h3&gt;

&lt;p&gt;In the form settings panel, locate the Action field. By default, this is either empty or set to Webflow's internal submission handler.&lt;/p&gt;

&lt;p&gt;Replace the existing value with your &lt;br&gt;
Formgrid endpoint URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://formgrid.dev/api/f/your-form-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set the Method to POST if it is not already set.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feppst7xj0cdchj86ykey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feppst7xj0cdchj86ykey.png" alt="Webflow form action URL field updated with Formgrid endpoint" width="520" height="738"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Check Your Field Names
&lt;/h3&gt;

&lt;p&gt;Formgrid uses the name attribute of each form field to identify submissions and to populate variables in your auto-responder email.&lt;/p&gt;

&lt;p&gt;In the Webflow Designer, click on each input field in your form and check the name value in the element settings panel. Make sure the email field is named "email" exactly. Formgrid uses this &lt;br&gt;
field to know where to send the confirmation email.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgyh2t3it2cf7bzwjp1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgyh2t3it2cf7bzwjp1n.png" alt="Webflow form field name settings panel" width="800" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Field names like "name", "email", "phone", and "message" will produce &lt;br&gt;
clean, readable variables in your auto-responder template. Update any &lt;br&gt;
that are unclear or auto-generated by Webflow.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 7: Publish Your Webflow Site
&lt;/h3&gt;

&lt;p&gt;Once you have updated the form action URL and reviewed your field names, publish your Webflow site to push the changes live. The Formgrid endpoint will not receive any submissions until your site is published.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 8: Submit a Test Entry
&lt;/h3&gt;

&lt;p&gt;Before setting up the auto-responder, confirm that submissions are reaching Formgrid correctly. Visit your live Webflow site, fill in your form with test data, and submit it.&lt;/p&gt;

&lt;p&gt;Open your Formgrid dashboard and check the submissions list for your form. The test entry should appear within a few seconds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9avjnvjdz3vq950iznj8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9avjnvjdz3vq950iznj8.png" alt="Formgrid submissions list showing test entry" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the submission does not appear, go back to your Webflow form settings and confirm that the action URL is set correctly and that the method is POST. Also, confirm that you published the site after making the change, since unpublished changes in Webflow do not take effect on the live site.&lt;/p&gt;


&lt;h2&gt;
  
  
  Part Three: Set Up Auto-Responder Emails in Formgrid
&lt;/h2&gt;

&lt;p&gt;This is where Formgrid replaces the entire Webflow + Make + MailerSend workflow. Auto-responder emails are built directly into Formgrid. No external services required.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 9: Open Your Form Settings
&lt;/h3&gt;

&lt;p&gt;In your Formgrid dashboard, open the form you just connected and click the Settings tab at the top of the page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7096x1s7s71rbzqzl9io.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7096x1s7s71rbzqzl9io.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 10: Find the Auto-Responder Section
&lt;/h3&gt;

&lt;p&gt;Scroll down to the Auto-Responder Emails section. If you are on the &lt;br&gt;
Premium plan at $12 per month, you will see the full auto-responder &lt;br&gt;
configuration. If you are on the free plan, you will see a prompt &lt;br&gt;
to upgrade.&lt;/p&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ny46e1zjbdinyiedetc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ny46e1zjbdinyiedetc.png" alt=" " width="800" height="613"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 11: Enable the Auto-Responder
&lt;/h3&gt;

&lt;p&gt;Toggle the auto-responder on. Once enabled, Formgrid will automatically send a confirmation email to the email address submitted in your form every time someone fills it in.&lt;/p&gt;

&lt;p&gt;The email field in your Webflow form must be named "email" for Formgrid to know where to send the confirmation. If your email field has a different name attribute, update it in your Webflow Designer and republish.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 12: Write Your Auto-Responder Email
&lt;/h3&gt;

&lt;p&gt;Set your subject line and write the body of your confirmation email.&lt;/p&gt;

&lt;p&gt;Formgrid uses Mustache templating, which lets you personalize the &lt;br&gt;
confirmation email with the actual values submitted in the form.&lt;/p&gt;

&lt;p&gt;The available variables are:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight handlebars"&gt;&lt;code&gt;&lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_formName&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;    
Name of your form

&lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_time&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;        
Submission timestamp

&lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;fieldName&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;    
Any field by its exact name attribute

&lt;span class="k"&gt;{{#&lt;/span&gt; &lt;span class="nv"&gt;fields&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;      
Loop through all fields
  &lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_name&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;      Field label
  &lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_value&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;     Field value
&lt;span class="k"&gt;{{/&lt;/span&gt; &lt;span class="nv"&gt;fields&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;      
Close the loop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example if your Webflow form &lt;br&gt;
has a field with name="name" you &lt;br&gt;
can use {{ name }} in your &lt;br&gt;
auto-responder to greet the &lt;br&gt;
submitter by their actual name.&lt;/p&gt;

&lt;p&gt;A simple confirmation email &lt;br&gt;
template that works for any form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto; 
            color: #1f2937;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Thanks for reaching out
  &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    Hi {{ name }}, we have received 
    your message and will get back 
    to you shortly.
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #6b7280;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Here is a summary of what 
    you submitted:
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  {{# fields }}
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin-bottom: 12px; 
              border-bottom: 1px solid #f3f4f6; 
              padding-bottom: 12px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin: 0; 
              font-size: 11px; 
              color: #9ca3af; 
              text-transform: uppercase; 
              letter-spacing: 0.05em;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      {{ _name }}
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin: 4px 0 0; 
              font-size: 14px; 
              color: #374151;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      {{ _value }}
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  {{/ fields }}

  &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin-top: 24px; 
            color: #6b7280; 
            font-size: 13px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Submitted: {{ _time }}
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For a booking or registration form where you want a more specific &lt;br&gt;
branded confirmation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto; 
            color: #1f2937;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d; 
             border-bottom: 2px solid #e8f3ee; 
             padding-bottom: 10px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Your enquiry has been received
  &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    Hi {{ name }},
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    Thank you for getting in touch. 
    We have received your enquiry and 
    someone from our team will respond 
    within 24 hours.
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    If you have any urgent questions 
    in the meantime feel free to 
    reply directly to this email.
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;hr&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"border: none; 
             border-top: 1px solid #e5e7eb; 
             margin: 24px 0;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 12px; 
            color: #9ca3af;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Submitted: {{ _time }}
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The variable {{ name }} must match the name attribute of your Webflow &lt;br&gt;
form field exactly. If your name field has name="fullName" then use &lt;br&gt;
{{ fullName }} in your template.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 13: Preview and Save
&lt;/h3&gt;

&lt;p&gt;Click Preview to see exactly how your confirmation email will look &lt;br&gt;
with sample data substituted in. When you are happy with it, click &lt;br&gt;
Save.&lt;/p&gt;

&lt;p&gt;From this point on, every submission through your Webflow form will &lt;br&gt;
automatically trigger a confirmation email to the submitter. Every single time. Instantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Part Four: Test the Full Flow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 14: Submit a Real Test Entry
&lt;/h3&gt;

&lt;p&gt;Visit your live Webflow site and fill in your form using a real email address you have access to. Submit the form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqiq0rdylhcebojfap9yc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqiq0rdylhcebojfap9yc.png" alt=" " width="800" height="574"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Within a few seconds, you should receive &lt;br&gt;
two emails:&lt;br&gt;
Email 1: Your notification email&lt;br&gt;
Sent to you as the form owner&lt;br&gt;
Contains the submission data&lt;br&gt;
Email 2: The auto-responder confirmation&lt;br&gt;
Sent to the email address you submitted&lt;br&gt;
Contains your branded confirmation message&lt;/p&gt;

&lt;p&gt;Your Notification Email:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmfku0032yss58mm2u9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmfku0032yss58mm2u9t.png" alt=" " width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Auto-responder/Confirmation Email:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6jr2yac44kwn4f0ggfp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6jr2yac44kwn4f0ggfp.png" alt=" " width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the auto-responder does not arrive, check your spam folder first. Then confirm in your Formgrid settings that the auto-responder is toggled on and that your form has an "email" field named correctly.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Complete Flow Looks Like
&lt;/h2&gt;

&lt;p&gt;Once everything is set up here is exactly what happens every time &lt;br&gt;
someone fills in your Webflow form:&lt;br&gt;
Visitor fills in your Webflow form&lt;br&gt;
and clicks Submit&lt;br&gt;
↓&lt;br&gt;
The browser sends the data directly&lt;br&gt;
to your Formgrid endpoint&lt;br&gt;
↓&lt;br&gt;
Formgrid receives and saves the&lt;br&gt;
submission to your dashboard&lt;br&gt;
↓&lt;br&gt;
Email notification sent to you&lt;br&gt;
and any other configured recipients&lt;br&gt;
↓&lt;br&gt;
Auto-responder confirmation email&lt;br&gt;
sent instantly to the submitter&lt;br&gt;
↓&lt;br&gt;
Spam protection runs in the background&lt;br&gt;
to filter out bot submissions&lt;br&gt;
↓&lt;br&gt;
If Google Sheets is connected, a new&lt;br&gt;
row is added to your spreadsheet&lt;/p&gt;

&lt;p&gt;Your submitter gets an instant professional confirmation. You get &lt;br&gt;
a clean, organized notification. The submission is saved in your &lt;br&gt;
Formgrid dashboard as a tracked lead. All of this happens automatically with no Zapier, no Make, and no &lt;br&gt;
MailerSend involved.&lt;/p&gt;




&lt;h2&gt;
  
  
  Comparing the Two Approaches
&lt;/h2&gt;

&lt;p&gt;Here is the honest comparison between the Webflow + Make + MailerSend &lt;br&gt;
workaround and the Formgrid approach:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webflow + Make + MailerSend:&lt;/strong&gt;&lt;br&gt;
Setup time: 2 to 4 hours&lt;br&gt;
Monthly cost: $9 to $46 across&lt;br&gt;
three services&lt;br&gt;
Dependencies: three separate services&lt;br&gt;
that can each break&lt;br&gt;
independently&lt;br&gt;
Maintenance: occasional scenario&lt;br&gt;
failures to debug&lt;br&gt;
Delay: slight delay between submission and confirmation email&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formgrid Premium:&lt;/strong&gt;&lt;br&gt;
Setup time: 5 to 10 minutes&lt;br&gt;
Monthly cost: $12 per month total&lt;br&gt;
Dependencies: one service&lt;br&gt;
Maintenance: none&lt;br&gt;
Delay: confirmation sent instantly&lt;br&gt;
on submission&lt;/p&gt;




&lt;h2&gt;
  
  
  What Else Is Included in Formgrid Premium
&lt;/h2&gt;

&lt;p&gt;Auto-responder emails are just one part of the Formgrid Premium plan &lt;br&gt;
at $12 per month. The full plan includes:&lt;br&gt;
1,000 submissions per month&lt;br&gt;
File uploads up to 1GB per file&lt;br&gt;
Google Sheets syncs 500 rows per month&lt;br&gt;
Lead pipeline&lt;br&gt;
CSV export of all submissions&lt;br&gt;
Remove Formgrid branding&lt;br&gt;
Up to 3 email notification recipients&lt;br&gt;
Auto-responder emails to submitters&lt;br&gt;
Advanced spam protection&lt;/p&gt;

&lt;p&gt;And if you need custom-branded email templates for your notification emails or unlimited Google Sheets sync, the &lt;br&gt;
Business plan at $29 per month includes &lt;br&gt;
everything in Premium plus:&lt;br&gt;
Custom HTML email templates&lt;br&gt;
Unlimited Google Sheets sync&lt;br&gt;
Webhooks and Zapier integration&lt;br&gt;
15,000 submissions per month&lt;br&gt;
Priority support with direct access&lt;br&gt;
to the founder&lt;/p&gt;




&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Does this replace my Webflow form &lt;br&gt;
or modify it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It replaces where Webflow sends the submission data. Your form still looks and works the same for your visitors. The only change is in the &lt;br&gt;
form Action URL setting in your Webflow Designer. Your form design, &lt;br&gt;
fields, and styling are completely unchanged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if my Webflow form has a &lt;br&gt;
field named something other than &lt;br&gt;
"email"?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Formgrid looks for a field named &lt;br&gt;
"email" to send the auto-responder. If your email field has a different name attribute, update it in your &lt;br&gt;
Webflow Designer to "email" and republish your site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will my Webflow success message &lt;br&gt;
still show after submission?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Webflow shows its success message based on the form submission event in the browser. Since you are still submitting the same Webflow form, the success message behavior is unchanged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I use this with multiple &lt;br&gt;
Webflow forms?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Create a separate form in your Formgrid dashboard for each Webflow form you want to connect. Each one gets its own endpoint URL and its own auto-responder configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happens if someone submits &lt;br&gt;
the form but enters a fake email?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The auto-responder will attempt to deliver to whatever email was entered. If the email bounces or does not exist, Formgrid handles the bounce gracefully. The submission is still saved to your dashboard, so you never lose the data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is Formgrid open source?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Formgrid is fully open source under the MIT license. You can &lt;br&gt;
self-host it for free using Docker if you prefer to run your own &lt;br&gt;
instance rather than using the managed version.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Webflow builds beautiful websites. But when it comes to sending &lt;br&gt;
confirmation emails back to your form submitters, it has never offered a native solution. Webflow Logic was the closest thing to a fix, and it was discontinued in June 2025.&lt;/p&gt;

&lt;p&gt;The workaround of connecting Webflow to Make to MailerSend works, but it is complex, expensive, and fragile. Three tools that can each fail &lt;br&gt;
independently for a feature that should be a single checkbox.&lt;/p&gt;

&lt;p&gt;Formgrid solves this with one endpoint URL change in your Webflow &lt;br&gt;
Designer and a few minutes of configuration in your Formgrid &lt;br&gt;
dashboard. Every submitter gets an instant professional confirmation. &lt;br&gt;
Every submission is saved as a tracked lead in your dashboard. Google Sheets sync is included. No Zapier required.&lt;/p&gt;

&lt;p&gt;If you are running a Webflow site and your form submitters are currently getting no confirmation after they submit, this setup will fix that completely in the time it takes to make a coffee.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;Start free at formgrid.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No credit card required. &lt;br&gt;
Auto-responder emails are available &lt;br&gt;
on Premium at $12 per month. &lt;br&gt;
Upgrade when you are ready.&lt;/p&gt;

&lt;p&gt;If you have questions about connecting your specific Webflow &lt;br&gt;
form, reply in the comments or email &lt;a href="mailto:allen@formgrid.dev"&gt;allen@formgrid.dev&lt;/a&gt; directly. &lt;br&gt;
I read and reply to every message.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. &lt;br&gt;
Written as honestly as I could. &lt;br&gt;
Let me know in the comments if &lt;br&gt;
anything looks off or inaccurate.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>automation</category>
      <category>nocode</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>6 Months After Launching Formgrid From Ghana: $86 MRR, 290+ Users, and What I Actually Learned</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Sat, 16 May 2026 16:32:44 +0000</pubDate>
      <link>https://dev.to/allenarduino/almost-8-months-building-formgrid-from-ghana-86-mrr-290-users-and-what-i-actually-learnt-4imp</link>
      <guid>https://dev.to/allenarduino/almost-8-months-building-formgrid-from-ghana-86-mrr-290-users-and-what-i-actually-learnt-4imp</guid>
      <description>&lt;p&gt;About 8 months ago, I started building Formgrid privately in Ghana with no funding, no audience, and no guarantee anyone would care. Two months in, I launched publicly. No waitlist. No big announcement. Just a product that was ready enough to show the world.&lt;/p&gt;

&lt;p&gt;Today, Formgrid has 290+ registered users, 8 paying customers across Europe, Asia, and North America, and $86 MRR. Every single paying customer came from organic content. Zero paid advertising. &lt;br&gt;
Zero investors.&lt;/p&gt;

&lt;p&gt;This is the honest story of what those 8 months actually looked like.&lt;/p&gt;

&lt;p&gt;I was not building Formgrid full-time.&lt;/p&gt;

&lt;p&gt;Throughout this entire period, I was also working as a Frontend Developer for a German company. Formgrid was built in the gaps. Early mornings before work. Late nights. Weekends when I had free time.&lt;/p&gt;

&lt;p&gt;I am telling you this because most building-in-public posts make it sound like the founder was heads down on their product full-time. I was not. And if you are building something on the side while &lt;br&gt;
holding down a job or contract work, this story is more relevant to you than you might think.&lt;/p&gt;

&lt;p&gt;The constraints actually helped. Having limited time forced me to be ruthless about what mattered. No time to over-engineer. No time &lt;br&gt;
to overthink. Ship it. See if it &lt;br&gt;
works. Move on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg6lk40mqnm901f26xwf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg6lk40mqnm901f26xwf.png" alt=" " width="799" height="439"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built It
&lt;/h2&gt;

&lt;p&gt;I kept running into the same problem as a developer. Every time I built a landing page or a static site, I needed a contact form. &lt;br&gt;
And every contact form meant setting up a backend, configuring email, handling spam, and maintaining infrastructure forever.&lt;/p&gt;

&lt;p&gt;All of that overhead just to receive a message from a visitor.&lt;/p&gt;

&lt;p&gt;The tools that existed either charged too much, locked basic features behind expensive plans, or stopped at the inbox. A form submission &lt;br&gt;
would arrive as an email, and then what? There was no way to track whether you followed up, whether the lead converted, or whether &lt;br&gt;
it went cold while buried in your inbox.&lt;/p&gt;

&lt;p&gt;I built Formgrid to solve both problems at once.&lt;/p&gt;

&lt;p&gt;Point your HTML form at a Formgrid endpoint, and every submission becomes a tracked lead with email notifications, Google Sheets sync, &lt;br&gt;
follow-up reminders, and a conversion pipeline. No backend needed. No Zapier. No $90 per month Google Sheets plans.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Formgrid Looks Like Today
&lt;/h2&gt;

&lt;p&gt;Here is the form builder with landing page templates. Non-technical users can build a complete branded form page without touching &lt;br&gt;
any code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjgkve21ijcihccqodec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjgkve21ijcihccqodec.png" alt="Formgrid form builder with landing page template selector" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every form submission becomes a tracked lead in the dashboard. New, Contacted, and Converted stages give you a clear picture of your pipeline at a glance:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbb7apqksbzpmgijsmj5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbb7apqksbzpmgijsmj5.png" alt="Formgrid leads tab showing tracked submissions with pipeline stages" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can add private notes to every lead after each conversation so you always know where things stand before you follow up:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpl2u4j43dpklj6zfzhp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpl2u4j43dpklj6zfzhp.png" alt="Lead detail view showing notes field in Formgrid" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can change the status of a lead as you move it through the pipeline:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0circ45ya7viy4olo3s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0circ45ya7viy4olo3s.png" alt="Lead status dropdown showing New Contacted Converted options" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And you can set a follow-up reminder on any lead. On that date, Formgrid emails you with the lead details and your notes:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fohsj1btyitpsmn08cc31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fohsj1btyitpsmn08cc31.png" alt="Follow up date picker on lead detail page" width="799" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqomp8ege8stlze7tpq7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqomp8ege8stlze7tpq7p.png" alt="Follow up reminder email from Formgrid showing lead details and notes" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the feature that separates Formgrid from every other form tool at this price point. Formspree collects submissions. Formgrid &lt;br&gt;
manages leads.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Numbers After Almost 8 Months
&lt;/h2&gt;

&lt;p&gt;I want to be completely honest here because I think most building in public posts either cherry-pick good metrics or hide the disappointing ones.&lt;/p&gt;

&lt;p&gt;Here are the real numbers:&lt;br&gt;
Registered users: 290+&lt;br&gt;
Paying customers: 8&lt;br&gt;
Monthly recurring revenue: $86&lt;br&gt;
Indexed pages on Google: 42+&lt;br&gt;
Monthly organic clicks from Google: 200+&lt;br&gt;
Best single-day signups: 6&lt;br&gt;
Product Hunt upvotes: 7&lt;br&gt;
Reddit ad conversions: 0&lt;/p&gt;

&lt;p&gt;Yes. Product Hunt gave me 7 upvotes and Reddit ads gave me zero conversions. I am including those because they are &lt;br&gt;
part of the real story.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Actually Worked
&lt;/h2&gt;

&lt;h3&gt;
  
  
  SEO Blog Posts Targeting Competitor Alternatives
&lt;/h3&gt;

&lt;p&gt;This is by far the most important thing I learned in seven months.&lt;/p&gt;

&lt;p&gt;The posts that brought paying customers were not tutorials. They were not niche use case posts about roofing companies or restaurant websites. They were comparison posts targeting frustrated users of competing tools.&lt;/p&gt;

&lt;p&gt;My Formspree alternatives post has 159 views and brought my most valuable customer. &lt;br&gt;
Annie is a San Diego event manager who was using a basic form backend and receiving raw data dumps that her 75-year-old ride manager could not read. She found my post by searching for Formspree alternatives, &lt;br&gt;
signed up the same day, and upgraded to the Business plan at $29 per month within days after I built a custom email template for her endurance horse ride registrations.&lt;/p&gt;

&lt;p&gt;That single blog post paid for itself many times over and keeps bringing traffic every month without any additional work from me.&lt;/p&gt;

&lt;p&gt;The formula is simple:&lt;br&gt;
Frustrated competitor user&lt;/p&gt;

&lt;p&gt;targeted search your blog post is the answer = paying customer&lt;/p&gt;

&lt;p&gt;I have now written over 40 blog posts following this formula. Every post targeting a competitor, alternative, or a specific pain &lt;br&gt;
point compounds over time. Each one brings traffic permanently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Personal Emails to Every New Signup
&lt;/h3&gt;

&lt;p&gt;Every time someone signs up for Formgrid, I send them a personal email within 24 hours. Not an automated sequence. A real email from &lt;br&gt;
me asking what they are building and offering to help them get set up.&lt;/p&gt;

&lt;p&gt;Most people do not reply. But the ones who do often become paying customers. Jose replied and told me he needed file uploads for the design files his clients sent through his quote request form. He upgraded to Premium within days.&lt;/p&gt;

&lt;p&gt;The personal email also means that when someone hits a bug, they know exactly who to contact, and they trust that a real person will fix it &lt;br&gt;
fast.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fixing Bugs Fast
&lt;/h3&gt;

&lt;p&gt;Angeline was a bride using Formgrid for her wedding RSVP form. She found a bug where apostrophes in names were being corrupted &lt;br&gt;
in the database. I fixed it the same day she reported it.&lt;/p&gt;

&lt;p&gt;She did not just get a fix. She got proof that the person behind Formgrid actually cares about making it work properly for real people using it for real things.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Did Not Work
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Reddit Ads
&lt;/h3&gt;

&lt;p&gt;I ran ads targeting developer subreddits for several weeks. Zero confirmed conversions. Not a single paying customer came from Reddit ads.&lt;/p&gt;

&lt;p&gt;Organic helpful replies to people asking about form backends worked far better than paid ads in the same communities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Product Hunt
&lt;/h3&gt;

&lt;p&gt;I launched on Product Hunt and got 7 upvotes. &lt;br&gt;
No meaningful traffic. One signup.&lt;/p&gt;

&lt;p&gt;The honest reason is that Product Hunt rewards founders with large existing audiences. Without thousands of Twitter followers or a newsletter lists that, the launch ceiling is low, regardless of how well you prepare.&lt;/p&gt;

&lt;p&gt;Product Hunt gave me a permanent listing and a backlink to formgrid.dev, which has SEO value. But as a growth channel, it did not work for me at this stage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Niche Use Case Posts
&lt;/h3&gt;

&lt;p&gt;I wrote several posts targeting specific industries like roofing companies and restaurant websites. They get almost no &lt;br&gt;
views and zero conversions.&lt;/p&gt;

&lt;p&gt;The reason is search volume. Someone searching "roofing contact form" is much rarer than someone searching "Formspree alternatives." &lt;br&gt;
I stopped writing those and focused entirely on competitor alternative posts.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Google Sheets Integration
&lt;/h2&gt;

&lt;p&gt;One of the most searched keywords in my space is connecting forms to Google Sheets without Zapier. Formspree charges $90 per &lt;br&gt;
month for this. Formgrid includes it on every plan.&lt;/p&gt;

&lt;p&gt;Here is what the Google Sheets connection looks like once set up. Every submission appears as a new row automatically within &lt;br&gt;
seconds:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgtkew3kl4ugpaisqafq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgtkew3kl4ugpaisqafq.png" alt="Google Sheets showing form submissions as rows with automatic sync" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyjiich2rbyllql4nkd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyjiich2rbyllql4nkd5.png" alt="Google Sheets showing form submissions as rows with automatic sync" width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The blog post I wrote about Formspree charging $90 for Google Sheets got 40 views on my blog and 50 readers on dev.to within &lt;br&gt;
the first day of publishing. It contributed to my best signup day ever with 6 new users.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Customer That Meant the Most
&lt;/h2&gt;

&lt;p&gt;A developer from Brazil living in the UK replied to one of my survey emails. He said:&lt;/p&gt;

&lt;p&gt;"I have also just realised you are a guy from Ghana who is challenging the big corps with this, so this also makes it very special to me. &lt;br&gt;
Your family must be very proud of you. Now I want to help spread the word and help Formgrid towards greater success."&lt;/p&gt;

&lt;p&gt;I was not expecting that. Most days, building Formgrid is just me and the code and music in my ears. Hearing from someone on the other side of the world, those who found meaning in what I am building from Ghana made the whole journey feel worthwhile.&lt;/p&gt;

&lt;p&gt;He is a member of the Free Software Foundation and deeply values open source software. Formgrid is fully open source under the &lt;br&gt;
MIT license is not just a feature for me. It is the whole point. You own your data. You can read the code. You can run it yourself &lt;br&gt;
if you want to. No black boxes.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Technical Stack
&lt;/h2&gt;

&lt;p&gt;For anyone curious about how Formgrid is built:&lt;br&gt;
Frontend: React, TypeScript, Vite&lt;br&gt;
Backend: Node.js, Express, TypeScript&lt;br&gt;
Database: PostgreSQL with Prisma ORM&lt;br&gt;
Payments: Paddle&lt;br&gt;
Email: Resend&lt;br&gt;
Deployment: Render with Docker&lt;/p&gt;

&lt;p&gt;Everything is open source and self-hostable. You can run your own instance for free with Docker if you do not want to use the managed &lt;br&gt;
version.&lt;/p&gt;

&lt;p&gt;GitHub: github.com/allenarduino/formgrid&lt;/p&gt;




&lt;h2&gt;
  
  
  The Competitive Landscape
&lt;/h2&gt;

&lt;p&gt;Formspree charges $15 per month for a basic form backend with no lead management. They charge $90 per month for Google Sheets.&lt;/p&gt;

&lt;p&gt;Web3Forms charges $18 per month for their &lt;br&gt;
Pro plan.&lt;/p&gt;

&lt;p&gt;Jotform charges $34 per month.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pricing Decision
&lt;/h2&gt;

&lt;p&gt;I recently raised the price of the Premium plan from $8 to $12 per month for new customers.&lt;/p&gt;

&lt;p&gt;It was not an easy decision. At $8, the competitive comparison was already strong:&lt;br&gt;
Formspree Basic: $15 per month&lt;br&gt;
Web3Forms Pro: $18 per month&lt;br&gt;
Basin: $15 per month&lt;br&gt;
Formgrid Premium: $8 per month&lt;/p&gt;

&lt;p&gt;But $8 felt too cheap for what the plan includes. File uploads up to 1GB, Google Sheets sync, auto-responder emails, up to &lt;br&gt;
3 notification recipients, CSV export, and a full lead pipeline. That feature set at $8 was genuinely underpriced.&lt;/p&gt;

&lt;p&gt;At $12, Formgrid Premium is still cheaper than every competitor while feeling like a real sustainable product price rather than something suspiciously cheap.&lt;/p&gt;

&lt;p&gt;The 8 existing paying customers are permanently grandfathered at $8 per month. They trusted Formgrid early when it was &lt;br&gt;
unproven. That trust deserves to be rewarded. Their price will never change.&lt;/p&gt;

&lt;p&gt;New customers pay $12. Existing customers &lt;br&gt;
keep $8. That felt like the right way to handle it.&lt;/p&gt;

&lt;p&gt;Formgrid Premium is $12 per month and includes &lt;br&gt;
1,000 submissions, file uploads up to 1GB, &lt;br&gt;
Google Sheets sync, auto-responder emails, up to 3 notification recipients, and a full lead pipeline.&lt;/p&gt;

&lt;p&gt;Formgrid Business is $29 per month and adds custom HTML email templates, unlimited Google Sheets sync, webhooks, and Zapier integration.&lt;/p&gt;

&lt;p&gt;The lead pipeline is what makes Formgrid genuinely different from every competitor at this price point.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Am Working on Next
&lt;/h2&gt;

&lt;p&gt;The focus for the next 6 months is simple.&lt;/p&gt;

&lt;p&gt;More targeted blog posts. More competitor alternative pages. More platform-specific tutorials. Every post compounds on the ones before it.&lt;/p&gt;

&lt;p&gt;The goal is $500 MRR by month 12. Based on my current publishing pace, the compounding effect of SEO is achievable.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Building From Ghana Actually Means
&lt;/h2&gt;

&lt;p&gt;I want to say something directly about this.&lt;/p&gt;

&lt;p&gt;Building a SaaS product from Ghana that gets paying customers in San Diego, Europe, and North America is not easy. The payment &lt;br&gt;
infrastructure is harder. The network is different. The timezone gaps are real.&lt;/p&gt;

&lt;p&gt;But the internet does not care where you are building from. Annie does not know or care that the person who built her custom &lt;br&gt;
email template is in a small town in Ghana. She just knows her ride manager can finally read the registration emails clearly.&lt;/p&gt;

&lt;p&gt;That is what building software is about. Solving real problems for real people. Geography is irrelevant to whether your solution works.&lt;/p&gt;

&lt;p&gt;If you are building something from a place where people tell you it cannot be done, keep going. The customers will find you &lt;br&gt;
through Google, the same way they find anyone else.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Honest Summary
&lt;/h2&gt;

&lt;p&gt;Seven months in. $86 MRR. 8 paying customers. &lt;br&gt;
290+ signups.&lt;/p&gt;

&lt;p&gt;It is not a rocketship. It is a real product that real people pay for, built by one person with no funding from a country, most people &lt;br&gt;
do not associate with SaaS products.&lt;/p&gt;

&lt;p&gt;The next 8 months will be faster than the first 8. The content library is growing. The domain authority is building. The product &lt;br&gt;
is more complete. And I now know exactly what works.&lt;/p&gt;

&lt;p&gt;If you are building something similar or have questions about Formgrid, I would love to hear from you. Reply in the comments or &lt;br&gt;
email &lt;a href="mailto:allen@formgrid.dev"&gt;allen@formgrid.dev&lt;/a&gt; directly.&lt;/p&gt;

&lt;p&gt;And if Formgrid solves a problem you have, &lt;br&gt;
try it free at formgrid.dev. No credit card required.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Allen Jones is the founder of Formgrid, &lt;br&gt;
an open-source form backend and lead pipeline. &lt;br&gt;
He builds and writes from a small town in Ghana.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>buildinpublic</category>
      <category>learning</category>
      <category>showdev</category>
      <category>startup</category>
    </item>
    <item>
      <title>Formspree Custom Email Templates Cost $60 Per Month. Here is the $29 Alternative.</title>
      <dc:creator>Allen Jones</dc:creator>
      <pubDate>Thu, 14 May 2026 14:14:05 +0000</pubDate>
      <link>https://dev.to/allenarduino/formspree-custom-email-templates-cost-60-per-month-here-is-the-29-alternative-54h9</link>
      <guid>https://dev.to/allenarduino/formspree-custom-email-templates-cost-60-per-month-here-is-the-29-alternative-54h9</guid>
      <description>&lt;p&gt;You set up Formspree for your contact form or &lt;br&gt;
event registration. Submissions arrive in your inbox. You open the first one, and it looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu1yw6jfar6wrxazc08wt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu1yw6jfar6wrxazc08wt.png" alt=" " width="800" height="828"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Raw field data. Internal Formspree variables. &lt;br&gt;
No structure. No labels. No context.&lt;/p&gt;

&lt;p&gt;You think: I will upgrade to get better email formatting. &lt;br&gt;
You open Formspree's pricing page and discover that custom HTML email templates are locked behind their Business plan at $60 per month.&lt;/p&gt;

&lt;p&gt;That is the moment most people start looking for an alternative.&lt;/p&gt;

&lt;p&gt;This post covers exactly why Formspree charges so much for custom templates, what you actually get for that price, and how Formgrid gives you the same capability for $29 per month with a lead pipeline included.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Formspree Charges $60 for Custom Email Templates
&lt;/h2&gt;

&lt;p&gt;Formspree's pricing tiers look reasonable until you need anything beyond basic notifications.&lt;br&gt;
Formspree Free: $0/month&lt;br&gt;
50 submissions, basic notifications&lt;br&gt;
Formspree Basic: $10/month&lt;br&gt;
200 submissions, still basic notifications&lt;br&gt;
Formspree Plus: $40/month&lt;br&gt;
1,000 submissions, still basic notifications&lt;br&gt;
Formspree Business: $60/month&lt;br&gt;
Custom email templates finally available&lt;/p&gt;

&lt;p&gt;You have to pay $60 per month just to control how your notification emails look. There is no middle ground. No custom templates at $20 or &lt;br&gt;
$30. Just $60 or raw data dumps forever.&lt;/p&gt;

&lt;p&gt;For a small business owner, an event organizer, or a freelancer who needs clean, organized emails that their team can actually read, $60 per month is a hard number to justify.&lt;/p&gt;

&lt;p&gt;Especially when the alternative costs $29.&lt;/p&gt;
&lt;h2&gt;
  
  
  What a Professional Form Notification Email Actually Looks Like
&lt;/h2&gt;

&lt;p&gt;Instead of receiving a raw data dump every time someone submits your form, imagine receiving this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjgpgd8470kygupsmkcy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjgpgd8470kygupsmkcy.png" alt="Custom email template in Formgrid showing clean, organized sections" width="800" height="737"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clean. Organized. Readable by anyone on your team whether they are a developer, an event coordinator, or an office manager who just needs to know who submitted and what they said.&lt;/p&gt;

&lt;p&gt;That is what $29 per month gets you with Formgrid.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Formgrid Gives You for $29 Per Month
&lt;/h2&gt;

&lt;p&gt;Formgrid is an open-source form backend and form builder. The Business plan at $29 per month includes full HTML email template control using Mustache templating alongside everything else a growing business needs.&lt;/p&gt;

&lt;p&gt;Here is the complete Business plan at $29:&lt;br&gt;
Custom HTML email templates&lt;br&gt;
Auto-responder emails to submitters&lt;br&gt;
Multiple notification recipients&lt;br&gt;
Unlimited Google Sheets sync&lt;br&gt;
Webhooks and Zapier integration&lt;br&gt;
15,000 submissions per month&lt;br&gt;
Priority support&lt;br&gt;
Direct access to the founder&lt;/p&gt;

&lt;p&gt;Formspree charges $60 per month for custom templates alone. Formgrid charges $29 per month for templates plus every feature listed above.&lt;/p&gt;

&lt;p&gt;That is $31 per month less for significantly more.&lt;/p&gt;
&lt;h2&gt;
  
  
  How Custom Email Templates Work in Formgrid
&lt;/h2&gt;

&lt;p&gt;Formgrid uses Mustache templating for email customization. &lt;br&gt;
It is a simple, widely used templating language that lets you write an HTML email with placeholders that get replaced with real submission data automatically.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Available Template Variables
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight handlebars"&gt;&lt;code&gt;&lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_formName&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;    
Name of your form

&lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_time&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;        
Submission timestamp

&lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;fieldName&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;    
Any field by its exact name attribute

&lt;span class="k"&gt;{{#&lt;/span&gt; &lt;span class="nv"&gt;fields&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;      
Loop through all fields
  &lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_name&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;      Field label
  &lt;span class="k"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;_value&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;     Field value
&lt;span class="k"&gt;{{/&lt;/span&gt; &lt;span class="nv"&gt;fields&lt;/span&gt; &lt;span class="k"&gt;}}&lt;/span&gt;      
Close the loop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Option A: The Simple Loop for Any Form
&lt;/h3&gt;

&lt;p&gt;If you want clean, formatted emails without thinking about structure, use the fields loop. This works for any form automatically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    New Submission: {{ _formName }}
  &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

  {{# fields }}
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin-bottom: 16px; 
              border-bottom: 1px solid #eee; 
              padding-bottom: 16px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin: 0; 
              font-size: 12px; 
              color: #888; 
              text-transform: uppercase;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      {{ _name }}
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin: 4px 0 0; 
              font-size: 15px; 
              color: #333;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      {{ _value }}
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  {{/ fields }}

  &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 12px; 
            color: #999;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Submitted: {{ _time }}
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This renders every field cleanly with its label above and value below. No internal fields. No raw data. No mess. Clean, readable output for every submission automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option B: Sectioned Template for Complex Forms
&lt;/h3&gt;

&lt;p&gt;If your form has multiple sections like a registration form with attendee details, session selection, dietary requirements, and payment, you can group fields into sections with clear headers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto; 
            color: #1f2937;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d; 
             border-bottom: 2px solid #e8f3ee; 
             padding-bottom: 10px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    New Registration: {{ _formName }}
  &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h3&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Attendee Information
  &lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Name:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ name }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Email:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ email }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Company:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ company }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Phone:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ phone }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h3&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d; 
             margin-top: 24px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Session Selection
  &lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Workshop:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ workshopName }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Date:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ date }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Format:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ format }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h3&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d; 
             margin-top: 24px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Payment
  &lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Ticket Type:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ ticketType }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Total:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; {{ totalAmount }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;h3&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: #1d4f3d; 
             margin-top: 24px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Notes
  &lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;{{ notes }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;hr&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin-top: 32px; 
             border: none; 
             border-top: 1px solid #e5e7eb;"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"font-size: 12px; 
            color: #9ca3af; 
            margin-top: 12px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Submitted: {{ _time }}
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The variable names like &lt;code&gt;{{ name }}&lt;/code&gt;, &lt;br&gt;
&lt;code&gt;{{ workshopName }}&lt;/code&gt;, and &lt;code&gt;{{ totalAmount }}&lt;/code&gt; &lt;br&gt;
must match the name attributes of your form inputs exactly.&lt;/p&gt;
&lt;h3&gt;
  
  
  Custom Subject Lines
&lt;/h3&gt;

&lt;p&gt;You can control the email subject line using the &lt;code&gt;_subject&lt;/code&gt; hidden field in your HTML form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; 
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"hidden"&lt;/span&gt; 
  &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"_subject"&lt;/span&gt; 
  &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"New Registration from {{ name }}"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every submission email now has a meaningful subject line like "New Registration from Sarah Johnson" instead of the generic one &lt;br&gt;
"New form submission."&lt;/p&gt;
&lt;h2&gt;
  
  
  How to Set Up Custom Email Templates in Formgrid
&lt;/h2&gt;

&lt;p&gt;Custom email templates are available on the Business plan at $29 per month.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1: Go to Your Form Settings
&lt;/h3&gt;

&lt;p&gt;Log in to your Formgrid dashboard, open your form, and click the Settings tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wdsoxjh25y6sjxmhmx3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wdsoxjh25y6sjxmhmx3.png" alt="Formgrid form settings tab" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Find the Custom Email Template Section
&lt;/h3&gt;

&lt;p&gt;Scroll down to the Custom Email Template section. &lt;br&gt;
In the Business plan, you will see the full template editor. On free or Premium, you will see a prompt to upgrade.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcgnp5fhfen6snz58in2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcgnp5fhfen6snz58in2y.png" alt="Formgrid custom email template editor" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Enable the Custom Template
&lt;/h3&gt;

&lt;p&gt;Toggle the custom template on. The editor pre-populates with a starter template using the simple fields loop. A clean starting point &lt;br&gt;
that works for any form immediately.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 4: Customize Your Template
&lt;/h3&gt;

&lt;p&gt;Edit the HTML to match your needs. Use the simple loop for basic forms or build a sectioned template for complex registration forms. The available variables panel shows every variable you can use.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 5: Preview and Save
&lt;/h3&gt;

&lt;p&gt;Click Preview to see exactly how your email will look with sample data substituted in. When you are happy, click Save Template.&lt;/p&gt;

&lt;p&gt;From this point on, every submission to your form will use your custom template. Clean, organized, and formatted exactly the way you designed.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 6: Test It
&lt;/h3&gt;

&lt;p&gt;Submit a test entry on your form and check your inbox. Your notification email should arrive formatted exactly as you designed.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Real Example: What Annie's Event Emails Look Like Now
&lt;/h2&gt;

&lt;p&gt;One of Formgrid's customers runs endurance horse riding events in San Diego. She was using a basic form backend and receiving raw field data for every rider registration. Her 75-year-old event manager was receiving emails she could not read.&lt;/p&gt;

&lt;p&gt;After switching to Formgrid's Business plan, she built a custom email template that organizes every registration into clean sections: rider information, horse details, division selection, and emergency &lt;br&gt;
contacts. Every registration email now arrives looking like a professional document that her event manager can act on immediately.&lt;/p&gt;

&lt;p&gt;"The level of personal support was impressive."&lt;br&gt;
&lt;strong&gt;A. Libby, Event Manager, San Diego Endurance Riders&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She pays $29 per month. Formspree would charge $60 per month for custom templates alone, without any of the lead tracking, follow-up reminders, or Google Sheets sync that Formgrid includes.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Formgrid Includes Beyond Email Templates
&lt;/h2&gt;

&lt;p&gt;This is where the comparison becomes completely one-sided.&lt;/p&gt;

&lt;p&gt;Formspree Business at $60 per month gives you custom email templates plus higher submission limits. That is essentially it.&lt;/p&gt;

&lt;p&gt;Formgrid Business at $29 per month gives you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Custom HTML email templates&lt;/strong&gt;&lt;br&gt;
Full Mustache templating with section headers, &lt;br&gt;
branded colors, and organized field groups. Preview before going live.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead pipeline&lt;/strong&gt;&lt;br&gt;
Every submission becomes a tracked lead with &lt;br&gt;
New, Contacted, and Converted stages. Your conversion rate updates automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbb7apqksbzpmgijsmj5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbb7apqksbzpmgijsmj5.png" alt="Formgrid leads tab showing tracked submissions" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notes on every lead&lt;/strong&gt;&lt;br&gt;
After every conversation, add a private note &lt;br&gt;
directly on the lead. What they said. What you quoted. What is the next step?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpl2u4j43dpklj6zfzhp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpl2u4j43dpklj6zfzhp.png" alt="Lead detail view showing notes field in Formgrid" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Follow-up reminders&lt;/strong&gt;&lt;br&gt;
Set a follow-up date on any lead and get an email on that date with their details and your notes. Warm leads never go cold.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fohsj1btyitpsmn08cc31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fohsj1btyitpsmn08cc31.png" alt="Follow up date picker on lead detail page" width="799" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Sheets sync&lt;/strong&gt;&lt;br&gt;
Every submission appears as a new row in your Google Sheet automatically. No Zapier needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto-responder emails&lt;/strong&gt;&lt;br&gt;
Automatically acknowledge every lead the moment they submit your form.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multiple notification recipients&lt;/strong&gt;&lt;br&gt;
Your whole team gets notified simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Webhooks&lt;/strong&gt;&lt;br&gt;
Connect to Slack, Notion, Zapier, and any other tool you already use.&lt;/p&gt;

&lt;p&gt;Formspree does not have a lead pipeline at any price point. There are no notes on submissions. No follow-up reminders. No conversion tracking. Just submissions in a flat list.&lt;/p&gt;

&lt;p&gt;You get all of that from Formgrid at $29 per &lt;br&gt;
month versus paying $60 per month to Formspree just for email templates.&lt;/p&gt;
&lt;h2&gt;
  
  
  How to Switch From Formspree to Formgrid
&lt;/h2&gt;

&lt;p&gt;If you are already using Formspree, the migration takes about five minutes, and your HTML form does not change at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Sign up for free at formgrid.dev. &lt;br&gt;
No credit card required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa590ejt2zmv83285bt64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa590ejt2zmv83285bt64.png" alt="Formgrid signup page" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Create a new form and copy your &lt;br&gt;
Formgrid endpoint URL from the Overview tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flafra8ygljruiylpilbc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flafra8ygljruiylpilbc.png" alt="Formgrid endpoint URL on form details page" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Replace your Formspree endpoint &lt;br&gt;
in your HTML form with your Formgrid endpoint. &lt;br&gt;
One line change:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Before: Formspree --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formspree.io/f/your-id"&lt;/span&gt; 
      &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- After: Formgrid --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://formgrid.dev/api/form-id/"&lt;/span&gt; 
      &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Upgrade to the Business plan at $29 per month and build your custom email template in the Settings tab.&lt;/p&gt;

&lt;p&gt;That is the entire migration. Your form works exactly as before. Every submission now arrives as a clean, organized email you designed plus a tracked lead in your pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Full Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Formspree Business&lt;/th&gt;
&lt;th&gt;Formgrid Business&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Custom email templates&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Monthly price&lt;/td&gt;
&lt;td&gt;$60&lt;/td&gt;
&lt;td&gt;$29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Submissions per month&lt;/td&gt;
&lt;td&gt;2,000&lt;/td&gt;
&lt;td&gt;15,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lead pipeline&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Notes on leads&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Follow up reminders&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conversion tracking&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Sheets sync&lt;/td&gt;
&lt;td&gt;❌ Extra cost&lt;/td&gt;
&lt;td&gt;✅ Included&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-responder emails&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multiple recipients&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhooks&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hostable&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GDPR friendly&lt;/td&gt;
&lt;td&gt;⚠️ Partial&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Formgrid costs $31 per month less and includes &lt;br&gt;
7,500 more monthly submissions, plus a complete lead management system that Formspree does not offer at any price.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who This Is For
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use Formgrid Business if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You are paying $60 per month for Formspree &lt;br&gt;
Business and want to cut your bill in half while getting more features.&lt;/p&gt;

&lt;p&gt;You manage event registrations, client intake forms, or any complex form where readable, organized emails matter.&lt;/p&gt;

&lt;p&gt;You want to track what happens to form submissions after they arrive not just collect them in a flat list.&lt;/p&gt;

&lt;p&gt;You need your whole team to see new submissions in Google Sheets without anyone logging into a dashboard.&lt;/p&gt;

&lt;p&gt;You care about open source, self-hosting, and complete data ownership.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stay on Formspree if:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You are deeply integrated with Formspree's &lt;br&gt;
specific features and the migration cost &lt;br&gt;
outweighs the savings.&lt;/p&gt;

&lt;p&gt;You only need a basic contact form with simple &lt;br&gt;
notifications and have no plans to scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Formspree is a reliable product that does what it promises. But charging $60 per month just for custom email templates in 2026 is hard to justify when Formgrid offers the same capability &lt;br&gt;
at $29 per month with a complete lead management system on top.&lt;/p&gt;

&lt;p&gt;If you are currently paying Formspree $60 per month for custom templates, you are overpaying by $31 every month. Over a year, that is $372 spent on a feature that costs half as much elsewhere, with significantly more included.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://formgrid.dev" rel="noopener noreferrer"&gt;Start free at formgrid.dev&lt;/a&gt;. &lt;br&gt;
No credit card required. Business plan at $29 per month. Switch from Formspree in five minutes, and your form does not change at all.&lt;/p&gt;

&lt;p&gt;If you have questions about switching or setting up custom email templates for your specific situation, reply in the comments or email &lt;br&gt;
&lt;a href="mailto:allen@formgrid.dev"&gt;allen@formgrid.dev&lt;/a&gt; directly.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. Written as &lt;br&gt;
honestly as I could. Let me know in the comments &lt;br&gt;
if anything looks inaccurate.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
