← Use cases

Contact forms

Capture contact and enquiry submissions from a marketing site with a hosted endpoint, optional name fields, and no server-side mailer.

The problem

A contact form still needs a reliable endpoint, spam protection, and a clean handoff path — not just HTML inputs.

How Simple Signups fits

Use one campaign per inbox flow. Capture email + name, tag the source or page, then export or forward submissions into the rest of your stack.

When this is a good fit

  • Simple contact, enquiry, or lead-capture forms on marketing sites.
  • Static or framework sites that do not want a custom mailer route.
  • Teams that want a thin front door before CRM or support tooling takes over.

When you probably need more than this

Not a fit alone for file uploads, multi-step applications, ticketing systems, or workflows that must immediately mutate private system state.

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 contact form
<p>Have a question or want to say hello? Leave your details and we will get back to you.</p>
<form action="https://simple-signups.com/api/subscribe" method="POST">
<input type="hidden" name="campaignId" value="pub_your_campaign_id" />
<input type="text" name="firstName" placeholder="First name" />
<input type="text" name="lastName" placeholder="Last name" />
<input type="email" name="email" required placeholder="you@example.com" />
<input type="hidden" name="tags" value="contact" />
<input type="text" name="hp" tabindex="-1" autocomplete="off"
style="position:absolute;left:-9999px" aria-hidden="true" />
<button type="submit">Send message</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",
"firstName": "Jane",
"lastName": "Doe",
"tags": [
"contact"
]
}),
});

Related reading

Next step

Create a campaign in the dashboard, copy the public id, and paste the form above onto your site.