Skip to main content

Enrichment

Enrichment

This feature considers various user data elements to create a comprehensive and precise representation of their activity. To activate enrichment, map the URL or cookie values with the relevant form fields.

How will this help me?

With this feature, users can visit your form and leave without submitting it. You will know where they originated if they return to the same form. This way, you can increase your conversion rate.

How does it work?

By providing a parameters map in settings, forms can read users cookies and URL parameters and store that data in the users localStorage. This data is updated every time the user lands on any pages containing the forms.

For example, if the user first time lands on this page:

https://infinum.com/?utm_content=test

and you have provided the corresponding parameter mapping in the settings. Forms will store the GET parameters in the local storage and use it to prefill the form fields.

Note

Forms only store parameters defined in the mapping.

Next time, if the user returns to the same page without this parameter, forms will use the value from local storage if the storage is still valid.

How long does the data stay in the storage?

By default, the data is stored for 30 days. You can change this value in the settings.

Enrichment screen

How to map parameters?

First, you provide the list of all the cookies and URL parameters you want to use.

Enrichment params screen

Next, you need to map them with the corresponding form fields by providing the field names.

Enrichment map screen

You can map multiple fields with the same parameter by separating the field names with a comma.

Caution

The field name will match the mapped fields on every form in your project.

Prefill from storage

If a user doesn't finish submitting a form, the enrichment prefill feature remembers their inputs in localStorage. When they visit the form again, the prefill feature will automatically input the previous data. However, if the form is successfully submitted, this data will be erased.

Caution

It is important to disclose this in your site's Privacy policy.

Enrichment prefill storage map screen

Prefill from URL

The same as prefill from storage, prefill from URL will prefill the form fields if the user has data in the URL. This way, your form can be shared with prefilled data.

Caution

It is important to disclose this in your site's Privacy policy.

Enrichment prefill url map screen

URL format

Note

Both the enrichment feature and its prefill from URL option must be enabled in the global settings, otherwise the URL is ignored.

All the data goes into a single query parameter, named form- plus the form ID:

?form-{formId}=field-name==value/other-field==value
SeparatorUse
/separates fields
==separates the field name from its value
---separates multiple values for one field

Field names are the Name values set in the form editor, and the values must match the field's values (not the labels).

Examples

A simple text and textarea prefill:

https://example.com/contact/?form-840=first-name==Ivan/message==Hello%20there

An email and a phone number — the + has to be encoded as %2B:

https://example.com/contact/?form-840=email==ivan%40example.com/phone==%2B385911234567

A phone field with a separate prefix — the number comes first, the dialing code (without +) second:

https://example.com/contact/?form-840=phone==911234567---385

Multiple values for checkboxes and a select, a country and a date:

https://example.com/apply/?form-840=checkboxes==check-1---check-2/select==option-1/country==hr/date==2026-01-31

A range or rating field takes a plain number:

https://example.com/survey/?form-840=rating==4/range==10
Note

Values must be URL encoded — space as %20, @ as %40, + as %2B, & as %26, # as %23.

Caution

A value can't contain a /, since that is the field separator and it can't be escaped. Values like URLs have to be filled in manually. File fields can't be prefilled either.

Fields with an empty value are skipped, so a parameter such as field-name== does nothing.

Tip

The form ID is the ID of the form post. If the prefill doesn't fire, check the value the form actually uses in the browser console via window.esForms.

Smart prefill

Prefill from storage remembers a user's inputs for one form. Smart prefill goes a step further and remembers selected fields across all the forms on your site — if a user types their email into a newsletter form, the contact form further down the site will already have it filled in.

Configure it in the global settings, under Enrichment → Prefill smart. Add one field name per line in the Add custom enrichment smart parameters field.

Then, whenever a user fills in a field with one of those names, its value is stored in the browser and used to prefill every field with the same name on any other form.

Note

These are field names, the same ones you set in the form editor, not URL parameters. A field is only prefilled if its name matches exactly.

The values are stored in localStorage under the es-storage-smart key, separately from the per-form prefill data.

Prefill from storageSmart prefill
Scopeone formevery form with a matching field name
Requiresthe prefill from storage optiononly the enrichment feature
Cleared on successful submissionyesno
Expires afterClear form prefill storage after (2 days by default)Clear enrichment storage after (30 days by default)
Caution

Smart values intentionally survive a successful submission, so keep the list to convenience fields like a name, an email or a phone number. Don't add anything sensitive to it.

Caution

It is important to disclose this in your site's Privacy policy.

Prefill from another form

Fields can also be prefilled with the data from a form the user has just submitted. See the connected forms feature.