MuxForms newsletter signup forms collect email and explicit consent on your domain—not inside a Mailchimp popup. Store signups in an auditable inbox, email growth@, and webhook to Buttondown or Mailchimp when list sync is automated.

Use case

Email list signups that are not a full ESP

You own the landing page and the brand; MuxForms owns capture, consent proof, and the first mile before your ESP sends campaigns.

Newsletter template

FieldPurpose
emailRequired subscriber
consentMarketing opt-in proof
list_idHidden list attribution
frequencyOptional preference select

Newsletter signups are deceptively simple—one email field—but teams still embed Mailchimp popups, Google Forms, or host-specific widgets that break when you change frameworks.

MuxForms embed.js renders a minimal subscribe form on your domain: required email, required marketing consent checkbox, optional first name. Submissions land in a searchable inbox with timestamped rows you can audit for compliance questions.

Hidden fields `list_id`, `locale`, and `source` let one form serve footer signup, blog sidebar, and campaign landing pages—set values in JavaScript before submit or duplicate forms per list.

Notify growth@ on each signup for manual double-check workflows, or attach a per-form webhook to push subscribers into Buttondown, Mailchimp, or ConvertKit when automation is ready. MuxForms is capture + record, not campaign sending.

Pair consent copy in your page footer with the checkbox label so regulators see a clear opt-in. Rate limits and honeypot reduce bot emails that poison list quality.

Distinct from product waitlists: newsletter is ongoing content; waitlist is launch-specific—use separate forms so search and exports stay clean. See waitlists use case for launch teasers.

Static sites, Next.js, and WordPress all use the same snippet—allowlist each origin, paste embed, avoid PHP mail entirely.

Ready-made template

Create a form named Marketing — Newsletter with these fields, then paste the embed on your page. Link privacy policy near the form; require consent checkbox; webhook to ESP; set hidden list_id per placement (footer vs blog).

FieldTypeRequired
First namefirst_nametextNo
EmailemailemailYes
I agree to receive marketing emailsconsentcheckboxYes
How often do you want to hear from us?frequencyselectNo
List idlist_idhiddentextNo
Signup sourcesourcehiddentextNo
LocalelocalehiddentextNo
Leave blank_hphiddentextNo

Embed demo

Illustrative preview—wire your form id after signup.

Preview only — connect embed.js to submit

Schema JSON

{
  "name": "Marketing — Newsletter",
  "fields": [
    {
      "name": "first_name",
      "label": "First name",
      "type": "text",
      "required": false,
      "placeholder": "Optional"
    },
    {
      "name": "email",
      "label": "Email",
      "type": "email",
      "required": true,
      "placeholder": "you@company.com"
    },
    {
      "name": "consent",
      "label": "I agree to receive marketing emails",
      "type": "checkbox",
      "required": true
    },
    {
      "name": "frequency",
      "label": "How often do you want to hear from us?",
      "type": "select",
      "required": false,
      "options": [
        "Weekly digest",
        "Monthly roundup",
        "Major announcements only"
      ]
    }
  ]
}

Embed snippet

<div data-form-id="FORM_UUID"></div>
<script src="https://www.muxforms.com/embed.js" defer></script>

Common questions

Does MuxForms send campaigns?
No—it captures signups; your ESP sends mail after webhook or export.
GDPR / CAN-SPAM?
Use required consent checkbox plus privacy policy link; inbox stores submission records.
Mailchimp embed replacement?
Yes—embed on your HTML and push via webhook instead of hosted Mailchimp forms.
Newsletter vs waitlist?
Separate forms—ongoing content vs one-off launch; both unlimited on one account.

Create the form for this job.

Then clone the pattern for the next site or app.

Upgrade to Pro