Prepopulating or Prefilling Forms Using Query String Parameters
  • 25 Apr 2024
  • 1 minute read
  • Dark
  • PDF

Prepopulating or Prefilling Forms Using Query String Parameters

  • Dark
  • PDF

Article summary

Using query string parameters, Slate can prepopulate forms for a specific record or a specific form field (e.g., prepopulating an academic interest for an embedded form). A query string parameter is a parameter intended to pass information to a webpage by appending a URL with a parameter and its value.

🔔 Important!

If a query string parameter uses a merge field in a mailing, that merge field must:

  • Be included as an export in the mailing's recipient list

  • Match the export's Name setting. If the export's Name setting has spaces, the merge field will replace those spaces with dashes (-). For instance, "Academic Program" would become {{Academic-Program}}

For a Record

By sending a person parameter with a record's unique identifier, system fields on the form will be prefilled for the registrant, and the submission of the form will update that specific record. Parameters are case sensitive. For example, the "person" parameter must remain in all lowercase letters (i.e., person vs. Person). If the "P" is capitalized, the redirect script for the "Not you? Click here" banner will not function as expected.

Form Scope

Configurable Joins Export to Use

Example URL


"GUID" from the "Person" Query Base{{Person-GUID}}


"GUID" from the "Application" Query Base{{Application-GUID}}


"GUID" from the Dataset's Query Base{{Organization-Contact-GUID}}

If your URL already includes a query string parameter, you will need to append this additional parameter with an ampersand (&) instead of a question mark (?). For instance:

  • would be be appended with &person={{Person-GUID}}

  • would be appended with &person={{Person-GUID}}

For a Form Field

Slate can prepopulate a form field using a parameter and a value. The parameter will be the form field's Export Key (e.g., sys:first, sys:field:acainterest). The value being passed in, however, must respect the form field type being used:

Form Field Type

Is the Field Mapped?

Acceptable Value


Prompt Driven


The prompt's GUID

Prompt Driven


The prompt's exact value

Free Response


A string

A prompt's GUID is visible when accessing that prompt in the prompts tool:


It is possible to concurrently prepopulate:

  • Multiple form fields

  • A form field with multiple values

Embedded Forms

If you wanted to prefill a program of interest form field with an Export Key of sys:field:acainterest and a value of "Computer Science" (using the example prompt above), the embed code would be something like:

<div id="form_48125437-447b-4638-925b-5ee8b09808cf">Loading...</div><script
 async="async" src=";output=embed&amp;div=form_48125437-447b-4638-925b-5ee8b09808cf">/**/</script>

Was this article helpful?