> For the complete documentation index, see [llms.txt](https://docs.powerfulform.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.powerfulform.com/field-types/input-fields/hidden.md).

# Hidden

Attach information to every submission without asking the visitor for it.

A Hidden field never appears on the form. It carries a value you decide, and that value arrives with the submission alongside the visitor’s answers

> **📌 Plan:** Not available on the Free plan. The tile is grayed out in the element picker. See Plans and billing.

## 🔧 How to Set It

In the form editor, click **Add element** > pick **Hidden**.&#x20;

The field is added and its settings open on the left.&#x20;

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FivAeXjM9C34BNVLsmLX9%2Fimage.png?alt=media&amp;token=39991f65-f3c6-423e-8ea6-fc63c09c52bb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FY9rlB5KDpzUtzBcToCHd%2Fimage.png?alt=media&amp;token=4ed472fc-a445-4472-bedc-0fc18fbdf913" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
See more [Add and arrange elements](broken://pages/BGbUu5Y7FlIp5LYqEwN9).
{% endhint %}

## 🔄 How It Works

The value is stored with the submission under the field’s **Label**, exactly like a visible answer. It appears in **Submissions**, exports, and any integration you map it to. It reaches your emails only once you add its variable to the template.

## ⚙️  Settings

Only the settings specific to this field are listed here. **Label**, **Placeholder**, **Description**, **Required**, **Hide label**, **Column width**, **Conditional display** and the rest of the shared settings work the same on every field.

### **🔀 Data Type**

Decides where the value comes from.

* **Fixed value** *(default)* — you type the value, and can include variables.
* **Dynamic value** — the value depends on what the visitor answered in another field.

> **📌 Note:** A Hidden field has no **Required**, **Column width** or **Conditional display**, because it’s never on the page. Give each hidden field a **Label** you’ll recognize, since it’s the only thing telling two of them apart in your submissions.

### 📌 Show Fixed Data

Store the same text every time. Set **Data type** to **Fixed value**, then type your text in **Assign value**.

**Example:** A wholesale form stores `Wholesale enquiry` in a hidden field labeled **Form type**. Every submission is tagged the same way, so you can filter by it later.

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FdomFqrexSAw27bkCjT1R%2Fimage.png?alt=media&amp;token=16ad26b9-c93e-4290-b595-f137a91dd86d" alt=""><figcaption></figcaption></figure>

### 🔗 Show Dynamic Data with Variables

Variables fill in the real value when the visitor submits. Click a variable under **Assign value** to copy it, then paste it into the box.

**Example:** Store `{{-page.href-}}` to see which page each enquiry came from. For a product enquiry, mix text and variables in one box: `Product: {{-product.title-}} | Page: {{-page.href-}}`.

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FphD9wKgZhfycdoZSiOkA%2Fimage.png?alt=media&amp;token=81275514-b4df-4031-93fc-3071d296a5f7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FeelfuejwnJ1ovCSgEACJ%2Fimage.png?alt=media&amp;token=1fc85e74-5959-4919-b66b-7ff0ea0895e8" alt=""><figcaption></figcaption></figure>

### 📣 Capture UTM Data

UTM variables read the tracking values from the address the visitor arrived on. They tell you which campaign brought each lead.

<table><thead><tr><th width="207.7166748046875">Variable</th><th>Stores</th></tr></thead><tbody><tr><td><strong>utm_source</strong></td><td>Where the visitor came from (e.g. <code>facebook</code>)</td></tr><tr><td><strong>utm_medium</strong></td><td>The channel (e.g. <code>email</code>, <code>cpc</code>)</td></tr><tr><td><strong>utm_campaign</strong></td><td>The campaign name (e.g. <code>black-friday</code>)</td></tr><tr><td><strong>utm_content</strong></td><td>Which ad or link variant</td></tr><tr><td><strong>utm_term</strong></td><td>The keyword, for paid search</td></tr></tbody></table>

**Example:** You share `yourstore.com/wholesale?utm_source=facebook&utm_campaign=black-friday`. A hidden field set to `{{-utm.source-}}` stores **facebook** with every submission from that link.

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2Focyc9JEz4Fkqo27XLTEf%2Fimage.png?alt=media&amp;token=1c3d3275-0a80-4392-8856-01688c4ca348" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FFcfurPIKb2s00KYlk3E3%2Fimage.png?alt=media&amp;token=be7407dc-ef0a-44fd-ab19-f39069058295" alt=""><figcaption></figcaption></figure>

> **📌 Note:** UTM variables are only filled when the visitor’s address carries them. A direct visit has no UTM values, so the field comes through empty. Use one hidden field per value you want to track.

### 🕐 Show the Submission Date and Time

Set **Assign value** to `{{submitted_at}}` to store the exact date and time the visitor submitted.

{% stepper %}
{% step %}

### Add hidden datetime field

* add hidden field to the form
* assign fixed value  `{{submitted_at}}`&#x20;

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FT5cWYIjvOn0Fhb7eFZtK%2Fimage.png?alt=media&amp;token=5657f009-2bf3-4852-8522-2732984df443" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Add the hidden field to the email template

* open the email template
* paste the variable of the hidden field

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FwhS4pSqaEHoH7RtWUpDp%2Fimage.png?alt=media&amp;token=2fe753f7-5566-4aa9-ac2a-8c0b4bbd6d1b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FQa86mutVPXzOVORt2uNf%2Fimage.png?alt=media&amp;token=a0172066-efbd-4d3d-a5f0-d088e3147837" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### 🧭 Value Based on an Answer

Set **Data type** to **Dynamic value** when the hidden value should depend on a visitor’s answer.

1. Add and label the source field first (e.g. a *Department* dropdown).
2. Under **When**, pick that field.
3. For each rule, set **is** (the answer to match) and **then value** (the text to store). Click **Add new rule** for more.
4. Fill in **Default value**, which is stored when no rule matches.

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2F3xDS3DjuUlH1hBj3Ei4Y%2Fimage.png?alt=media&amp;token=3828c7ec-c007-4fd8-a490-40abaad6b902" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2907469752-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FehM2rz7MmKkWcJmgvJOe%2Fuploads%2FgcrSRwHazbV4PCY81bqT%2Fimage.png?alt=media&amp;token=67450daa-5b51-4979-a653-e97a095115c4" alt=""><figcaption></figcaption></figure>

## 📮 Route Admin email by answer

[Learn more](https://docs.powerfulform.com/email-notifications/admin-emails-with-conditions)

## Next steps

* [Find which page a submission came from](/submissions/view-submissions.md) for the most common use of a fixed hidden value.
* [Insert form answers into an email](/email-notifications/email-template-editor.md#dynamic-variables) to put a hidden value into your notifications.
* [View submissions](/submissions/view-submissions.md) to check the values that are coming through.
