Updated 21 October 2026.
DigiStreet field guide
GA4 Key Events for a Lead-Generation Site
Mark the completed lead action as a GA4 key event, not every click that starts the form. A clean lead count begins at the confirmation the business can verify.
Google’s Analytics help documents a built-in route for lead-form success: use or create the generate_lead event, then mark it as a key event. The event should fire when the submission succeeds, ideally on a dedicated confirmation or verified success state.
A button click is weaker evidence. It can fire when validation fails, the network times out or a visitor closes the page. Track the start as a diagnostic event if useful, but keep the business key event tied to a completed action.
Write the measurement plan before changing tags. Name the business action, browser event, success condition, parameters, owner, test and downstream destination. This stops several forms and platforms from producing several definitions of “lead”.
Use this guide as a working document: keep the URL, date, owner and source beside every decision.
The working view
| Business action | GA4 event | Key event? | Success check |
|---|---|---|---|
| Lead form completed | generate_lead | Yes | Verified success response or thank-you state |
| Booking confirmed | generate_lead or named booking event | Yes | Booking ID and confirmation |
| Qualified phone call | Imported or integrated call event | Yes, when qualification rule is met | Call system record |
| Form started | form_start or custom diagnostic event | No | First meaningful interaction |
| Phone link clicked | click-to-call diagnostic event | Usually no | Click only, not a connected call |
Build the event from the business record backwards
Define a lead in one sentence
Write the exact event the sales team accepts: a completed enquiry with required fields, a confirmed booking, or a call meeting a duration and qualification rule. The sentence becomes the test when Analytics, advertising and CRM totals disagree.
Use generate_lead for successful forms
Google’s lead-form guide uses generate_lead and explains how to mark it as a key event. Send it only after the form confirms success. Include useful non-sensitive parameters such as form name, service group and page type.
Keep form starts diagnostic
A form_start event can show abandonment and technical trouble. It is not the business outcome. Report starts beside completions when improving the form, but do not bid or judge revenue performance on the larger start count.
Treat phone clicks as intent
A click on a tel link shows intent, not a conversation. If calls matter, connect a call-tracking or CRM record and define the qualification rule. Keep the click event for interface diagnosis and the qualified call for business reporting.
Deduplicate confirmation events
Single-page forms can rerender, users can refresh thank-you pages and tag managers can fire twice. Test that one successful submission creates one event. Pass a transaction or lead identifier only when privacy and system design allow it.
Name forms and service groups
A single generate_lead total is hard to act on when the site has several offers. Add stable parameters for form name, location or service group. Keep the vocabulary short and documented so reports do not split one form across spelling variants.
Test in DebugView and Realtime
Submit each form with a test record, inspect the event and parameters, and confirm the key-event mark. Then check the CRM or inbox. Analytics success without a real lead record is a tracking fault, not a completed implementation.
Connect advertising after the definition is stable
Import the intended key event into the advertising platform only after browser and business records agree. Changing the conversion definition during a campaign can change bidding signals and make before-and-after performance hard to compare.
Read Search Console beside GA4
Search Console records queries, landing pages, clicks and impressions before arrival. GA4 records events after arrival. Use the two views together to see which organic landing pages produce leads, while keeping each system’s totals and attribution labelled.
Audit consent and sensitive data
Do not send names, email addresses, phone numbers or message text as Analytics event parameters. Keep the event useful with non-sensitive context and store the personal lead details in the systems designed to handle them.
A test plan before the event becomes a conversion
Create one test row for each form, booking path and tracked phone route. Record the page, action, expected event, parameters, key-event status and destination record. Use a recognisable test label in the CRM, then remove or exclude it from sales reporting after the check.
Test validation failures. Submit an empty form and an invalid field, then confirm that generate_lead does not fire. Fixing this one error often matters more than adding another dashboard because false successes train campaign bidding and inflate reports at the same time.
Test repeat actions in the same session. Refresh the confirmation page, use the browser back button and submit a second legitimate enquiry. The implementation should prevent accidental duplicates without blocking a genuinely separate lead. Document how that decision is made.
Test consent states that apply to the site. Check the event behaviour before and after the visitor choice, and make sure the lead still reaches the business system. Analytics configuration should follow the site’s consent implementation rather than bypass it.
Finally, compare Analytics with the receiving system over a fixed week. The totals may not match exactly, but every difference should have a plausible path such as consent, spam handling, phone qualification or duplicate removal. Keep that reconciliation beside the event definition.
Reading lead numbers once generate_lead is firing
Reconciling one week of leads, row by row
For example, GA4 shows 40 generate_lead events for the week and the CRM holds 34 genuine enquiries. Do not average the gap away. List the 40 events by landing page and time, then match each one to a CRM row. Say three are spam entries the CRM filtered out, two are the same person submitting twice within a minute, and one is your own test. That is six, and the gap is explained. If one or two stay unexplained, the tag has a fault. Repeat this weekly for the first month after launch, because a fault found in week two costs far less than one found in quarter two.
Two ways the key event total inflates by accident
The first is marking two events for the same action. If form_submit and generate_lead both fire on one successful enquiry and both are key events, the key event count rises by two for one lead. Pick one as the business record and unmark the other. The second is your own team. Staff testing forms, clients reviewing the site and developers pushing updates all create events. Define internal traffic by IP address in GA4's data settings, then apply a data filter and check it in the testing state before making it active. Otherwise a small site can show a good week that was really the sales team clicking around.
What the numbers mean for a small Indian business
When a site collects 30 leads a month, one duplicate is more than 3 percent of the total, and one spam entry adds the same again. Percentages and trend lines mean little at that size, so judge by individual records. A cost check shows why. For example, if you spend ₹60,000 on ads and the CRM holds 30 real leads, each costs ₹2,000. If GA4 reports 36 because of repeats and tests, the cost appears to be about ₹1,667, an improvement of roughly 17 percent that never happened. Always quote cost per lead from the CRM count, and use GA4 to see where those leads came from.
What to ask the person who set up your tracking
Ask for a screen recording of DebugView during one test submission, showing a single generate_lead event and its parameters. Ask which page or response triggers it. Ask where the key event mark is set, and who in your business can see that setting. Ask who retests the form after a theme update, a plugin update or a change of hosting, because those changes break tags without any warning. A confident answer comes with evidence, such as a dated clip or screenshot. A vague answer such as 'it is all configured' means you should run your own test submission that same day, before the work is signed off.
A decision rule for adding any new event
Before anyone adds an event, ask what the sales team would do differently if the number changed. If the answer is nothing, keep it off the key event list and treat it as a diagnostic at most. A newsletter signup, a brochure download and a booked consultation carry different weight, so give them different event names and mark as key events only the ones the business would pay to get more of. Review the list once a quarter and remove any row nobody has opened in a report. A short list is easier to defend in a budget meeting.
Evidence from DigiStreet work

A performance campaign needs the same event definition across its landing pages. The creative can change, but the verified lead action should remain stable enough to compare. Record any definition change beside the campaign date.
Run a live test after every form, tag-manager or consent update. Keep the test record ID and screenshot so the next person can confirm what “working” meant at that time.
Questions people ask before using this guide
What should be the main GA4 key event for a lead site?
Use the verified successful enquiry, commonly generate_lead, rather than the form-button click.
Should form_start be a key event?
Usually no. Keep it as a diagnostic event for abandonment and form usability.
Can a phone-link click count as a lead?
Treat it as intent. Use a connected or qualified call record for the business key event.
How do I stop duplicate leads in GA4?
Fire after confirmed success and test refreshes, rerenders and repeat callbacks for duplicate events.
Can I send email addresses in event parameters?
No. Keep personal lead data out of Analytics parameters.
Why compare GA4 with Search Console?
Search Console shows discovery before arrival; GA4 shows landing-page actions after arrival.
Put the next decision on one page
Bring the URL, the evidence you already have and the business action that matters. We will tell you what should be checked first.


