Product launches
Handle launch-day and post-announce signup bursts with one domain-locked endpoint, source tags, spam controls, and export.
The problem
Launch pages need reliable intake during traffic spikes and across multiple channels without DIY rate limiting or manual cleanup.
How Simple Signups fits
Create a separate campaign for the launch, tag the source channel, and rely on domain gating, per-IP limits, and an optional bot challenge when attention spikes.
When this is a good fit
- Launch-day “notify me” or “get updates” capture.
- Tracking which announcement channel produced the signup.
- Static landing pages that may see sudden bursts of traffic.
When you probably need more than this
Not a fit alone for pre-orders, payments, or onboarding flows that must continue inside your authenticated product.
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.
<p>Launching soon. Leave your email and we will notify you the day it goes live.</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="hidden" name="tags" value="launch" /> <input type="text" name="hp" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" aria-hidden="true" /> <button type="submit">Notify me</button></form>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", "tags": [ "launch" ], "metadata": { "launch": "v1", "channel": "product-hunt" } }),});Related reading
- How to add a waitlist to a static website without a custom API — Static-host implementation details for pre-launch and post-announce capture.
- How to quickly validate an idea with a waitlist — How to interpret launch-interest signals before and after the announcement.
- Cloudflare Pages form submissions without Pages Functions — A host-specific example when the launch page is deployed on Cloudflare Pages.
Next step
Create a campaign in the dashboard, copy the public id, and paste the form above onto your site.