GA4 shows sessions, pageviews, and traffic sources clearly out of the box. Open any standard report and you can see exactly how much organic traffic a page is pulling in, where it's coming from, and how it's trending week over week. What GA4 does not automatically know is that a particular visitor became a lead — that requires deliberate setup on your part, because "lead" isn't a concept GA4 has any built-in way to recognize.
Most businesses never close this gap. They watch their SEO traffic grow month after month, feel good about the numbers in the dashboard, but have no real visibility into whether any of that traffic is actually generating business. Rankings go up, sessions go up, and yet nobody can answer the one question that actually matters: is this producing leads?
Define what a lead actually is as a specific, trackable event before trying to measure it. "Someone who filled out our contact form" or "someone who clicked our WhatsApp link" are trackable definitions; "someone who seemed interested" is not.
What Counts as a Lead Event
A lead event is any discrete, capturable action that signals real intent — not vague engagement, but a specific moment you can point to and say "that happened." A form submission, a phone number click, a WhatsApp click, a booking confirmation, or a chat widget initiation are all examples. Each of these needs to be explicitly configured as a trackable event, since none of them are captured by GA4's default pageview tracking alone. If you haven't set up an event for it, GA4 has no record that it ever occurred, no matter how many people did it.
Setting Up Lead Tracking via GTM
Google Tag Manager triggers can be configured to fire on form submissions or specific click targets — a tel: link, a WhatsApp URL, a "book now" button — pushing that data to GA4 as a custom event. This is usually the most practical path because it lets you add and adjust tracking without needing a developer to touch the site's codebase every time.
Once the event exists reliably in GA4, it should be marked as a Key Event (GA4's current term for what conversions used to be called) so it surfaces properly in reporting. Skipping this step is one of the most common reasons tracking technically "works" but nobody in the business ever actually looks at the numbers — the event fires, but it never shows up anywhere useful.
Connecting Leads Back to Source
GA4's default reporting shows session source/medium and landing page associated with each conversion event. This makes it possible to segment specifically for organic search sessions and see exactly which SEO-driven pages are producing tracked leads, rather than just which pages get the most traffic. This is the actual payoff of setting up lead tracking in the first place: the ability to say "this specific blog post produced 14 tracked leads last month" instead of "this blog post got a lot of visitors."
Going Further: CRM Integration
Passing the GA4 client ID or UTM parameters through to a CRM closes the loop from an initial anonymous lead event all the way to actual closed revenue. This is the only way to answer the real question of which SEO content produces not just leads, but paying customers — because a page that generates a lot of low-quality leads can look identical to a page generating fewer, high-value ones until you can see what happens after the form submission.
| Lead Action | Tracking Method | Tool Needed |
|---|---|---|
| Contact form submission | GTM trigger on form success | Google Tag Manager |
| Phone number click | GTM click trigger on tel: links | Google Tag Manager |
| WhatsApp click | GTM click trigger on WhatsApp link | Google Tag Manager |
| Chat widget started | Custom event via chat platform's API or GTM | GTM or chat platform integration |
Common Mistakes
- Assuming pageviews on a "thank you" page count as reliable lead tracking. This approach misses single-page-app style forms that never navigate to a new URL, and it can also be falsely triggered by people who visit the thank-you page directly without ever submitting anything.
- Never marking the tracked event as a GA4 Key Event. The event fires correctly in the background, but it doesn't surface in standard reports, so nobody in the business actually sees or uses the data.
- Setting up tracking once and never verifying it still fires correctly after a site update. A redesign, a form plugin update, or a change to button classes can silently break a trigger that was working perfectly for months.
- Not segmenting lead events by traffic source. Without this, it's impossible to see which channel — including organic search specifically — is actually responsible for the leads you're generating.