GA4 events every lead-generation website needs
Abdul Sattar2 min read

A lead-generation website without events is a shop with no till roll. Traffic reports tell you people came; only events tell you what they did. Here are the five we wire on every build, before handoff, without exception.
The five events
| Event | Fires when | Why it matters |
|---|---|---|
| generate_lead | a form is successfully submitted | the number the business actually runs on |
| form_start | the first field is focused | separates 'nobody tried' from 'people gave up' |
| click_to_call | a tel: link is tapped | half of local-service leads never touch a form |
| click_to_email | a mailto: link is clicked | same logic, quieter channel |
| book_call | a booking link is clicked | tracks the calendar path separately from forms |
The gap between form_start and generate_lead is the most useful number
on this list. A page with lots of starts and few submissions has a form
problem, not a traffic problem — and form problems are cheap to fix.
Name things like you'll read them later
GA4 will accept any event name you send. Six months from now, generate_lead
still explains itself; click_cta_2_v3 does not. Two rules keep the data
legible:
- Use GA4's recommended event names
where one exists —
generate_leadgets special treatment in reporting. - Send the page path and form identifier as parameters, not as part of the event name. One event, many sources — that's what parameters are for.
// One event, parameterised — not five differently-named events
gtag("event", "generate_lead", {
form_id: "quote-request",
page_path: "/services/emergency-plumbing",
});
Fire on success, not on click
The most common tracking lie we inherit: generate_lead wired to the submit
button. Validation failures, double-clicks, and bot hits all inflate the
count. Fire the event when the submission actually succeeds — on the
confirmation response or thank-you view — and your lead count will match
your inbox. When those two numbers agree, people start trusting the
dashboard.
Consent changes what you can see
If you serve UK or EU visitors, analytics fires only after consent — which means your GA4 numbers are a sample, not a census. That's fine, as long as you know it: compare trends, not absolute counts, and keep the inbox as the source of truth for lead volume. We set up Consent Mode v2 with denied defaults on every build so the sample is at least an honest one.
If you run a local service business, pair these events with the Google Business Profile checklist we run for clients so profile traffic shows up as its own source.
Website Design & DevelopmentBuilds that ship with GA4 events on every form and call button — tracking live before handoff.