By Hira Ads Pro·2 min read·October 12, 2026
Google Analytics 4 is the neutral record of what happens on your website, across every channel. For a lead generation site the goal is simple: see which sources bring enquiries, and see them consistently.
Install GA4 through Google Tag Manager
Using GTM keeps all tracking in one place and makes changes possible without editing site code.
- Create a GA4 property and a web data stream; copy the Measurement ID (G-XXXXXXX).
- Install the GTM container snippet on every page of the site.
- In GTM, add a Google tag with your Measurement ID, firing on all pages.
- Make sure GA4 is not also hard-coded in the theme or added by a plugin. Duplicate tags double your page views and events.
Decide which events matter
GA4’s enhanced measurement already collects page views, scrolls and outbound clicks. For lead generation you add the actions that represent enquiries:
| Event | Fires when | Key event? |
|---|---|---|
| generate_lead | Form accepted by the site | Yes |
| phone_click | Tap on a tel: link | Usually no |
| whatsapp_click | Click on a wa.me link | Optional |
| booking_complete | Booking confirmation shown | Yes |
| form_start | First field of a form used | No (diagnostic) |
generate_lead is one of Google’s recommended event names, so it is a good default for form leads.
Send events from GTM
For each event, create a GA4 Event tag in GTM with the event name and any parameters, such as form_name or service. Trigger it from a reliable signal: a dataLayer event pushed after a successful submission is best.
window.dataLayer.push({
event: 'generate_lead',
form_name: 'contact',
service: 'end_of_tenancy'
});
Mark key events
In GA4 Admin → Events, mark generate_lead and booking_complete as key events (GA4’s name for conversions). Leave diagnostic events unmarked so your lead counts stay clean.
Register custom dimensions
Parameters like service or form_name only appear in standard reports after you register them as custom dimensions in GA4 Admin. Do this early; dimensions are not applied to past data.
Test everything
- Use GTM Preview with Tag Assistant to confirm each tag fires once
- Open GA4 DebugView to see events arrive with the right parameters
- Submit a real test enquiry and check it appears in Realtime
Reports worth using
- Traffic acquisition with key event counts by session source/medium
- Landing page report filtered to sessions with a lead
- An exploration showing
generate_leadbyservice
If GA4 and your ad platforms disagree about lead numbers, start with a tracking audit to find out where.
Want this set up properly on your site?
Request an audit and get a clear plan before any changes are made.
Request an Audit →