---
title: "Hidden fields, prefilled forms and the unique field"
description: "Save extra data with hidden fields, fill in fields from the campaign link, let returning players skip typing and choose how Scratcher recognises a person."
url: https://scratcher.io/help/forms/hidden-fields-and-prefill
language: en
---

1. [Help center](https://scratcher.io/help)
2. [Sign-up forms and consent](https://scratcher.io/help/forms)
3. Hidden fields, prefilled forms and the unique field

# Hidden fields, prefilled forms and the unique field

Save extra data with hidden fields, fill in fields from the campaign link, let returning players skip typing and choose how Scratcher recognises a person.

## Add a hidden field

A hidden field isn't shown to players, but its value is saved with every sign-up. Use it to tag leads, for example with the store, the campaign wave or the source.

1. Click the form and click **Add field** under **Fields**.
2. Choose **Create new field**, and under **Type** choose **Hidden**.
3. Write the **Field name**, for example "Store".
4. Optional: write a **Default value**, for example "Copenhagen".
5. Click **Save**.

Hidden fields are listed under **Hidden fields** on the form's **Content** tab. Click one to change its default value. Each campaign can have its own default value for the same hidden field.

## Fill in a field from the campaign link

You can put a value for a field in the campaign link. Add `_s_` and the field's key to the link:

`https://your-campaign-link?_s_store=aarhus`

- A **hidden** field saves the value from the link. Without a value in the link, it saves its **Default value**.
- A **visible** field is filled in with the value, and people can still change it. For example `?_s_email=anna@example.com` fills in the email field in a link you send to a known customer.

The key is the field name in lower case, with spaces replaced by underscores: "Store" becomes `store`, and the system fields are for example `first_name`, `last_name`, `email` and `phone_number`. Add more values with `&`, for example `?_s_store=aarhus&_s_first_name=Anna`.

> Good to know: use this to see where sign-ups come from, for example one link per store, newsletter or partner. For channels and tracking, see also [Track channels and pixels](https://scratcher.io/help/results/track-channels-and-pixels).

## Let returning players skip typing

- **Autosave form fields** (form add-on, on by default): after someone has sent the form, their answers are remembered on their device and filled in next time.
- **Multi-step form** (form add-on): people first type only their email or phone. If Scratcher knows them, they continue straight away; if not, they get the rest of the fields.
- **Auto-complete form** and **Login** (in **Settings** > **Participation**): fill in the form for returning players, or let them log in. See [Limit how often people can play](https://scratcher.io/help/forms/limit-participation).

Read more in [Every form add-on](https://scratcher.io/help/forms/form-add-ons).

## How Scratcher recognises a person

The **unique field** decides when two sign-ups are the same person. Participation limits, "win once" rules and duplicate leads all use it.

- With a required **Email** field, the email address is the unique field.
- Otherwise, with a required **Phone number** field, it is the phone number.
- To choose yourself, turn on the **Custom unique field** add-on and pick **Email**, **Phone number** or **Custom token** under **Unique field**. **Custom token** uses the **Custom Token** field, for example a member number. The **Unique field** setting is also shown when the campaign has more than one form.

Set the unique field before launch. Changing it on a live campaign can count people twice, and the editor warns you about it. Some integrations decide the unique field themselves, and then you can't change it.

Sign-up forms and consent

- [Edit the sign-up form](https://scratcher.io/help/forms/edit-the-sign-up-form)
- [Form field types, settings and styling](https://scratcher.io/help/forms/form-fields-and-add-ons)
- [Every form add-on](https://scratcher.io/help/forms/form-add-ons)
- [Hidden fields, prefilled forms and the unique field](https://scratcher.io/help/forms/hidden-fields-and-prefill)
- [Ask for consent and add terms and conditions](https://scratcher.io/help/forms/consent-and-permissions)
- [Set up double opt-in](https://scratcher.io/help/forms/double-opt-in)
- [Limit how often people can play](https://scratcher.io/help/forms/limit-participation)
- [Stop cheating and spam](https://scratcher.io/help/forms/prevent-cheating)

## Related articles

- [Edit the sign-up form](https://scratcher.io/help/forms/edit-the-sign-up-form): Add, remove and arrange fields, use system fields and your own fields, style the form and see everything in the form panel.
- [Every form add-on](https://scratcher.io/help/forms/form-add-ons): Captcha, autosave, double opt-in, address lookup, confirmation and error popups, show the form after the game, multi-step forms, the unique field and where people go after the form.
- [Limit how often people can play](https://scratcher.io/help/forms/limit-participation): Let people play once, daily, weekly or without limit, cap the number of participants and change the messages they see.

## Still need help?

Real people are here to help. If you already use Scratcher, the quickest way is the chat inside the platform.

- **[Chat with us](https://platform.scratcher.io/login)**

    Log in and click the chat button in the bottom-right corner. Rex answers right away, and our team is a click away.
- **[Book a meeting](https://scratcher.io/book-a-meeting)**

    A free 30-minute video call with our team: a tour, campaign ideas or help with your setup.
- **[Email us](mailto:contact@scratcher.io)**

    Write to contact@scratcher.io and we will get back to you.
