Skip to main content
Data layer events

form_submit

A user submits a form.

Status: Planned

Triggered when a user submits a form.

Emitted by CMS forms on the website (sales or booking sites).

GA4 docs: https://support.google.com/analytics/answer/9216061

Note: To use form parameters in GA4 reports, configure custom dimensions.

If marketing consent is granted and the form includes email or phone fields, include user_data with hashed identifiers.

GA4 Tag Manager user-provided data guidance: https://support.google.com/analytics/answer/14171268

No address fields are sent.

Sample data layer snippet

dataLayer.push({
  "event": "form_submit",
  "form_id": "42",
  "form_name": "Contact Form",
  "form_destination": "/forms/responses",
  "form_submit_text": "Send message",
  "form_response_id": "12345",
  "user_data": {
    "sha256_email_address": "...",
    "sha256_phone_number": "..."
  }
});

Top-level parameters

ParameterSamplePresenceDescription
form_id42if availableCMS form id. Source: Website form model id.

Notes: Legacy CMS formSubmit nested this under form_submit.form_id.

form_nameContact FormalwaysHTML name attribute of the <form> element. Source: Website form name.

Notes: Legacy CMS formSubmit nested this under form_submit.form_name.

form_destination/forms/responsesalwaysURL the form submits to. Source: Website form submit URL.

Notes: Legacy CMS formSubmit nested this under form_submit.form_destination.

form_submit_textSend messageif availableText of the submit button, if present. Source: Website submit button label.

Notes: Legacy CMS formSubmit nested this under form_submit.form_submit_text.

form_response_id12345alwaysInternal form response id (custom parameter). Source: Website saved form response id.

Notes: Legacy CMS formSubmit nested this under form_submit.form_response_id.

user_data{...} (see below)if availableHashed user-provided data for Google tags. Source: Hashed email/phone from form response, sent only with marketing consent.

Notes: Legacy CMS formSubmit nested this under form_submit.user_data.

user_data

Hashed user-provided data for Google tags. Source: Hashed email/phone from form response, sent only with marketing consent.

FieldSamplePresenceDescription
sha256_email_address...if availableHex-encoded SHA-256 after normalization. Source: Hashed email (marketing consent required).
sha256_phone_number...if availableHex-encoded SHA-256 after normalization. Source: Hashed phone number (marketing consent required).

Still need help? Share an idea