Русской версии пока нет — показана английская.

How to make the signup form on your AI-made page actually work

Quick answer

A form that ChatGPT, Claude, or Gemini writes has nowhere to send entries until something receives them. The usual fix is a form service such as Formspree, which emails you each entry on a free plan of 50 submissions a month once you paste its address into the form action. If your page has no host yet, Convika hosts it and adds a form that stores every entry and emails it to you, with CSV export and visit stats, free for 50 entries a month and entries past that kept for Pro.

Save my form entries

Free plan: no credit card, 1 published page, 50 form entries a month.

On this page

You asked ChatGPT or Claude for a landing page with a signup form. The form looks finished, with an email field, a button, and maybe a “Thanks, you're on the list!” message. You type your own address and press the button. Nothing arrives anywhere. This guide explains why and compares 6 ways to make the form work. It walks through 4 of them, from pasting one line into the page to hosting it where entries are stored for you.

Prices and limits come from each vendor's own pages, checked October 4, 2026.

Why the form on your page doesn't go anywhere

A form needs a receiver. That is an address that accepts what visitors type, then stores or forwards it. An AI writing one HTML file has no server to point at. It usually writes one of these:

  • A <form> with no action, or with action="#". Pressing the button reloads the page.
  • A script that stops the submit and shows a message, like the example below:
<form onsubmit="event.preventDefault(); alert('Thanks! We\'ll be in touch.')">
  <input type="email" placeholder="you@example.com" required>
  <button>Join the waitlist</button>
</form>

The alert makes the signup look done. Nothing was sent. If the address starts with file:///, the page is a file on your own computer. Nobody else can reach the form at all.

The fix is to give the form a receiver. The table compares 6 kinds. Options A to D below walk through 4 of them.

6 ways to make the form work, compared

OptionWhere entries are storedEmailFree limitAnother accountCode to changeWorks on any hostVisit stats
FormspreeFormspree inbox, 30 days on FreeEmails you each entry, up to 2 addresses50 a monthYes, FormspreeOne action lineYesNo
Netlify FormsNetlify dashboardEmails you each entry once you set up notificationsUnlimited, until the 300 monthly credits run outNo, if Netlify hosts the pageOne attribute, then deploy againNo, the page must be on NetlifyWeb Analytics with top sources, kept for 1 day
Google Forms embedThe form's responses, or a linked Google SheetEmails you once you turn on notificationsNo price published. Up to 500,000 responses per formYes, GooglePaste embed codeYesNo
Mailchimp or Kit signup formYour mailing listEmails the subscriber, such as a confirmationMailchimp: 250 contacts. Kit: 10,000 subscribersYesPaste embed codeYesNo
Your own function and database (Supabase)A table in your databaseOnly if you build itSupabase: 500 MB, paused after 1 week idleYes, plus a function hostA handler you writeDepends on the hostNo
ConvikaConvika dashboard, with CSV and JSON exportEmails you each entry; teammates can turn it on50 a month; entries past that are kept for ProNo, Convika also hosts the pageNoneNo, only pages Convika hostsYes, visits, sources, devices, and clicks

Here is the short version.

  • The page already has a host, and you need an email for every entry: Pick Formspree, or choose Netlify Forms if Netlify hosts the page.
  • You'll send the list newsletters: Choose Mailchimp or Kit so signups land where you'll email them from.
  • You want a free form that never caps submissions: Choose Netlify Forms, as long as your sites stay within Netlify's monthly credits.
  • The page isn't online yet, and you want the page, the entries, an email for each one, and the visitor stats in one place: Choose Convika.

Option A: pasting a Formspree form into your page

Formspree receives the form's data and emails it to you. The free plan gives you 50 submissions a month across unlimited forms, emails up to 2 linked addresses, and keeps 30 days of submission history. Export starts on paid plans. The Personal plan costs $15 a month for 200 submissions, and the Professional plan costs $30 a month for 2,000.

  1. Sign up at Formspree and create a form. Formspree gives it an endpoint, such as https://formspree.io/f/abcdwxyz.
  2. Ask your AI, word for word: “Change the form so it posts to https://formspree.io/f/abcdwxyz with method POST, and give every input a name attribute.” A field without a name isn't sent.
  3. Check that the form now looks like Formspree's own example:
<form action="https://formspree.io/f/{form_id}" method="post">
  <label for="email">Your Email</label>
  <input name="Email" id="email" type="email">
  <button type="submit">Submit</button>
</form>
  1. Upload the changed page to your host, and send yourself a test entry.

After you submit, Formspree shows its own “Thank you” page by default. A custom thank-you page needs a paid plan, or a script that sends the form in the background. Past 50 submissions a month, Formspree still saves entries to your account, but it stops emailing them.

Two other services work the same way. FormSubmit requires no account. Point the form's action at its address with your email. It emails you each submission and keeps them 30 days. Google Forms gives you a whole form to embed. In the form, go to the More menu, select Embed HTML, and paste the code into your page. Responses stay in the form or a linked Google Sheet. You can turn on email notifications for new responses.

Option B: Using your host's own forms (Netlify Forms)

If Netlify hosts your page, it can store entries itself. According to Netlify's docs, forms are “free and unlimited” on its credit-based plans, Free included.

  1. In your Netlify dashboard, go to Forms and select Enable form detection.
  2. Add data-netlify="true" to the <form> tag. The form needs method="POST".
  3. Deploy the page again. On Netlify Drop, drop the folder again. Netlify looks for forms only when it deploys.
  4. Send a test entry. It appears under Forms. To get an email per entry, add an email notification for the form.

The catch is the credit budget. The Free plan includes 300 credits a month. A production deploy costs 15. If credits run out, Netlify says “all of your web projects (sites/apps) are paused” and they stop receiving “web traffic, or form submissions” until next month.

Option C: A signup form from Mailchimp or Kit

A waitlist you will email at launch belongs in an email tool. Both give you a signup form to embed on any site.

  • Mailchimp's free plan includes 250 contacts and 500 emails a month, at most 250 a day. With double opt-in, each new subscriber gets an email to confirm the address.
  • Kit's free plan includes up to 10,000 subscribers and unlimited forms. It shows Kit branding.

Either tool stores the list where you will send from. This saves an export and import later. Neither shows how many visited the page or where they came from.

If you host the page on Convika, choose the email tool's plain HTML form. A form that submits as a normal page request works on every plan. A script's fetch and XHR requests on a Convika page reach only the page's own address, plus, on Pro, the analytics tools Convika supports and the hosts you list for your own ad network. A signup form that sends entries with a script fails to reach the email tool.

Option D: Hosting the page on Convika and adding a form in 6 steps

Convika hosts your page, which keeps your form, entries, and visitor stats in one dashboard. The free plan needs no credit card. It gives you 1 published page and 50 entries a month. Entries past that limit are not refused. Convika keeps them, and they show up once you are on Pro.

1. Mark where the form goes

Before downloading your page, ask your AI, word for word: “Replace the form with <div data-convika-form></div>.” Convika puts the working form in that spot. Without it, the form goes near the end of the page, just above the footer.

2. Create a free Convika account

Sign up at app.convika.com. You do not need a credit card.

3. Upload the page

Go to your dashboard, select Upload an HTML file, and drop your .html file (up to 2 MB). You can also switch to Paste code and paste your code. Click Create my preview. Uploading uses no AI credits.

4. Add the form

Open the page's dashboard screen and click Add a form to my page. Pick Email only, Name and email, or Name, email, and message. Edit the button text and the message people see after sending. Click Add form to my page. Convika saves a new preview version with the form, while the live page stays unchanged until you publish.

5. Send a test entry from the preview

Open the preview and submit the form. Convika checks the entry but does not save it, which keeps tests out of your list. If you had no placeholder in step 1, the AI's old form remains on the page. Type “Remove the old form and keep the Convika form” into Edit with AI (1 AI credit, default model).

6. Publish and read the entries

Click Publish page. Under Who can open this page?, choose Public and click Next. The first time you publish, Convika shows Publish free, and under it Publish without the Convika bar, which opens an order for Pro monthly (1 day free with a card, then $12 a month). To publish on Free, click Publish free. Convika emails each new entry to you as it arrives, and each entry appears on the page's dashboard screen under Forms. Click View entries to read them. Click Download CSV or Download JSON to download them. Your entries stay until you delete the form.

Get entries by email or send them to your tools

Convika turns entry emails on by default. It emails each new entry to the account owner, with every answer inside the message. When you hit reply, your message goes straight to the address the visitor typed. Teammates get the emails too once they turn on Form entry emails in Settings. You can turn them off for a single form using the switch on that form's entries page. The Free plan emails up to 50 entries a month, matching the 50 entries it displays. It keeps entries past that limit without emailing them. Pro has no cap. If a form gets more than 5 entries in a minute or 100 in a day, Convika counts the rest in one email and sends it once a day.

You can also send entries to Zapier, Make, n8n, or your own code. Go to the form's entries page and paste an https URL under Send each entry to a URL (webhook). Next, click Send a test entry. Convika posts each entry as JSON with a Convika-Signature header. This is an HMAC-SHA256 signature made with the form's own secret, so your code can check that the request came from Convika.

Add the form from Claude or another MCP client

Connect Convika as an MCP server in Claude, Claude Code, or Codex. Ask it, word for word: “add an email signup form and show me a preview.” It creates the form with the fields you ask for. Entries are stored in the same place. It can export them for you later.

Waitlist pages: what to ask the AI for

A waitlist form converts better when it asks for less. When you ask the AI for the page, specify:

  • One field. Ask for email only, unless you'll sort the launch email by a second answer.
  • A button that says what happens: Choose “Join the waitlist” or “Get early access”, not “Submit.”
  • A confirmation message that sets expectations, such as “You're on the list. We'll email you once, at launch.”

Share a different UTM-tagged link in each place you post to see which brings signups. Here is the full walkthrough: how to make a waitlist landing page for free.

Send a test entry before you share the link

Whichever option you choose, test from your phone after the page is live.

  1. Open the public URL instead of the file on your computer.
  2. Submit the form with an address you can check.
  3. Confirm that the entry arrived in Formspree's inbox, Netlify's Forms tab, your email tool's list, or under Forms in Convika and in your inbox.

On Convika, a test from the live page is stored and counts toward the 50 a month on Free. Convika accepts up to 5 entries a minute and 20 an hour from one network. A rapid series of tests gets refused for a while.

What Convika doesn't do

  • A burst of entries arrives as one email. If a single form passes 5 entries in a minute or 100 in a day, Convika sends the rest in a single email once a day. That email counts the submissions without listing the answers. Every entry is still saved in the dashboard.
  • 50 entries a month shown on Free, counted across all your forms. Entries after that limit are not refused, and each form keeps up to 1,000 more a month. While on Free, those extra submissions stay out of the list, exports, emails, and webhooks. The form's entries page still shows you how many arrived. On Pro, they show in the list and exports at once.
  • 3 field sets from the dashboard: you can pick email; name and email; or name, email, and message. The forms do not support file uploads.
  • No message to the person who signs up. Convika shows them your confirmation text directly on the page. It sends them no email.
  • Forms only on pages Convika hosts. A Convika form cannot receive entries from a page hosted anywhere else.

Frequently asked questions

How do I collect emails from a static HTML page without a backend?

Point your form at a service that receives submissions. Formspree gives you 50 submissions a month free and emails each one to you. You paste its endpoint into the form's action attribute. Netlify Forms works if Netlify hosts the page. You can also host on Convika. Convika provides a form that stores every entry and emails it to you. Convika is free for 50 entries a month, and keeps entries past that for Pro accounts.

Why don't submissions from my AI-made contact form go anywhere?

Submissions go nowhere because the AI had no server to send them to. The AI created the form without an action, set action="#", or added a script that shows a thank-you message without sending anything. Give the form a receiver. Use a form service, your host's forms, an email tool's signup form, or a host such as Convika that stores entries.

Can a landing page Claude made save signup emails?

Claude cannot save signup emails on its own. A shared Claude artifact stays on claude.ai, and Anthropic's docs describe no storage for form entries. Connect Convika to Claude as an MCP server, then ask it to save the page and add a signup form. Convika stores the entries and exports a CSV. You can also download the page and use Formspree with any host.

How do I add a waitlist signup form to a page ChatGPT made?

Ask ChatGPT to replace its form with <div data-convika-form></div>. Download the HTML file. Upload it in Convika's dashboard, then click Add a form to my page with Email only. Test the form from the preview, then publish. If you want to email the list at launch, a Mailchimp or Kit signup form is the alternative.

Does Convika email me each form submission?

Yes, Convika emails each new entry to the account owner as it arrives. Every answer appears in the email. Replying goes to the address the visitor entered. Teammates turn the emails on in Settings, and each form has a switch to turn them off. The Free plan emails up to 50 entries a month, which is the same as the 50 it shows. Entries kept past that are not emailed. Pro has no cap. Each form can also send every entry to a URL of yours as a signed webhook.

Is Formspree free?

Yes, Formspree is free for 50 submissions a month. The free plan gives you unlimited forms, email forwarding to up to 2 linked addresses, and 30 days of submission history. Personal is $15 a month for 200 submissions. Professional is $30 a month for 2,000.

Rather have someone make it for you?

Answer 4 questions about your business to get a private preview within 2 days. It costs $199, paid once, and only if you want it live. You also get 12 months of Pro.

Answer 4 questions for a free preview

Next step

How to see who visits a page you made with AI

Count visitors and see where they came from on a page ChatGPT, Claude, or Gemini made. GA4, Cloudflare, Plausible, Clarity, and Convika compared.

Related articles

More on forms and visitor stats

Share this article

Host your page with a form that saves its entries

Upload your HTML. Convika hosts the page and stores the entries. It shows which links bring them.

Save my form entries

Free plan: no credit card, 1 published page, 50 form entries a month.