Elementor Forms + GA4 Conversion Tracking Setup

I audit about 30-40 Elementor sites per year, and roughly 60% of them have broken GA4 conversion tracking for their forms. The most common issue? They’re relying on Elementor’s built-in Google Analytics integration, which doesn’t fire the events GA4 actually needs for conversion tracking. You end up with form submissions in your WordPress dashboard but zero conversions in GA4.

The second most common mistake is setting up the GTM trigger to fire on any form submission instead of specifically targeting Elementor forms. This creates false positives when users submit search forms or newsletter signups.

What You’ll Have Working By The End

Prerequisites

Step 1: Set Up the Data Layer Push in GTM

Elementor Forms fires a JavaScript event when forms are submitted, but it doesn’t automatically push to the data layer. We need to create a Custom HTML tag that listens for Elementor’s form submission event and pushes the data GTM needs.

In GTM, create a new Custom HTML tag with this code:

<script>
jQuery(document).on('submit_success', '.elementor-form', function(e, response) {
  // Get form details
  var formElement = jQuery(this);
  var formName = formElement.find('input[name="form_name"]').val() || 'Unknown Form';
  var formId = formElement.closest('.elementor-element').data('id') || 'unknown';
  
  // Push to data layer
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({
    'event': 'elementor_form_submit',
    'form_name': formName,
    'form_id': formId,
    'form_source': 'elementor'
  });
});
</script>

Set this tag to fire on All Pages and name it “Elementor Forms - Data Layer Push”.

Step 2: Create the GTM Trigger

Create a Custom Event trigger in GTM:

Name it “Elementor Form Submission”.

Step 3: Set Up Data Layer Variables

Create these Data Layer Variable in GTM:

Create another:

Step 4: Create the GA4 Event Tag

Create a new GA4 Event tag:

Triggering: Select your “Elementor Form Submission” trigger.

Name this tag “GA4 - Elementor Form Conversion”.

Step 5: Mark the Event as a Conversion in GA4

In your GA4 property:

  1. Go to ConfigureEvents
  2. Find the generate_lead event (you may need to wait 24-48 hours for it to appear after your first test submission)
  3. Toggle the Mark as conversion switch to ON

If you want to use a custom event name instead of generate_lead, that works too — just make sure to mark whatever event name you choose as a conversion.

In your Elementor form settings, under Actions After Submit:

Testing & Verification

Test in GTM Preview Mode

  1. Enable Preview mode in GTM
  2. Submit your Elementor form
  3. In the GTM preview panel, look for the elementor_form_submit event
  4. Verify that your “GA4 - Elementor Form Conversion” tag fired
  5. Check that the form_name and form_id variables populated correctly

Test in GA4 DebugView

  1. In GA4, go to ConfigureDebugView
  2. Submit your form again
  3. Look for the generate_lead event
  4. Verify the event parameters (form_name, form_id, form_source) are coming through

Test in GA4 Realtime

  1. Go to ReportsRealtime
  2. Submit your form
  3. You should see the conversion event appear within 30-60 seconds

Cross-Reference Numbers

After 24-48 hours, compare:

Acceptable variance is 5-15%. Higher variance usually indicates duplicate firing or missed submissions.

Troubleshooting

Problem: GTM preview shows the trigger fired but the GA4 tag didn’t fire → Check that your GA4 Configuration tag is firing on the same pages. Most commonly, the GA4 config tag is set to fire on “All Pages” but excludes admin pages, while your form might be on a page that’s being excluded.

Problem: GA4 DebugView shows the event but with empty form_name parameter → Elementor doesn’t always set a form_name field. Edit your form in Elementor, go to ContentForm Fields, and make sure you’ve set a Form Name in the form settings (not individual field settings).

Problem: Multiple events firing for a single form submission → Your Custom HTML tag might be firing on multiple triggers. Check that it’s only set to fire on “All Pages” and not on additional triggers. Also verify you don’t have Elementor’s built-in GA integration running simultaneously.

Problem: Events firing on other forms (contact forms, newsletter signups) on the same page → The .elementor-form selector should prevent this, but if you have other plugins that add this class, add a more specific selector: .elementor-widget-form .elementor-form

Problem: Form submissions showing in Elementor but zero GA4 conversions after 48 hours → Check that you marked generate_lead as a conversion in GA4. Events appear in DebugView and Realtime immediately, but only show up in the Conversions report after being marked as conversions.

Problem: jQuery is not defined error in browser console → Some WordPress themes don’t load jQuery on all pages. Add this to the top of your Custom HTML tag:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

What To Do Next

Once your Elementor Forms are tracking properly in GA4, you’ll probably want to:

Not seeing the data you expected? I do free 15-minute tracking audits to diagnose what’s broken. Book one here and I’ll spot-check your setup.

This guide is part of the GA4 Conversion Tracking hub — complete setups for tracking any form or event as a GA4 conversion.