
Forminator Form Event Listener
How to track Forminator form succesful submissions and failures with google tag manager
Easily track Forminator form submissions and failed attempts by using a custom event listener with Google Tag Manager (GTM). This allows you to trigger marketing and analytics tags upon successful form submissions or detect submission errors, helping you measure conversions more accurately and diagnose potential user experience issues.
This event listener can be used for:
- Firing conversion tags (e.g., Google Ads, Meta Pixel) on successful submissions
- Sending enhanced first-party data for advanced matching or enhanced conversions
- Segmenting users or events by form ID
- Diagnosing form errors via a failed submission event
- Integrating data into tools like Google Analytics, Microsoft Clarity, Piwik PRO, or any other analytics platform you have running on your website.
How to Set Up Forminator Form Tracking in Google Tag Manager
1. Create a Custom HTML Tag
Start by creating a Custom HTML tag in GTM.
- Copy here and paste your Forminator event listener code into the tag.
- Attach a DOM Ready (recommended) or Page View trigger to this tag to ensure the listener initializes when the form is available.
2. Set Up a Custom Event Trigger for Form Submission
Create a new Custom Event trigger in GTM with the following settings:
- Event name: forminator_form_success
This trigger fires only when a Forminator form is successfully submitted.
3. Track First-Party User Data with dataLayer Variables
To collect first-party data (used for Google Ads Enhanced Conversions or Advanced Matching on platforms like Meta), set up the following dataLayer variables in GTM:
Data Type | Variable Name in GTM | Data Layer Key |
First Name | DLV – Forminator firstname | forminator_user_data.form_firstname |
Last Name | DLV – Forminator lastname | forminator_user_data.form_lastname |
Email Address | DLV – Forminator email | forminator_user_data.form_email |
Phone Number | DLV – forminator phone | forminator_user_data.form_phone |
These variables can then be used to enrich your conversion data or audience targeting in your ad platforms.
4. Collect the Form ID for Tracking or Reporting
If you want to:
- Include the form ID as a parameter in tools like Google Analytics or Piwik PRO, or
- Use it as a condition to limit triggers only to a specific Forminator form,
Then, create an additional dataLayer variable in GTM with the key:
formId
This allows for more granular control over your tags and tracking logic.
5. Optional: Access More Form Data
For additional fields or full form data, create a GTM variable with the key:
formData
This gives you access to the complete form submission payload, which can be helpful for debugging or deeper analytics integration.
Track Form Submission Failures (Optional)
To monitor failed Forminator submissions, create a second Custom Event Trigger in GTM with the event name:
forminator_form_failed
This helps identify when users are encountering issues with your forms, allowing you to optimize user experience or troubleshoot errors.
Triggering Your Marketing & Analytics Tags
Once you’ve set up the listener and triggers:
- Use the forminator_form_success trigger to activate your conversion tags, analytics events, or remarketing pixels inside Google Tag Manager.
- The Forminator form event listener script can also be used in other tag management systems or directly in your site’s code if needed.
By implementing this setup, you gain full visibility into Forminator form interactions, improve your conversion tracking accuracy, and enable richer data collection for your marketing tools.
<script type="text/javascript"> jQuery(function($) { function convertFormDataToObject(formData) { var obj = {}; if (typeof formData.forEach === 'function') { formData.forEach(function(value, key) { if (obj[key]) { if (Array.isArray(obj[key])) { obj[key].push(value); } else { obj[key] = [obj[key], value]; } } else { obj[key] = value; } }); } return obj; } function extractUserData(dataObj) { return { form_firstname: dataObj['name-1'] || null, form_lastname: dataObj['name-2'] || null, form_email: dataObj['email-1'] || null, form_phone: dataObj['phone-1'] || null }; } $(document).on('forminator:form:submit:success', function(event, formData) { var dataObj = convertFormDataToObject(formData); var formId = dataObj['form_id'] || null; var userData = extractUserData(dataObj); window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'forminator_form_success', formId: formId, forminator_user_data: userData, formData: dataObj }); }); $(document).on('forminator:form:submit:failed', function(event, formData) { var dataObj = convertFormDataToObject(formData); var formId = dataObj['form_id'] || null; window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'forminator_form_failed', formId: formId, formData: dataObj }); }); }); </script>
Video of how to use the listener

Related Event Listener

CharityEngine

WSForm

Survicate
download the google tag manager recipe for tracking Forminator form succesful submissions and failures
