> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dforms/connect/hubspot/form-elements.md).

# Form elements: UTMs, score, outcome, submitted date

Send the metadata dForms captures on its own to HubSpot: the five UTM parameters, the lead score, the outcome heading and the submitted date. Plus the switches for inferring the company from the email

Not everything worth sending to HubSpot is an answer. dForms also captures where the respondent came from, how they scored, which outcome they landed on and when they submitted. The **Map form elements** section is where you decide which contact property receives each of those.

Open your form, click **Connect**, and scroll inside the **HubSpot** card to **Map form elements**. The section is described as **Send captured metadata (UTMs, lead score, outcome, and submitted date) to HubSpot properties.**

***

**Step 1:** Map the campaign parameters under **UTM mappings**.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-387529dd804c32a8d78ff226068088f6660e154c%2Fforms-form-elements-01-utm-mappings.png?alt=media" alt="The UTM mappings block with rows for utm_source, utm_medium, utm_campaign, utm_term and utm_content, three of them pointing at HubSpot properties"><figcaption><p>Five fixed rows, one per UTM parameter. Leave a row on <strong>(none)</strong> to skip it.</p></figcaption></figure>

The five rows are `utm_source`, `utm_medium`, `utm_campaign`, `utm_term` and `utm_content`. Whenever someone opens the public form with those parameters in the URL, dForms captures them automatically: you do not have to add hidden questions for them. When the form is embedded with the full snippet and its own address carries no UTM parameters, it takes them from the page that embeds it. See [Embed on your website](/dforms/share/embed.md#what-your-page-tells-the-form).

UTMs are sent on **partial and complete** submissions, so an abandoned lead still arrives with its campaign attached.

> **💡 Tip:** The same values ride along in the webhook payload under `utm`, and they are also visible on each submission. Tracking scripts are configured separately, in [Tracking & pixels](/dforms/connect/tracking-and-pixels.md).

***

**Step 2:** Choose where the lead score and the submission date go.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-3ee80e596637a6d5fa5875662168bc21438aa248%2Fforms-form-elements-02-score-and-date.png?alt=media" alt="The Score property and Submitted-date property pickers, with the Day timezone picker next to a date-type property"><figcaption><p><strong>Score property</strong> and <strong>Submitted-date property</strong>. A date-type pick shows <strong>Day timezone</strong> next to it.</p></figcaption></figure>

| Field                       | What it receives                                                                                                                                                                                                        |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Score property**          | The total score as a number. **Receives the total score as a number, on completed submissions only.** Pick a HubSpot number property.                                                                                   |
| **Submitted-date property** | When the submission was made. What is written depends on the property's type in HubSpot: a **date and time** property keeps the exact time, and a **date** property gets the calendar day, counted in **Day timezone**. |

**Day timezone** appears next to the pick when the property is a date property. It is a searchable list of time zones, and **UTC (default)** is used when you leave it alone. It decides the calendar day: a submission at 9 pm in Bogota is still today there, but already tomorrow in UTC. The same value is shared by every date property on the HubSpot card, including the booking date under [Booking sync](/dforms/connect/hubspot/booking-sync.md).

> **⚠️ Note:** On a form with no email question, the submission reaches HubSpot when someone books through the scheduler step. In that case the **Submitted-date property** receives the calendar day in UTC, whatever its type and whatever **Day timezone** says.

Scoring is set up on the **Logic** tab. If your form does not use points, leave **Score property** on **(none)**. See [Scoring](/dforms/logic/scoring.md).

***

**Step 3:** Send the outcome the respondent saw.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-cb708521a2b1531d2841145f66c8f22b819229e1%2Fforms-form-elements-03-outcome.png?alt=media" alt="The Outcome property picker with the helper text explaining that it receives the heading of the matching score range"><figcaption><p>The <strong>Outcome property</strong> receives the exact heading from the matching score range.</p></figcaption></figure>

It receives the **heading you wrote on the matching score range in Results**: the same text the respondent reads on the ending screen, not a code. It is written on completed submissions only, and only when a score range actually matches. With scoring switched off, nothing is sent. See [Outcomes](/dforms/logic/outcomes.md).

***

**Step 4:** Decide what else the sync should do, with the three switches under the mapping sections.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-a1e3360ecc91746ed7a841338fe7e02b98de18be%2Fforms-form-elements-04-toggles.png?alt=media" alt="The Infer company from email, Create a note on completed submissions and Record a form submission in HubSpot switches: the first off, the other two on"><figcaption><p>Three switches. Here the note and the form submission are on, and Infer company is off.</p></figcaption></figure>

| Switch                                     | What it does                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Infer company from email**               | When the respondent uses a work email, fills the company and website properties from its domain. Free mail domains (gmail, outlook and the like) are skipped, and a value you mapped yourself is never overwritten.                                                                                                                                                    |
| **Create a note on completed submissions** | Attaches a note to the contact with the form name, the submitted date and time (UTC), the score, the outcome, the page the form was answered on (a **Page:** line, when it is known) and every property the submission set. On by default.                                                                                                                             |
| **Record a form submission in HubSpot**    | Creates a matching form in your portal, so each completed submission shows on the contact as a **form submission activity** listing the properties it set, not just a note. The form is named after yours, with **(dForms)** appended. It also carries the page the respondent converted on and their HubSpot cookie, which links the contact to their earlier visits. |

**Record a form submission in HubSpot** needs the `forms` and `form-submissions-write` scopes on the private app behind your connection. If your portal refuses, the card shows **HubSpot could not set this up: {reason}** and the rest of your settings still save. What it takes to link contacts to their visits is on [Landing page & HubSpot attribution](/dforms/connect/hubspot/attribution.md).

Duplicating a form does not copy its link to the matching form in HubSpot. The copy creates its own the first time its HubSpot settings are saved with the switch on, so each form's submissions land on its own form in your portal.

> **⚠️ Note:** The note and the form submission activity only happen on **completed** submissions. **Infer company from email** works on partial submissions too.

***

## Reference

| Setting                                    | Sent on partial | Sent on complete                |
| ------------------------------------------ | --------------- | ------------------------------- |
| **UTM mappings**                           | Yes             | Yes                             |
| **Score property**                         | No              | Yes                             |
| **Outcome property**                       | No              | Yes, when a score range matches |
| **Submitted-date property**                | Yes             | Yes                             |
| **Infer company from email**               | Yes             | Yes                             |
| **Create a note on completed submissions** | No              | Yes                             |
| **Record a form submission in HubSpot**    | No              | Yes                             |

With [spam protection](/dforms/connect/spam-protection.md) on, nothing is sent on a partial submission: everything in the **Sent on complete** column goes out once the respondent finishes.

***

## What's next

* [Value maps & static properties](/dforms/connect/hubspot/value-maps-and-static-properties.md): translate answers and stamp fixed values.
* [Landing page & HubSpot attribution](/dforms/connect/hubspot/attribution.md): link contacts to the page they converted on.
* [Booking sync](/dforms/connect/hubspot/booking-sync.md): the properties written when someone books a meeting.
* [How the sync works & troubleshooting](/dforms/connect/hubspot/how-sync-works.md): read the delivery log and fix a sync that is not running.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dforms/connect/hubspot/form-elements.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
