Most online forms are built in the wrong order. Someone opens a builder, drags in the fields they can think of, and publishes. The form works, in the sense that it accepts submissions, and then somebody spends the next six months emailing applicants for the information the form did not ask for.
Here is the order that avoids that.
1. Decide what the form has to produce
Not what it should ask. What it has to hand you when it is done. “Enough to write a quote without a phone call.” “Enough to schedule the interview.” “A number I can compare to last quarter’s.”
Write that sentence down. Every question either serves it or comes out. This one step removes about a third of the questions from a typical form.
2. Work backwards to the questions
Now list the questions that produce that output, and be specific about the form of each answer. “Budget” is not a question. “Which band is your budget in?” with five bands is a question, and it gets answered where an open number does not.
Two habits worth copying: ask for the number before the essay, and ask for identity last. People abandon at the question that feels like a commitment, so put the cheap ones first.
3. Pick the question type for each answer
This is where forms are quietly won and lost. A date belongs in a date field so you get a date and not “end of next month”. A set of statements measured on one scale belongs in a single rating grid rather than eight separate questions. A ranking belongs in a priority matrix. An either/or belongs in multiple choice, because, as we will get to, choice questions are the only ones that can route.
Free text is the default that costs you the most. Every open box is work for whoever reads the responses.
4. Split it into sections and branch on the answer that matters
A form that asks everyone everything is longer than it needs to be for everyone. Split it into sections and route each answer choice to the section that follows from it: someone who selects “just me” never sees the questions about procurement.
The constraint to design around: branching runs on multiple choice, checkbox and dropdown questions, the types with a fixed list of options to attach a destination to. A linear scale, slider or date cannot route on its own. If you want to branch on a rating, put a short choice question next to the scale (“Great / Fine / Poor”) and route on that. There is more detail in how conditional logic actually works.
5. Set required, optional and validation deliberately
Make required only what you genuinely cannot proceed without. Every extra required field is a place to abandon, and an email address marked required on a form that could have been anonymous is the most common example.
If a question has a right shape (an email, a number, a date) use the type that enforces it rather than asking politely in the help text.
6. Fill it in yourself, on a phone
Open the published link and complete the form as a respondent, on a phone, once per branch. Two things fall out of this reliably: a section that dead-ends, and a question that made sense to you and to nobody else. Both are ten-second fixes before launch and support tickets afterwards.
7. Choose how it gets in front of people
There are four ways, and they are not interchangeable:
- A public link: the default, works everywhere, easiest to put in an email or a message.
- An embed on your own page, so nobody leaves your site. Best when the form is part of a page that is already doing the persuading. See embedding and sharing.
- An email send to a contact list, in paced batches, when you know exactly who should get it.
- A standalone HTML export you host yourself, when the form has to live on your own domain and infrastructure.
Respondents never need an account in any of them, which matters more than it sounds. A sign-in wall costs you a large share of a public form’s completions.
8. Decide what happens after submit
A form that collects and does nothing is a spreadsheet with extra steps. Before launch, set up at least one of:
- Email notifications to up to ten addresses, so a submission reaches a person the day it arrives.
- Google Drive filing, which puts a PDF of each response in a folder: the format people actually want for an application or a brief.
- A webhook to Zapier, Make or your own endpoint, delivering the response as JSON so it opens a task or a deal automatically. Add a signing secret and each delivery arrives with an HMAC-SHA256 signature. Worth knowing: delivery runs inline with the submission and is attempted twice, never retried later, so treat the email notification as the backstop. The detail is on the webhooks page.
- CSV export for anything you plan to analyse in a spreadsheet.
Two limits to plan around
File uploads need a paid plan: 25 MB per file, with 2 GB of storage on Standard and 5 GB on Teams. And the free plan accepts 100 responses per calendar month, which is plenty for an internal form and not enough for a campaign; paid plans are unlimited.
The shortcut
If the form is a common one, start from a template rather than a blank page. The questions and the branching are already in place and you edit from there. On a paid plan you can also describe the form in a sentence and let the AI form builder draft it, then spend your time on step 4, which is the part no tool can do for you.