A form that asks everyone every question gets abandoned, so at some point somebody opens the conditions panel and starts building rules. Jotform has one of the deeper implementations of this among form builders, and most of the pages ranking for the term explain how to add a rule. Fewer of them say which rule type to reach for, what happens to the logic when the form grows past a dozen conditions, or which problems look like logic problems and are actually something else. That is the part worth getting right before a form with forty rules is in production and nobody can remember why branch nine exists.
The six things a condition can do
Jotform's own help documentation lists six condition types, and they are not variations on one idea. Each one acts on a different part of the form.
| Condition type | What it changes | Typical use |
|---|---|---|
| Show / Hide Field | Whether a field appears | A follow up question that only applies to one answer |
| Update / Calculate Field | The value in a field | A total, a fee, a derived reference number |
| Enable / Require / Mask Field | Whether a field is required, or its input format | Making a field mandatory only when it is relevant |
| Skip To / Hide a Page | Which page the visitor lands on | Routing a multi page form down one of several paths |
| Change Thank You Page | What happens after submit | A different message or redirect per answer path |
| Change E-mail Recipient | Who the notification goes to | Sending a regional enquiry to a regional team |
The Jotform help page for conditional logic describes the first as changing "form elements' visibility", useful for "showing follow-up questions or implementing conditional access", and the third as toggling a field's required flag or implementing an input mask.
Two of these are worth singling out because they solve problems people usually try to solve elsewhere.
Change E-mail Recipient replaces a whole category of manual forwarding. If a form asks which office a request concerns, the notification can go to that office rather than to a central address that a person then forwards from. The catch is that this routes a mail, not a responsibility: the mail arrives at the regional address, and whether anyone picks it up is invisible to the sender and to everybody else.
Enable / Require / Mask Field is the one most often missed. A required field that is hidden by another condition can still block submission in some setups, and the cleaner pattern is to leave the field optional in the builder and make it required by condition only on the path where it applies.
Where logic in a form builder stops being enough
Conditional logic decides what the visitor sees. It has no opinion about what happens to the submission afterwards, and that boundary is the source of most of the frustration that gets described as a logic problem.
A rule can send a mail to a different address. It cannot mark a submission as handled, assign it to a named person, or show the rest of the team that somebody is already on it. A rule can branch a form into three paths. It cannot make the three resulting submission types appear as three separate queues, because they all land in the same submissions table with different fields filled in.
This shows up first in reporting. Once a form has branched, every submission has a different set of populated fields, and the export becomes a wide sheet full of blanks. Filtering it means knowing which combination of fields indicates which path, which is knowledge that lives in the head of whoever built the form. Writing the path itself into a hidden field, set by an Update / Calculate Field condition, is the fix: a single column saying which branch was taken is worth more than reconstructing it from twelve empty cells.
The second place it shows is in handover. A form with forty conditions is a program, and it has no comments, no tests, and no record of why any given rule was added. When the person who built it changes role, the safe move becomes leaving the form alone, which is how organisations end up with a form nobody will touch and an annual manual workaround around it.
What the plan limits mean for a branching form
Conditional logic itself is available across Jotform's plans, but two published limits interact with it in ways worth checking before designing a long branching form. The numbers below come from Jotform's own pricing page as published today.
| Plan | Price | Active forms | Monthly submissions | Fields per form |
|---|---|---|---|---|
| Starter | $0 a month | 5 | 100 | 100 |
| Bronze | $39 a month, or $408 a year | 25 | 1,000 | 250 |
| Silver | $49 a month, or $468 a year | 50 | 2,500 | 500 |
| Gold | $129 a month, or $1,188 a year | 100 | 10,000 | 1,000 |
The field count is the one that matters for branching. A conditional form does not show every field to every visitor, but every field still exists in the form and still counts. A three way branch where each path has fifteen questions is forty five fields plus the shared ones, and a form built by pasting a paper process into branches reaches a few hundred fields faster than expected. The Jotform pricing page lists 100 fields per form on the free Starter plan, which a genuinely branched intake form will pass.
The monthly submission count is the second. It is counted per month across the account, not per form, so a branching form that replaces four simple ones inherits the traffic of all four.
The three shapes a branching form usually takes
Almost every conditional form in real use is one of three shapes, and naming the shape before opening the conditions panel saves a great deal of rework.
The first is a screening gate. One or two questions at the top decide whether the rest of the form applies at all, and an answer that disqualifies the visitor ends the form early with a message. This is the shape where Skip To / Hide a Page and Change Thank You Page do the work together, and it is the most valuable of the three, because it removes submissions that a person would otherwise have to read and reject by hand.
The second is a router by category. The visitor picks which kind of request this is, and each category has its own block of questions. This shape is where field counts grow fastest, since every category's questions live in the same form. It is also the shape most often better served by several forms: if the categories go to different teams and end in different outcomes, they are separate processes that happen to share an entry point.
The third is progressive detail. Every visitor answers the same questions, and extra questions appear only when an answer needs qualifying. A checkbox for a dietary requirement reveals a free text field. A yes to previous experience reveals two questions about it. This shape stays small, ages well, and rarely needs more than one level of nesting.
Mixing the three inside one form is what produces the unmaintainable result. A screening gate that also routes by category and then asks progressive detail on each path has three rule systems interleaved in one list, evaluated in an order nobody has written down. Splitting it into a short gate that routes to separate forms costs one extra click for the visitor and removes most of the maintenance problem.
The rules that make a branching form survive contact with a team
A few habits separate forms that stay maintainable from forms that do not, and none of them are features.
Name conditions after the decision, not the field. A rule list reading "if Q7 = Yes show Q8" tells the next person nothing. "Applicant is a current student, ask for student number" tells them whether the rule is still correct when the policy changes.
Keep the branch shallow. Two levels of nesting is usually enough to express a real process. Three levels means there are effectively separate processes sharing a URL, and separate forms are easier to change, easier to test, and easier to report on. Duplicating a form and cutting it down is often the better answer to "this form has become complicated".
Test every path as a real submission, not in the preview. Preview confirms that fields appear and disappear. Only an actual submission confirms that the notification went to the right place, that the thank you page matched the path, and that the row landed with the fields a reporting sheet expects.
Write down the reason for each rule somewhere outside the form. A short note listing each condition and the policy it implements turns a form nobody will touch into a form somebody can safely edit. The builder has no place to keep that, which is exactly why it gets lost.
Choosing between deeper logic and simpler handling
At some point a team has to decide which side of the submission to invest in. Both are legitimate, and the choice depends on where the time is going.
If the time is going into visitors abandoning a long form, deeper logic pays. Hiding the irrelevant two thirds of a questionnaire measurably shortens it, and the conditions panel is the right tool.
If the time is going into what happens after submit, more logic makes it worse rather than better, because each new branch adds another variation for a person to recognise and handle. The question to ask is how many minutes a day are spent deciding who owns a submission and whether it has been answered. When that number is larger than the abandonment problem, the work belongs on the handling side: a list where every response carries an owner and a status, stages that show where each one stands, and a reply written on the same screen as the answers. Comparing what a form tool offers after the submission against the conditions panel is a more honest comparison than feature counts, and the use cases where branching and handling collide are usually recruitment, applications and multi office enquiries.
There is also a pricing axis that is easy to overlook when comparing tools. Limits expressed in submissions and forms mean the bill grows with how well the form works. Limits expressed in people mean it grows with headcount instead, and a form that suddenly receives four times the responses costs the same. Neither is better in the abstract, but a form that is about to be linked from a campaign is worth pricing both ways before it goes out.
What to change first
Open the conditions list and rename every rule after the decision it implements, then delete the ones nobody can explain. If the daily cost is not the form but what happens after it is submitted, that is a different tool's job, and worth seeing on a working example from Halict.
Q1. Is there a limit on how many conditions one Jotform form can have?
Jotform does not publish a hard maximum in its conditional logic documentation, and its support threads include forms with well over a hundred conditions. The practical limit arrives earlier than any technical one: a rule list long enough that nobody can predict the effect of an edit is already too long, regardless of whether the builder accepts more.
Q2. Do hidden fields still count toward the fields per form limit?
Yes. A field hidden by a condition exists in the form and counts against the plan's field allowance, which is 100 on the free Starter plan and 250 on Bronze. A heavily branched form can pass those numbers while showing any individual visitor only a dozen questions.
Q3. Can conditional logic decide who is responsible for a submission?
It can decide who receives the notification mail, through the Change E-mail Recipient condition. That is not the same as ownership: the mail arrives, and whether it was picked up stays invisible unless the tool holding the submission records an owner and a status against it.
Q4. Why does a required field block submission when it is hidden?
This usually happens when a field was marked required in the builder and then hidden by a condition, rather than being left optional and made required by condition. Setting the requirement through an Enable / Require / Mask Field condition on the path where it applies avoids the conflict.
Q5. Is it better to build one branching form or several separate forms?
Separate forms win once the branches stop sharing a process. If two paths collect different information, go to different people, and end in different outcomes, they are two forms that happen to start with the same question. One form wins when the branches differ only in a few follow up questions.
Q6. How should a branched form be exported for reporting?
Add a hidden field that records which path was taken, set by an Update / Calculate Field condition. The export then has one column naming the branch, instead of requiring somebody to infer the path from which of thirty columns are blank.
