How to Measure Website Leads in GA4: A Practical Setup Guide

Most small businesses have Google Analytics 4 installed but aren't actually measuring what matters most: how many real enquiries the website generates, and from where. GA4 tracks pageviews and sessions by default, but form submissions, phone clicks and other lead actions require deliberate setup as events. This guide walks through a practical GA4 lead-tracking setup for a typical service business website.
Why default GA4 tracking doesn't tell you what you need to know
Out of the box, GA4 automatically tracks pageviews, scrolling, outbound clicks and a handful of other "enhanced measurement" events. What it does not automatically track is the specific action that actually matters for a lead-generation website: did a visitor submit a contact form, click to call, or start a chat. Without deliberately configuring these as conversion events, you're left knowing how much traffic arrived without knowing how much of it actually turned into a business enquiry.
This gap catches out a lot of businesses that assume "Analytics is set up" means "lead tracking is set up." They're related but not the same thing. A GA4 property with only the default enhanced-measurement events switched on can show healthy traffic numbers and rising session counts while genuinely having no idea whether any of that traffic is producing enquiries — the two data points look similar on a dashboard but answer completely different questions. If your GA4 reports currently stop at sessions, users and pageviews, that's a sign the lead-tracking layer described below hasn't been configured yet, not that GA4 itself is inadequate for the job.
Setting up form submission tracking as a conversion event
The most reliable way to track form submissions is firing a custom event at the moment of successful submission — typically on the "thank you" confirmation, either a dedicated confirmation page or a JavaScript-triggered event when the form's success state renders. This is more reliable than tracking form starts or field interactions, which can overcount interest that never actually resulted in a completed submission.
In GA4, this typically means: creating a custom event (commonly named something like generate_lead or form_submit) fired at successful submission, then marking that event as a conversion in GA4's admin settings so it's counted in conversion reporting rather than just appearing as a general event. GA4 actually reserves generate_lead as one of its recommended event names, which is worth using where it genuinely fits, since recommended events sometimes get additional built-in reporting treatment compared with a fully custom event name invented from scratch.
Multi-step forms — a quote request that spans several pages, or a booking flow with more than one screen — deserve a slightly more careful approach. Firing the lead event only at the very final confirmation avoids overcounting, but it's also worth considering a separate, non-conversion event for form starts (something like form_start) purely for funnel analysis, so you can see where people are dropping off between starting and completing a multi-step form without conflating that engagement signal with an actual completed lead. The key discipline is keeping the conversion-marked event reserved strictly for genuine completions.
Want your website's lead tracking properly configured, not just guessed at?
See our technical SEO and analytics servicesTracking phone number clicks, especially on mobile
For many service businesses, particularly those serving urgent or local needs, a tap-to-call phone number generates as many or more genuine leads than contact forms, especially on mobile. Tracking this requires firing an event when a tel: link is clicked, distinct from a general outbound click, so it can be identified specifically as a lead action in reporting rather than blended in with other link clicks.
In Google Tag Manager, this is typically built as a trigger that fires on a click where the link's href begins with tel:, mapped to a custom event tag (commonly named phone_click or similar) that also gets marked as a GA4 conversion. It's worth setting this up for every tap-to-call number on the site, not just the one on the contact page — many service businesses also place a click-to-call number in the header or a sticky mobile footer bar, and those often generate a disproportionate share of calls precisely because they require zero page navigation to use. If the site uses a dynamic or rotating tracking number for call attribution (common in some paid-advertising setups), confirm the GTM trigger still matches correctly, since a JavaScript-swapped number can sometimes break a simple href-based trigger.
Why Google Tag Manager is usually the practical approach
While some tracking can be added directly via GA4's configuration, Google Tag Manager gives non-technical users significantly more flexibility to add and adjust tracking (form submissions, phone clicks, chat widget interactions) without needing a developer for every change. Most service businesses benefit from routing GA4 event tracking through Tag Manager rather than hardcoding tracking calls directly into the website's code.
GTM's built-in Preview mode is worth using every time a new tag or trigger is added, before publishing the container live — it shows exactly which tags fired on a given page load or interaction, and lets you catch a misconfigured trigger before it starts sending (or failing to send) data in production. Alongside GTM Preview, GA4's own DebugView (accessible in the GA4 admin interface once a debug parameter or the GA4 Debugger browser extension is active) shows events arriving in near-real time with their full parameter payload, which is the most reliable way to confirm an event is not just firing, but firing with the correct parameters attached — a common failure mode is an event that fires correctly but is missing a parameter needed for accurate reporting later.
Marking the right events as conversions
Not every event needs to be a conversion — marking too many events as conversions dilutes the meaningfulness of conversion reporting. Focus specifically on actions that represent genuine business value: form submissions, phone clicks, and any other clearly lead-generating action like a booking widget completion or a WhatsApp click. Avoid marking passive engagement metrics like scroll depth as conversions, since that measures interest, not actual enquiry generation.
It's also worth distinguishing "key events" (GA4's current terminology for conversions, following a 2024 rename from the earlier "conversions" label) by relative value where the business genuinely has more than one lead type. A completed booking or a quote-request submission usually represents materially more intent than a newsletter signup or a resource download, even though both might reasonably be tracked as events. If your reporting genuinely needs to compare these, GA4 supports assigning a monetary value to a key event, which — even as a rough estimate rather than an exact figure — makes it possible to see which channels are producing higher-value enquiries, not just a higher raw count of them.
Connecting leads back to their traffic source
The real value of proper lead tracking is understanding which channels — organic search, paid campaigns if used, social media, referrals — actually generate enquiries, not just traffic. GA4's default channel grouping and acquisition reports, once conversion events are correctly configured, let you see conversion rate by channel, revealing which sources deserve more investment and which are generating volume without generating actual business value.
Two accuracy issues are worth watching for here. First, GA4's default data retention setting for event-level data (as distinct from the aggregated reports themselves) is commonly set to two months in a fresh property, which is too short for meaningful year-over-year or even quarter-over-quarter comparison — extending it to the maximum available retention period in the property's Data Settings is a one-time change worth making early rather than discovering the gap a year later. Second, if the business runs any paid campaigns, confirm UTM parameters are being applied consistently, since inconsistent or missing UTM tagging is one of the most common reasons channel-level conversion data ends up misleading — traffic that should be attributed to a specific paid campaign instead gets grouped into generic "Paid Search" or even miscategorised as direct traffic.
Common mistakes worth avoiding
- Tracking form starts instead of completions, overcounting interest that never resulted in a real submission.
- Not distinguishing phone clicks from general outbound clicks, losing visibility into a genuinely high-value action.
- Marking too many low-value events as conversions, diluting the usefulness of conversion reporting.
- Never testing the tracking after setup — always submit a real test form and click a real test phone link to confirm events fire correctly before relying on the data.
- Leaving default two-month data retention in place, which quietly limits how far back you can analyse event-level trends once the property has been running for a while.
- Forgetting cross-domain tracking where a booking or checkout flow lives on a separate subdomain or a third-party platform, which can otherwise fragment a single visitor's journey into two disconnected sessions and misattribute the eventual lead.
A note on cross-domain tracking and third-party booking tools
Many service businesses route enquiries through a tool that doesn't live on the main domain — a scheduling platform like Calendly, a separate booking subdomain, or a payment page hosted by a third-party processor. Without cross-domain measurement configured in GA4, a visitor who moves from the main site to one of these external destinations is often recorded as two separate sessions from two separate sources, which breaks the very attribution chain this whole setup exists to protect. GA4 supports configuring a list of domains to treat as part of the same user journey in its Data Streams settings; if any part of your enquiry funnel lives off the primary domain, confirm this has actually been configured rather than assumed to work automatically, since it does not by default.
A basic GA4 lead tracking setup checklist
- Set up Google Tag Manager if not already in place, for flexible ongoing tracking management.
- Configure a form submission event fired on successful submission, not on form start.
- Configure a phone click event distinct from general outbound link tracking.
- Mark both as conversions in GA4's admin settings.
- Test both events with a real submission and a real click before relying on the resulting data.
- Review conversion rate by channel periodically in GA4's acquisition reports.
Ready to actually know which channels bring you real enquiries, not just traffic?
Get your GA4 lead tracking set up properlyFrequently Asked Questions
Does GA4 automatically track form submissions and phone clicks?
No. GA4's default "enhanced measurement" tracks pageviews, scrolling and outbound link clicks automatically, but form submissions and phone clicks require deliberate custom event configuration, typically through Google Tag Manager, to be tracked as meaningful lead actions.
Should I track form submissions on form start or form completion?
Track on successful completion, not on form start or field interaction. Tracking starts overcounts interest that never resulted in an actual enquiry, giving a misleadingly high impression of lead volume compared with what the business is actually receiving.
Why should phone clicks be tracked separately from other link clicks?
Phone clicks, particularly on mobile, often represent a high-value lead action for service businesses, especially those serving urgent needs. Tracking them as a distinct event, rather than blending them into general outbound click tracking, allows accurate reporting on this specific and often significant lead source.
Do I need Google Tag Manager to track leads in GA4?
It's not strictly required, but it's the practical recommended approach for most businesses, since it allows non-technical users to add and adjust tracking without needing a developer for every change, compared with hardcoding tracking calls directly into the website's code. Reliable tracking also depends on the underlying form itself being well built — a form that fails silently or times out will suppress the completion event along with the enquiry.
How do I know if my GA4 lead tracking is actually working?
Always test by submitting a real test form and clicking a real test phone link after setup, then confirm the corresponding events appear in GA4's real-time reporting or DebugView. Never assume tracking is working correctly without this direct verification step. Accurate lead data is also foundational to a sound technical SEO setup, since it's what tells you whether search-driven traffic is actually converting.
Get a Free Quote
Ready to put this into action on your own site?
Tell us about your project and we'll get back to you within 24 hours.