Guide 179 · Conversions · GA4 + Tag Manager
Key event for a form submit in GA4: generate_lead, the success signal, and the rate
A form submit is the lead-generation key event, and its recommended name is generate_lead. The event must fire on the success signal, not on the click of the submit button, or every failed attempt counts as a lead. This guide marks generate_lead, checks it against the inbox, and works out the session key event rate for a week of forms.
After the steps, the generate_lead key event appears under the Key events tab in Admin, and the standard reports show it within a day. The worked example below gives the count and the rate to expect.
Download the reference: the generate_lead key-event reference (JSON) (744 bytes, MD5 12ea6bec607c23ef6d0d0dcfd62944ab). It holds the event name, the counting method, the worked-example figures recomputed for this guide, and the checkpoints that prove the key event is recording. The figures in the file are the same figures shown on this page.
What you need
- Editor access or above at property level in GA4. Marking an event as a key event is a property setting, and the star in the Events table does not appear for a Viewer.
- A form that sends a success signal the site can listen for, such as a thank-you page load or a form success event. The click on the submit button is not the signal.
- A way to count real leads for the same week, such as the business inbox. The GA4 count is checked against it, not trusted on its own.
The trace
- Fire generate_lead on success, not on click. The event must fire when the form is accepted, which is usually a thank-you page load or a success callback. A submit-button click fires for failed validations too, and each one would count as a lead.
- Send the event with the recommended name. Use generate_lead, the name Google recommends for a lead form submission. A custom name such as form_submitted collects the same clicks but does not plug into the pre-built reporting that uses the recommended name.
- Confirm it in DebugView before marking it. Open Admin, then Data display, then DebugView, submit the form, and watch generate_lead arrive. If it arrives on a failed submit, the trigger is on the click and must move to the success signal.
- Mark generate_lead as a key event. Open Admin, then Data display, then Events, and click the star on the generate_lead row. A standard property can mark up to 30 events, and this is the first one the business needs.
- Compare the GA4 count with the inbox. In the worked example the week shows 214 generate_lead key events and the inbox shows 208 real leads. The gap of 6 is 6 / 214 = 2.80% of the GA4 count, and it is the failed submits the success signal still let through, or leads the inbox filtered as spam.
- Work out the session key event rate. The week shows 2,500 sessions and 187 sessions with a generate_lead key event, which is 187 / 2,500 = 7.48%. The 214 events came from 187 sessions, so 27 sessions submitted the form more than once.
Dead ends
DEAD END — FIRING ON THE SUBMIT BUTTON. A button click is not a lead. Every validation failure, every double-click, and every bot that reaches the button counts as a key event until the trigger moves to the success signal.
DEAD END — MARKING page_view ON THE THANK-YOU PAGE INSTEAD. A thank-you page view is a page view, and marking page_view as a key event counts every reload of the page as a lead. The event to mark is generate_lead, sent once per successful submit.
DEAD END — COUNTING WITHOUT THE INBOX CHECK. A GA4 count that never meets the inbox is a number without a check. The 6-event gap in the worked example is small enough to trust, but a gap found late is a month of wrong leads.
End state
The generate_lead event is the form's key event, fired on success and checked against the inbox. The week closes at 214 key events from 187 sessions, against 208 real leads in the inbox.
| Figure | Value |
|---|---|
| Sessions in the week | 2,500 |
| generate_lead key events | 214 |
| Sessions with a key event | 187 |
| Session key event rate | 7.48% |
| Real leads in the inbox | 208 |
| Gap between GA4 and the inbox | 6 |
| Gap as a share of the GA4 count | 2.80% |
The rate is 187 / 2,500 = 7.48% and the gap share is 6 / 214 = 2.80%, both recomputed in Python 3 and rounded to two places. The 214 events came from 187 sessions, so 27 sessions submitted more than once. The figures are a worked example, not a real property.
Sources
- Analytics Help — [GA4] Recommended events — the recommended event names, including generate_lead, sign_up, and purchase
- Analytics Help — About key events — marking an event as a key event, the 30-event limit for a standard property, and 50 for Analytics 360
- Analytics Help — Monitor events in DebugView — watching events with their parameters in DebugView
Checked 11 November 2026. The click paths above are the ones in Google's help pages, read 11 November 2026. The generate_lead event is the recommended event name for a lead form submission, and marking it from Admin, then Data display, then Events, are as Google documents them. No step in this guide was run inside a live Analytics property, because Admin needs a Google sign-in and this site does not sign in as anyone. The figures on this page are a worked example recomputed in Python 3 with decimal arithmetic, not numbers from a real property. Google moves menu items without warning; if a path on this page no longer matches, the linked help page is the current map.