Lead Capture Forms
Every landing page can include a lead capture form. Submissions land in your dashboard and (optionally) trigger an email to you.
How submissions work
- Visitor fills the form and clicks Submit.
- Browser POSTs to
/api/landing-pages/[id]/submit- natively, no JS required. - Server validates required fields, stores the lead, and redirects to the page with
?submitted=1. - Visitor sees the thank-you banner at the top.
Viewing leads
Submissions show up in two places:
- Per-page: open any landing page from the dashboard and click the Leads button. Table of timestamp, email, form data, and country.
- Unified submissions feed: Dashboard → Submissions shows every form submission you've ever received - floating-message forms and landing-page forms together, sorted by date. Landing-page rows carry a small Landing badge and link through to the public
/p/[slug]URL.
Email notifications
In the editor's page metadata section, set a Notify email on lead. When configured, every new submission also sends a summary to that address.
Spam protection
- Honeypot field - hidden "website" input. Bots fill it; humans don't. Filled submissions are silently discarded.
- IP rate limiting - prevents a single origin from flooding the form.
- Required-field validation - enforced server-side against the form's definition.
Field configuration
Forms support text, email, and tel fields. Keep it short - 2–3 fields is the sweet spot for conversion. The AI picks sensible defaults per template; you can edit the JSON in the editor if you need to add or remove fields.