Form Best Practices


Identify the Goals

Start with goals.

What are your goals? Maybe you’re trying to reduce phone calls and office visits. Maybe you need to know who’s coming to an event. Whatever the specific purpose of the form, you need to collect enough information from the user to take the next step forward.

What are your users' goals? Their goal is to get an answer to their question, to know what to do next, and to complete their task. In nearly every case, their end goal is actually not to contact you, but to get something done.

Ask the Right Questions

Before you crack open a form builder, make a list of the information you need to collect. Have a purpose and plan for every field. 

When making your list, start broad (contact details), then narrow it down (email address) by asking yourself these questions for each prompt:

  • Who in your organization will use the data?

  • Why do they need the data?

  • What will they do with the data?

  • What type of data do you expect to gather?

As you go through these questions, you might realize you’re not sure what exactly is needed or how the data will be used. When that happens, it’s possible you need to gather more information from your teammates. In some cases, you might find you don’t even need that prompt.

Sometimes you might just need to switch your approach, rather than remove a prompt altogether. By focusing on the true intent of the prompt, you’ll discover whether your first instinct is correct. For example, consider a prompt asking for gender. Will knowing the respondents’ gender identity answer what you need, or will it lead to assumptions about what you’re actually trying to understand? Maybe you just need to know how to refer to them, in which case title and pronoun prompts would be more appropriate.

Only Ask for What You Need Now

Every prompt in a form will cost the user time to answer. If your target respondents determine that the time it will take to complete a form isn’t worth its benefits, they might rush through their answers, or they might not complete it at all.

It will also cost an employee within your organization time to analyze. It’s one thing to sort through names and email addresses, but the analysis only gets more complex from there.

To save everyone’s time, our first goal should be to limit the total number of prompts in our forms. The fewer prompts, the fewer barriers to completing the form.

Second-guess everything. Ask yourself:

  • Do I need this data?

  • Do I need it now?

  • Will it impact our results?

If the answer to any of these questions is “no,” remove the prompt.

With that in mind, your form should mostly be made up of required fields. Granted, there are times some respondents might need to provide additional information on a topic, but that should be the exception. If you don't need it, then why is it on the form?

Use the Right Field Type

When putting together an online form, pay attention to field type. Specific elements (like Email, Phone, and Date) will often work better for collecting the right types of data than something more generic (like Text Field). Some benefits of specific field types include:

  • Validation requirements

  • Appropriate field display

  • Mobile-readiness

  • Accessibility compliance

Take Date, for example. When setting up a Date element in GovHub, you have the option of applying specific criteria. You can choose to show a calendar date picker. If you’re using a date picker, then you will set the date format — for example “Monday, June 21, 2021” or “06/21/2021.” You can also set criteria around acceptable dates and days of the week. This criteria means that unaccepted dates will not pass validation, and will not be selectable from the calendar picker.

Consider the mobile experience. Not only does choosing validation options keep you from getting words when you need a number, but it can also provide users on mobile devices with the right type of keyboard. For example, a Telephone field will provide users with a number keypad, and the Email field will make the @ symbol readily available.

By matching the element to the type of information you need, you can further customize the element to make the form easier to complete with valid responses.

Be Clear About Requirements

Users should never be uncertain about what the form is asking of them. Use the following:

  • Clear, concise field labels (e.g., “Email address” instead of something more wordy like “What is your email address?” or something less clear like “Address”)

  • Description text, as needed (e.g., “Provide the email address you used to set up your account.”)

  • Required field indicators (e.g., “required” in red text next to the field label) along with programmatic validation, so a user can’t submit or continue to the next page without filling in required fields

Additionally, use meaningful field keys so anyone looking at the form results knows exactly what the data means. For example, use “first-name” and “last-name” for field keys, not “name1” and “name2.”

Provide Options

Make sure you provide options when available. This is going to help you standardize your results. It's also going to make it easier for users to fill out the form.

When the number of possible answers is limited, use one of the following field types:

  • Checkboxes when users might select more than one of the provided options

  • Radio buttons when users should only select one option out of a fairly short list of possibilities

  • Dropdown lists when users should only select one option out of a long list of possibilities, especially if the options are in a logical order (for example, Georgia’s counties alphabetically, or days of the week chronologically)

By providing options, you’re making it easier to analyze the data you receive. However, if a user might need an answer other than those provided, it’s usually helpful to include an option titled “other” that will let them fill in their own response.

Know When to Keep Validation Loose

Though validation can often set your form up for success, there are times where fields need to allow for a wider variety of data.

For example, leave requirements for name fields loose. Don’t limit the number or type of characters allowed in a name field; numbers, hyphens, apostrophes, spaces, and other special characters show up in names, even if infrequently.

Show One Piece at a Time

Especially long forms may discourage users from even starting to fill it out. Of course, in government, our users probably still need to provide or receive the information that brought them to the form in the first place. But at some point they might decide a phone call or office visit will be easier than filling out a monster of a form. 

We don't want to overwhelm our users by showing them too much all at once. At the same time, we want to set their expectations appropriately, not make them think the form will be easier to complete than it really is.

By breaking a long form into smaller, more digestible chunks, you’ll still gather all the information you need while keeping it straightforward to complete.

Multiple Pages

One way to break up a long form is to split it into multiple pages. Each page should focus on a distinct topic, like personal contact information. When your form has multiple pages, set expectations from the beginning so a user doesn’t trudge through the form not knowing what’s coming next or when it will end. 

When building a GovHub Webform, you’ll provide a short title for each page which will display at the top of the form along with a total count of pages.

Conditional Logic

Another way to reveal information piece by piece is with conditional logic. This is a feature in many digital form builders, like GovHub’s Webforms, that changes something in the form based on user input. A common way this comes into play is making a field visible or hidden depending on the user’s response to another field. It might also affect the state (enabled/disabled), validation (required/optional), and more. 

Not all information is needed from everyone who completes a form. Or some information needs to be answered differently depending on the person. Use conditional logic to provide follow-up questions based on how the user answered previous prompts.

You can also use conditional logic to reveal relevant information as the user fills out the form. For example, maybe your form has a dropdown to choose a topic. If you have information on your website that answers common questions related to this topic, you might conditionally display a blurb and link to that existing information when a user selects the related topic.

Group Related Items


Fieldsets group similar questions together visually and programmatically. In GovHub, this displays with a short title and a subtle outline around the fields in the set. When a user sees fields grouped like this, they’ll understand that the fields are all related, which may clarify the prompts and make the form feel more manageable.

Composite Elements

In GovHub, Composite Elements are a set of pre-grouped and formatted fields that are meant to collect specific types of information. “Advanced Address,” “Name,” and “Telephone Advanced” are all types of Composite Elements. These elements provide several possible fields for you to choose from and set up as you build the form. These fields are all pre-formatted to collect the correct type of data, and certain fields will even pre-populate with options, like a dropdown list of U.S. states.

Once the form has collected some results, it will display the data in an easy-to-use format based on context. For example, in a confirmation email with form results, an Advanced Address field will display the address neatly like you would write it on an envelope; when you download these same results into a spreadsheet, however, the information will split into separate columns so you can sort through the list as needed.

Keep Results Secure and Private

Sensitive PII

Sensitive Personally Identifiable Information (PII) is any information that may stigmatize or adversely affect a person if compromised. This includes, but is not limited to:

  • social security number

  • date of birth

  • driver’s license number

  • medical information

Federal law has strict regulations on the collection of HIPAA data and Sensitive PII, including who can request and access the information, and the security rating of systems that store sensitive PII.

GovHub is not built to store sensitive PII.

Forms that gather and store Sensitive PII require high security systems. If you’re requesting potentially sensitive PII, it’s your responsibility to confirm appropriate methods of gathering that data with the appropriate people in your organization.

Other Sensitive Data

Even if you’re not requesting sensitive PII, you may be requesting information that requires some privacy. If that’s the case, take the time to evaluate how secure that information is in your system.

Are the form results submitted securely? HTTPS encrypts (almost) all information sent back and forth from a website to a user, and it verifies the identity of a website or web service.

On GovHub, all data is sent via SSL (over https). However, by configuring a form to send results over emails, the results lose some security.

Who else can access the form results in the back end? 

On GovHub the default is that anyone with Editor access can see all form results, though you can manually adjust settings to only allow certain editors.

Be Considerate

Recognize emotionally sensitive information.

There are plenty of questions you could ask that aren’t PII, but can still have complicated answers and induce an emotional response. For example, this may include questions around family and marital status, gender, race, education, or employment status.

Of course, just because a topic might be sensitive does not mean we shouldn’t ask questions that need responses. But we can increase our response rate and reduce the friction of filling out a form if we think about how to frame potentially difficult questions.

Why do you need this information? Answer this question both for yourself (to make sure to Ask the Right Questions) and for the people filling out the form. In the field’s description or tooltip, explain why you need it, who will use it, and how it will be used.

For some questions that provide options, allow for a full range of possible responses. For example, gender and marital status should have an option for “Other” or “Custom.” Ethnicity should have options for “other” and the option to select multiple fields.

Treating form respondents with consideration and respect goes a long way to establishing trust. Every small step toward improving your form interactions will improve your results and your organization’s relationship with its audience.

Be Keyboard and Auto-Complete Friendly

Users need to be able to navigate your online content, including your forms, using only a keyboard. This can benefit everyone using your site, making it easier to get from one field to the next, but it’s essential for other users who can’t easily use a mouse or trackpad. Test the tabbing order and confirm whether you can complete all form fields using only a keyboard (no mouse).

Also ensure autocomplete answers are readily accessible to screen readers, keyboard-only users, and mobile users. In some cases, these settings may even be used to convert a form to a conversational interface like Amazon Echo or Google Home. When you Use the Right Field Type, you’re well on your way to a form with great auto-complete features.

Webforms in GovHub are already set up for accessibility, like keyboard navigation and auto-complete.

Encourage Self-Service

Contacting you should usually be the user’s last resort. When possible, it’s typically most effective to point the user to the information already available online. Every form submission that comes in is one more collection of data for someone to sort through.

If you have multiple ways for the user to get what they need, then make sure that you're ordering the page in a way that makes it faster for the users and more manageable for you. This might mean that you provide multiple forms of contact in order from least hands-on to most. With this in mind, your contact page might have the following flow:

  1. Automated chatbot

  2. Form (including links to existing content with Conditional Logic where possible)

  3. Email (if provided separate from the form)

  4. Phone number

  5. Office location

Think of the Whole Experience

Take a step back and think about the user's journey holistically. Your agency’s contact form is one piece of many; they’re getting information from your website, call centers, and service centers. They’re also hearing from organizations and individuals who aren’t related to your agency at all. At the end of the day, this form will be a small piece to the larger puzzle, so think of where users are coming from and where they’re going.

With this in mind, you’re ready to Plan Out the Form!