URL Parameters/Hidden fields
URL parameters are a powerful way to pass information to a Fillout form to support pre-filling and personalizing the form.
URL Parameters make up the text that comes after the URL in your browser, e.g. in
https://www.google.com?search=Bunnies, "search" is a URL parameter with a value of "Bunnies". We can pass URL parameters to Fillout in the exact same way, and use this to do many things like pre-filling, analytics-tracking, and customization.
The first step is to "register" a URL parameter. Go to the
settingstab and click
Here, we can tell Fillout to expect a URL Parameter with a "key" (i.e. “source” in the example above), and also pass a sample value we can use while we test our form. Note that passing a sample value is not necessary, and is only a convenience for testing the form in preview/edit mode.
We can now use this URL Parameter to:
- Pre-fill a field, by pressing the "+" icon on a "default value" property of any field
- Write to any integration, by heading to the "connect" tab at the top and creating a new connection or editing an existing one, and mapping this URL Parameter to some field in e.g. Airtable/Notion.
- Display in plaintext in the form
- Type "@" in any question or heading to reference information from your form
2. Click "continue" into the "URL parameters" section
3. "Insert" the URL parameter which you have registered, and then try out your form with an example URL parameter in preview or live mode!
Often, you will want to record which URL parameters were passed when submitting the form. A common scenario would be that you're pasting the link to your form on various social media platforms (e.g. Facebook, Instagram, Linkedin), and you want to see which ones get a higher percentage of traffic. By default, Fillout stores the URL parameters used in a submission on the results page (see below).
If you're using an integration, and want to write your URL parameters there as well, you can either:
a) Create a Fillout field and pre-fill it with a URL parameter, and then "Always hide" it on the right-hand settings panel. If this field is synced to an integration already, then it will automatically write to your integration without ever being visible to the user:
b) Head to your integration settings, and map the URL parameter directly. E.g. for Airtable, there is an "Additional mappings" section which you can use for this purpose. See this article for more information.