Product waitlists
Collect waitlist emails for a launch with spam protection, optional double opt-in, and a simple export when you are ready.
The problem
Pre-launch interest piles up on a landing page and you do not want a custom database for one form.
How Simple Signups fits
One campaign per waitlist. Domain gate + rate limits keep junk out; export CSV when invites go out.
Working example
Swap in your public campaign id (pub_...) and add your site domain to the campaign allow-list. Full field reference is in the developer docs.
HTML waitlist form
<p>Be first in line. Join the waitlist and we will email you when early access opens.</p><form action="https://simple-signups.com/api/subscribe" method="POST"> <input type="hidden" name="campaignId" value="pub_your_campaign_id" /> <input type="email" name="email" required placeholder="you@example.com" /> <input type="text" name="hp" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" aria-hidden="true" /> <button type="submit">Join waitlist</button></form>fetch (JSON)
await fetch('https://simple-signups.com/api/subscribe', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ "campaignId": "pub_your_campaign_id", "email": "jane@example.com", "metadata": { "source": "landing", "list": "early-access" } }),});Next step
Create a campaign in the dashboard, copy the public id, and paste the form above onto your site.