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.
- Time
- 60 minutes
- Difficulty
- Intermediate
- Audience
- Marketers with GTM publish access and GA4 Editor access
Tools: Google Tag Manager · Google Analytics 4 · Tag Assistant
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_leadas 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
| Role | Responsibility |
|---|---|
| Implementer | Chooses the trigger method, builds the tags and tests them. |
| Developer | Adds a dataLayer.push on form success if no other reliable signal exists. |
| Website owner | Confirms 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 Testso 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.
-
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 typingdataLayerinto 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.
- Dedicated thank-you page with its own URL (for example
-
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.
-
In GTM, open Triggers and click New.
-
Build the trigger for the chosen signal:
- Thank-you page: choose Page View, select Some Page Views, and set
Page Pathequals/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.
- Thank-you page: choose Page View, select Some Page Views, and set
-
Name the trigger
Lead · <form name> · successand save it.
Build the GA4 event tag
Send a clean, consistently named event.
-
Open Tags, click New, and choose Google Analytics: GA4 Event.
-
Enter
{{GA4 Measurement ID}}as the Measurement ID andgenerate_leadas the Event Name. -
Add an event parameter named
form_namewith a fixed value describing the form, such ascontactorquote.[!IMPORTANT] Only send descriptive, non-personal parameters. Names, email addresses, phone numbers and message text must never be sent to GA4.
-
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.
- Click Preview and connect to the website. Submit the form with the agreed test details.
- In Tag Assistant, confirm
GA4 · generate_leadfired exactly once, on the success event only. - Submit the form again with a required field left empty, and confirm the tag did not fire.
- In GA4 DebugView, confirm a single
generate_leadevent appears with theform_nameparameter.
Mark as a key event and publish
Make the event count in reports and advertising.
- In GTM, click Submit, name the version
GA4 generate_lead, and publish. - In GA4, open Admin, then Events. Once
generate_leadappears (this can take up to 24 hours), toggle Mark as key event. - 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_leadonce; an invalid submission fires nothing. - No personal data is sent in any event parameter.
-
generate_leadis marked as a key event in GA4. - The GTM version is published and named.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Event fires twice per submission | Thank-you page reloaded, or two tags share the trigger | Use one tag per form and check for duplicate triggers. |
| Event fires on failed submissions | Form Submission or click trigger used | Switch to a thank-you page or data layer event. |
| Event never appears in GA4 | Wrong Measurement ID variable, or version not published | Check the tag in Preview and the live container version. |
| Key event toggle not available | GA4 has not received the event yet | Wait 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_leadwas marked as a key event.
References
Related procedures
- Set up Google Analytics 4 and deploy it through Google Tag ManagerWW-002
Create a correctly configured GA4 property and web data stream, deploy the Google tag through Google Tag Manager, and confirm real visits are recorded.
- Set up Google Ads lead conversion tracking with Google Tag ManagerWW-013
Create a Google Ads conversion action for leads, deploy the Conversion Linker and conversion tags through Google Tag Manager, and confirm conversions are recorded.