Elementor Form GTM Event Listener
Track Elementor form submissions in Google Tag Manager using the submit_success event. Fire GA4, Google Ads, and Meta Pixel on elementorFormSubmitted.
Event fired
elementorFormSubmittedElementor Form
Overview
Elementor's built-in Form widget is widely used across WordPress sites. This listener hooks into Elementor's jQuery-based submit_success event to push a elementorFormSubmitted event to the dataLayer only when the form submission succeeds.
Event fired: elementorFormSubmitted
Trigger type: Custom Event
Why Use This Listener
Elementor forms submit via AJAX. GTM's built-in Form Submit trigger fires on button click, before success is confirmed. This listener fires after Elementor confirms the submission completed.
Common Use Cases
- Track contact form, quote request, and newsletter sign-up conversions
- Fire Google Ads conversion tags on Elementor form completion
- Measure multi-form performance across your Elementor site
- Build GA4 audiences from form submitters
How It Works
Elementor dispatches a jQuery submit_success event on the document after a successful form submission. The listener catches this and pushes elementorFormSubmitted to the dataLayer.
GTM Setup Guide
Steps
- Create Custom HTML tag, paste the code, fire on DOM Ready
- Create Custom Event trigger:
elementorFormSubmitted - Attach GA4, Google Ads, or Meta pixel tags to the trigger
Installation
<!-- GTM Custom HTML Tag: Elementor Form Listener -->
<script>
jQuery(document).ready(function($) {
jQuery(document).on('submit_success', function(event, response) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'elementorFormSubmitted',
'formID': response ? response.data.id : ''
});
});
});
</script>Note: The
responseobject may contain form ID and other metadata depending on the Elementor version.
Data Layer Output
{
"event": "elementorFormSubmitted"
}Trigger Configuration
Trigger Type: Custom Event
Event Name: elementorFormSubmitted
GA4 Mapping
| GA4 Event | Parameter | Value |
|---|---|---|
generate_lead | method | "elementor_form" |
generate_lead | form_id | DLV – Form ID (if available) |
Debugging
| Problem | Cause | Fix |
|---|---|---|
| No event firing | jQuery not available | Check jQuery loads before listener |
| Fires on failed submissions | Wrong event | submit_success only fires on success |
| Multiple fires | Duplicate containers | Remove duplicate GTM snippets |
Best Practices
- Use Elementor's Success Actions (built-in redirect/URL) to help confirm tracking works
- Combine with Elementor Popup listener if forms appear inside popups
- Test with Elementor's built-in form preview before publishing