MuxForms beta signup forms recruit early-access testers from your /beta page and from in-app JSON POSTs into one inbox—platform, use case, and email for TestFlight-style programs without separate forms per OS.
Use case
Beta programs need one qualified list—not a Typeform for iOS, a Google Form for Android, and a Slack thread for friends-and-family.
| Field | Purpose |
|---|---|
| platform | iOS / Android / Web cohorts |
| use_case | Qualify serious testers |
| beta_cohort | Hidden parallel betas |
| heard_from | Attribution |
Closed betas start with a promise: early access in exchange for feedback. That promise needs a form that works on your marketing site, inside the app, and from email campaigns without three vendors.
MuxForms collects email, platform (iOS, Android, Web), and what the tester plans to exercise. Product sorts the inbox by platform before sending TestFlight invites manually or via your existing tooling.
Use the same form id on `/beta` embed and in-app “Join the beta” `fetch` POST—see the Expo guide for ingest secrets. Web signups and mobile signups search together when support asks who joined from the phone.
Ask optional company and role for B2B betas so you prioritize design partners. A `heard_from` select helps attribute which launch post drove signups.
Public beta pages get Turnstile and rate limits; closed betas can stay invite-only by not advertising the URL. Honeypot still catches scrapers that find the endpoint.
Hidden `product` or `beta_cohort` fields segment multiple betas running in parallel—unlimited forms also let you run separate schemas per product line.
When beta closes, pause the form or swap the CTA to the general waitlist use case. Historical rows stay in the inbox for “did this user ever beta?” questions.
Create a form named Product — Beta signup with these fields, then paste the embed on your page. Notify product@; export platform column before TestFlight invites; Turnstile on public /beta; ingest secret for in-app POST.
| Field | Type | Required |
|---|---|---|
| Emailemail | Yes | |
| Namename | text | Yes |
| Primary platformplatform | select | Yes |
| Companycompany | text | No |
| What will you test?use_case | textarea | Yes |
| How did you hear about the beta?heard_from | select | No |
| Beta cohortbeta_cohorthidden | text | No |
| Productproducthidden | text | No |
| Leave blank_hphidden | text | No |
Illustrative preview—wire your form id after signup.
{
"name": "Product — Beta signup",
"fields": [
{
"name": "email",
"label": "Email",
"type": "email",
"required": true
},
{
"name": "name",
"label": "Name",
"type": "text",
"required": true
},
{
"name": "platform",
"label": "Primary platform",
"type": "select",
"required": true,
"options": [
"iOS",
"Android",
"Web",
"Desktop"
]
},
{
"name": "company",
"label": "Company",
"type": "text",
"required": false,
"placeholder": "Optional for B2B beta"
},
{
"name": "use_case",
"label": "What will you test?",
"type": "textarea",
"required": true
},
{
"name": "heard_from",
"label": "How did you hear about the beta?",
"type": "select",
"required": false,
"options": [
"Twitter / X",
"Friend",
"Blog",
"App store",
"Other"
]
}
]
}<div data-form-id="FORM_UUID"></div> <script src="https://www.muxforms.com/embed.js" defer></script>
Then clone the pattern for the next site or app.
Upgrade to Pro