Skip to main content

Free download

Track lead form submissions as GA4 key events

Choose a reliable signal for successful enquiries, send it to GA4 as a generate_lead event through Google Tag Manager, and mark it as a key event.

We reply within one working day. No pitch, no pressure.

Tracking & AnalyticsFreePDFWW-003 · v1.0
Time
60 minutes
Difficulty
Intermediate
Audience
Marketers with GTM publish access and GA4 Editor access

Tools: Google Tag Manager · Google Analytics 4 · Tag Assistant

Download free PDF

Free download. No account needed. Resources licence. Branded PDF in the Wright Websites design system. Covered by the resources licence.

01 / Procedure

How to follow it

Purpose

A lead is only worth measuring if the event fires once per genuine enquiry and never on a failed or abandoned form. This procedure chooses the most reliable success signal available on the website, sends it to GA4 as the recommended generate_lead event, and marks it as a key event so it appears in reports and can be imported into Google Ads. It is finished when one real test submission produces exactly one generate_lead event in DebugView.

Scope

In scope

  • Choosing between a thank-you page, a data layer event or a form success element as the trigger
  • Building the GTM trigger and GA4 event tag
  • Marking generate_lead as a key event
  • Testing with real submissions

Out of scope

  • Google Ads conversion tags (see WW-013)
  • Phone call, live chat or ecommerce purchase tracking
  • Sending personal data (names, emails, phone numbers) to GA4, which is never allowed

Roles and responsibilities

RoleResponsibility
ImplementerChooses the trigger method, builds the tags and tests them.
DeveloperAdds a dataLayer.push on form success if no other reliable signal exists.
Website ownerConfirms test submissions can be sent and deleted from the inbox or CRM.

Prerequisites

  • GA4 deployed through GTM and verified (WW-002).
  • A list of every lead form on the site, the page each lives on, and what happens after a successful submission.
  • Permission to submit test enquiries, and an agreed test name such as Wright Test so the team can ignore them.

Procedure

Choose the success signal

Pick the most reliable signal; work down the list and use the first that exists.

  1. Submit each form once and note what happens on success. Use this order of preference:

    • Dedicated thank-you page with its own URL (for example /thank-you), reached only after a successful submission.
    • Data layer event pushed by the form on success (for example form_submitted). Check by typing dataLayer into the browser console after submitting.
    • Success message element that appears only on success. Use this only when neither option above exists, because theme changes can silently break it.
  2. Record the chosen signal for each form in the work ticket.

    [!WARNING] Never use the GTM Form Submission trigger on its own. It often fires on clicks that fail validation, which inflates leads.

Build the trigger

Fire only when a genuine enquiry has succeeded.

  1. In GTM, open Triggers and click New.

  2. Build the trigger for the chosen signal:

    • Thank-you page: choose Page View, select Some Page Views, and set Page Path equals /thank-you. Use equals rather than contains so similar URLs don't match.
    • Data layer event: choose Custom Event and enter the exact event name, such as form_submitted.
    • Success element: choose Element Visibility, select the success element by CSS selector, set it to fire Once per page, and tick Observe DOM changes.
  3. Name the trigger Lead · <form name> · success and save it.

Build the GA4 event tag

Send a clean, consistently named event.

  1. Open Tags, click New, and choose Google Analytics: GA4 Event.

  2. Enter {{GA4 Measurement ID}} as the Measurement ID and generate_lead as the Event Name.

  3. Add an event parameter named form_name with a fixed value describing the form, such as contact or quote.

    [!IMPORTANT] Only send descriptive, non-personal parameters. Names, email addresses, phone numbers and message text must never be sent to GA4.

  4. Attach the trigger from the previous phase, name the tag GA4 · generate_lead · <form name>, and save it.

Test the event

Prove one submission creates one event.

  1. Click Preview and connect to the website. Submit the form with the agreed test details.
  2. In Tag Assistant, confirm GA4 · generate_lead fired exactly once, on the success event only.
  3. Submit the form again with a required field left empty, and confirm the tag did not fire.
  4. In GA4 DebugView, confirm a single generate_lead event appears with the form_name parameter.

Mark as a key event and publish

Make the event count in reports and advertising.

  1. In GTM, click Submit, name the version GA4 generate_lead, and publish.
  2. In GA4, open Admin, then Events. Once generate_lead appears (this can take up to 24 hours), toggle Mark as key event.
  3. Tell the website owner which test submissions to delete from the inbox or CRM.

Quality checks

  • Every lead form has a recorded success signal and its own trigger.
  • A valid submission fires generate_lead once; an invalid submission fires nothing.
  • No personal data is sent in any event parameter.
  • generate_lead is marked as a key event in GA4.
  • The GTM version is published and named.

Troubleshooting

SymptomLikely causeFix
Event fires twice per submissionThank-you page reloaded, or two tags share the triggerUse one tag per form and check for duplicate triggers.
Event fires on failed submissionsForm Submission or click trigger usedSwitch to a thank-you page or data layer event.
Event never appears in GA4Wrong Measurement ID variable, or version not publishedCheck the tag in Preview and the live container version.
Key event toggle not availableGA4 has not received the event yetWait up to 24 hours after the first event, then retry.

Records

  • Record each form, its success signal, trigger name and tag name in the client's tracking plan.
  • Note the GTM version and the date generate_lead was marked as a key event.

References

Related procedures