This week, I was working on a project to collect a heck-of-a-lotta data from folks who are embarking on an in-depth fellowship program. We asked for info on accessibility, dietary needs, kids and spouse, THEIR dietary needs, availability, preferred payment app, etc etc. Because of the vast amount of info, me and the form builder divided the form into many different pages. This had the positive impact of “chunking” sections into self-contained pages (separated by the “next” button) – which made for a better experience for the filler-outer. And we also had a “progress bar” at the top of the form! But, unfortunately, this design pattern also had the negative impact of making people pass through pages with conditionally hidden content. Is it possible to skip an entire page? That question sent me into a deep dive on how to handle conditionally viewable and repeating data on long forms… and here is what I learned!

The crux of the matter: The org created space for people to add contact info and preferences for up to 7 kids! I think this speaks to the values of inclusivity and hospitality that are very important to this crew, and I absolutely love that. From a data perspective, it can get a little tricky but that’s why I’m here to help!
first attempt: use repeating sections
Form Assembly is a third-party tool that works a lot like Google Forms for creating surveys/forms/what-have-you but has the added bonus of an “integration” with Salesforce. It also has some form building secret powers that regular Google Forms don’t have. One of those is a button which lets you “repeat the previous section” as many times as the filler-outer prefers. This is perfect for a form where people have many children, but you aren’t sure how many (and not everyone has many).
This probably would have been the best way to go – hindsight is 20/20, right? But, the form was already built and already had real data in it by the time we realized there was a problem with the page design. I didn’t want to remove all of those sections because then the raw data (on the back end) would not line up. We would have “kid 2” over here and “kid 2 repeatable data” over there, when really they should have been in the same columns.
So, I decided to mark this down as a learning experience and move on to a different approach.
second attempt: use conditional text for roadsigns
Since we weren’t using the official “repeatable sections” feature, we instead used a DIY version with some brilliant logic. At the end of each kid section, we had a question “would you like to add a 3rd/4th/5th/etc kid?” This was yes/no type of response. Based on the answer to this question, we would show/hide the next block of questions. However, if we “hid” the block of questions, we would just show a blank page. This was rather confusing, time consuming, and just not a great way to go through a form.
So, in my second attempt to solve this problem, I created some new text which I made conditionally visible. This text would only show up if the answer to the previous question was “no.” If the answer was “yes,” then the form-filler-outer would see the questions about their kid. I wrote something like…
This page is for entering data about more kids in your family. Since you said you were done entering kids, you can just click "Next." Keep clicking "Next" until you get to the end of the form. Thanks for your patience with this glitch in our form platform!
This text definitely helped with confusion and transparency, but it did not solve the clicking and frustration problem. I wasn’t satisfied with this solution however…
third attempt: move all related conditional sections to the same “page”
… however … creating conditional text based on a “section” in Form Assembly helped me reach an “aha!” moment! I realized that we could quickly and effectively fix this problem by putting all of the “add kid data” sections on ONE [very long] page. Most people would not experience this page as very, very long if they are entering data for a smaller family size. When the filler-outer is done with this, they can move on to the next page, which is a “real” page for everyone. No conditionally hidden content which effectively renders a blank page!
The best part was that moving the sections to the same page took one minute or less and I did not disrupt the data model on the back side of the form. I could use the “outline” part of the form builder to grab the whole section and move it below the previous section on the previous page. This left some orphan “pages” at the bottom of the outline, which I was able to quickly delete. Now, we have fewer overall “pages” but we get the same benefit of conditional sections.
This reminded me that putting questions into sections in Form Assembly is a hot tip! They look nicer on the page and they also allow you (admin/form builder) to move groups of questions at a time, which can save a LOT of time. Finally, Form Assembly can make entire sections contingent on conditional logic, so you do not need to show or hide questions one field at a time. Sections are awesome. Use Sections whenever you can!
What I ascertained was that it was important to group and show/hide questions, and we originally thought Pages were the best way to do this. However, we weren’t attached to Pages as an organizing frame for this form. They just kind of… happened. And then they proliferated. And then we realized that even though we could skip content on the page, we could not skip the page entirely…
fourth non-attempt: a different way to solve this problem
we could not skip the page entirely… unless we used the fancy/tricky/very cool feature in Form Assembly to seamlessly redirect people to a *different form.* Yes, you can “daisy chain” forms together. They can get pretty complicated (the sky really IS the limit here). I try to use this sparingly because of the complexity, but sometimes this absolutely the way to go!
overall learnings:
- Sometimes your first or second ideas don’t work. HOWEVER, in my experience, they are always necessary for getting to the idea that DOES work. It’s kind of like “oh, I always found the lost item in the last place I looked!” kind of thing.
- Sections. Use ’em fast and use ’em furious. They are great!
- In general (to the best of my knowledge), Pages are not conditional in Form Assembly. So, it’s a best practice to design each Page with content that is viewable/relevant to every single person interacting with that form.
- Sometimes, we have to look behind the words. My collaborators for this project had chosen to use a lot of Pages and if I had internalized that “Conditional Pages” were essential for the design and functionality of the form, I would have ended up with a MUCH more complex solution than was necessary. This would have been time consuming and introduced technical debt. We needed a quick solution (remember – the form was already “live!”) and we needed to make sure we did not change the data model mid-flight.
- For lengthy forms, I recommend turning on the ability to “save and return” in Form Assembly – this allows the filler-outer to save their progress and email themself a link to come back to it. We didn’t have this turned on for this form, but I think it would have been beneficial to do so.
Hi there, just wanted to let you know that pages can definitely be conditional in formassembly. It’s the same as sections where you click on the “options” of the page and the conditional section pops up. How this helps with future form building for others!!