Newsletter signups
Grow a mailing list from any static or marketing site with one domain-locked form endpoint and optional double opt-in.
The problem
You need newsletter subscribers without standing up a backend or embedding a heavy ESP form.
How Simple Signups fits
Create a campaign, allow-list your site domains, and point a plain HTML form at the subscribe endpoint. Capture first, then export confirmed subscribers or forward them into your sending stack later.
When this is a good fit
- Marketing, docs, or landing pages that only need subscriber capture.
- Teams that already send email elsewhere and just need a clean intake layer.
- Lists that may need double opt-in or tighter anti-abuse defaults.
When you probably need more than this
Not a fit alone if you need broadcast sending, journeys, or deep audience segmentation on day one. Keep your ESP for sending and let Simple Signups handle the capture step.
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>Subscribe to our newsletter for occasional updates. No spam — unsubscribe anytime.</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="newsletter" /> <input type="text" name="hp" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" aria-hidden="true" /> <button type="submit">Subscribe</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": [ "newsletter" ] }),});Related reading
- Signup backend for static sites: why Simple Signups exists — Category view: why a thin signup backend exists in front of sending tools.
- Easiest backend for HTML forms: what to use and why — Decision guide for choosing a hosted intake endpoint over heavier options.
- Cloudflare Pages form submissions without Pages Functions — Concrete example for static sites that need newsletter capture without their own backend.
Next step
Create a campaign in the dashboard, copy the public id, and paste the form above onto your site.