Web Development15 min read•

Web Development Company in Pune: Setting Up GA4 Key Events for a Lead-Generation Website — Forms, Phone Taps and WhatsApp Clicks Tracked Without Inflated Numbers

How to track form leads, phone taps and WhatsApp clicks as GA4 key events with Tag Manager, test with DebugView and avoid inflated numbers.

#GA4 key events#lead tracking#Google Tag Manager#web development company Pune

A lead-generation website needs four things measured in Google Analytics 4 to be useful: form submissions, phone-number taps, WhatsApp button clicks and, if you take bookings, completed bookings. Each is recorded as an event, and the ones that represent a real enquiry are marked as key events so they appear in your reports and can be imported into Google Ads. The page-view and engagement numbers GA4 collects by default tell you that people visited; key events tell you that someone asked for something. This guide is for business owners and marketing managers who have hired, or are about to hire, a web development company in Pune and want to know exactly what to ask for, how the pieces fit together and how to check that the numbers are right before spending on ads.

It covers the difference between events and key events, what GA4 records automatically and why you should not rely on it for forms, how to plan an event list, how to build the form, call and WhatsApp events through Google Tag Manager, how to test with DebugView, how consent affects the numbers, the common mistakes that inflate or hide leads, and a handover checklist. It assumes you already have, or will create, a GA4 property. It does not cover e-commerce purchase tracking, which has its own structure and is described in our article on order confirmation pages and tracking.

Events and Key Events: What GA4 Actually Counts

GA4 records everything as an event: a page view, a scroll, a click on an outbound link, a form interaction. An event on its own is just a log entry. A key event is an event you tell GA4 matters to the business. Google renamed what were previously called "conversions" in GA4 to "key events" in 2024, to separate them from the conversions measured in Google Ads, so you will see both terms in older guides and some third-party tools.

Marking an event as a key event does three things: it is counted in key-event columns in standard reports, it can be used as an objective in Explorations and audiences, and it can be linked or imported into Google Ads so campaigns can optimise toward it. It does not change what the event records, and it is not retroactive in the way many people expect, so mark the events from day one rather than after three months of ads.

What GA4 collects without any setup

With "enhanced measurement" switched on, GA4 can automatically record page views, scrolls, outbound clicks, site search, video engagement and file downloads, and it offers form interaction events as well. These are useful for general behaviour, but for lead tracking they have limits:

  • Form events can fire when nothing was sent. A "form_start" fires when a visitor first touches a field, and "form_submit" depends on how the form is built. Forms that submit through JavaScript without a page reload, or that show an inline thank-you message, may not trigger it at all. Conversely, a form that fails validation can still trigger a submission event on some builds.
  • Outbound clicks are not WhatsApp clicks by design. A click on a wa.me link is an outbound click, but only if the domain is not on your own list, and it is not named in a way you can easily mark.
  • Phone taps are not recorded. A tap on a tel: link is not part of enhanced measurement by default.

The conclusion is simple: use enhanced measurement as background information, and build your own lead events for the actions you care about.

Plan the Event List Before Anyone Touches the Site

Write down, in a spreadsheet, what counts as a lead on your site, and give each event a name. Keep the list short; a small, trusted set of events beats a long, noisy one.

Action Suggested event name Mark as key event? Notes
Contact or quote form sent successfully generate_lead Yes Fire only after the server confirms receipt
Tap on a phone number (tel: link) click_to_call Yes Mobile only in practice; desktop clicks may be accidental
Click on WhatsApp button (wa.me link) click_whatsapp Yes Counts clicks, not conversations started
Appointment booked booking_complete Yes If you offer online booking
Brochure or price-list download file_download Optional Only if it signals real interest
Newsletter signup sign_up Optional Different value from an enquiry
Click on email link click_email Optional Low reliability

Google documents a recommended event called generate_lead for lead forms, and using the recommended name means GA4 and Google Ads recognise its meaning. For the others, custom names are fine, but choose a clear convention (lowercase, underscores) and stick to it. Names are case-sensitive, so Click_To_Call and click_to_call are two different events, which is a classic cause of split reports.

Give each event useful parameters

Events can carry extra detail. Without any personal data, consider:

  • form_name or form_location, such as "contact_page", "footer_quote" or "service_landing", so you can see which form produces enquiries.
  • service, the service page the visitor was on, when the form is embedded in several pages.
  • button_location, such as "header", "sticky_bar" or "contact_section", for call and WhatsApp buttons.

To use a parameter in standard reports you must register it as a custom dimension in GA4's admin area. Plan the dimensions along with the events, and keep their number modest, because properties have limits on custom dimensions.

Never send personal data to Analytics

Do not put names, email addresses, phone numbers or message text into event parameters. Google's terms for Analytics prohibit sending personally identifiable information, and under India's data-protection law it would also be a poor way to handle an enquirer's details. Your enquiry details belong in your CRM or inbox, not in analytics. Our guide to connecting website forms to a CRM describes the right place for them.

Building the Events With Google Tag Manager

You can add events by editing the site's code, but most small and medium sites use Google Tag Manager (GTM), because the marketing team can change tracking without a code release. The principle is the same either way: something happens on the page, a trigger notices it, and a tag sends the event to GA4. If you are not sure what is already installed, use the audit method in our article on third-party scripts and tag managers first, so that you do not add a second GA4 tag next to an old one.

Phone taps

Create a trigger that fires on clicks where the link URL starts with tel:. GTM's built-in click variables include the "Click URL", and a "Just Links" click trigger with the condition "Click URL starts with tel:" is the standard approach. Attach it to a GA4 event tag named click_to_call, with a parameter for the button location if your template allows it.

Two cautions. First, on desktop a tel: link usually opens an app or does nothing, so desktop "calls" are not real calls; report the device category alongside the event. Second, a tap is not a connected call. If phone enquiries are important, use call tracking as described in our article on tracking phone calls from Google Ads.

WhatsApp clicks

Use the same pattern with the condition "Click URL contains wa.me" (and, if you use it, "api.whatsapp.com"). Name the event click_whatsapp. This records an intention to message, not a message sent, since the visitor may close the chat window before sending. It is still the best signal you have without a WhatsApp API integration. The button placement and link syntax are covered in our guide to call and WhatsApp buttons for service websites.

Form submissions

This is where most tracking goes wrong, so be deliberate. There are three common ways to detect a successful form submission, in order of reliability:

  1. A thank-you page. After a successful submit the visitor lands on a dedicated URL such as /thank-you. A trigger on that page view sends generate_lead. This is the most robust and easiest to test, but it requires the form to redirect, and the page should be set to "noindex" so people cannot find it in search and trigger a lead by visiting it. See robots.txt, noindex and staging sites for how to do that safely.
  2. A data layer event pushed by the site's code. The form's success handler pushes an event, such as form_success, to the data layer after the server returns an OK response, and GTM listens for it. This works for forms that do not reload the page and is the better choice for modern builds. It needs a developer to add one line.
  3. GTM's built-in form triggers. These listen for the browser's submit event. They are quick to set up and unreliable on forms that validate or submit through JavaScript, so treat them as a last resort and test thoroughly.

Whichever you choose, the rule is that the event fires only when the server has accepted the enquiry, not when the button is clicked. A trigger on the button click counts failed submissions and spam attempts as leads.

Make one tag for every GA4 event, and name things clearly

Keep a naming convention in GTM too: "GA4 - Event - generate_lead", "Trigger - Click - tel link". The next person to open the container, which may be a different agency in two years, will be grateful. Use GTM's workspace notes and version names for each change.

Mark Key Events and Check the Settings That Distort Data

After events appear in GA4, go to the admin area's events list and switch on "Mark as key event" for the ones in your plan. A few settings affect whether the numbers are believable.

  • Counting method. For key events, GA4 lets you choose to count once per event or once per session. For leads, "once per session" avoids a visitor who refreshes a thank-you page inflating your count, though a person who sends two genuinely different enquiries in one visit will count once. Pick based on how you will use the figure.
  • Internal traffic. Your team's visits to the site, and your developer's test submissions, will look like real leads. Define internal traffic by IP address and create a data filter, first in testing mode and then active. Test submissions should also carry a recognisable name so that they can be removed from the CRM.
  • Unwanted referrals. Payment gateways and your own booking system can appear as referral sources and break attribution. Add them to the unwanted referrals list in the data stream settings.
  • Data retention. The default retention of event-level data used in Explorations is short; many properties can be set to a longer period in the admin settings. Check what is selected, and set it deliberately.
  • Cross-domain journeys. If the booking tool or donation form lives on another domain, configure cross-domain measurement, or the visitor's session will be split and the lead will appear to come from "referral" or "direct".
  • Time zone and currency. Set the property to India Standard Time and rupees so that reports match your own records.

Test Before You Trust: DebugView and a Real Enquiry

Do not wait a week for reports to populate. GA4's DebugView shows events from a test device in real time. Turn on GTM's preview mode, which connects your browser to the container and sends debug events, and walk through each action:

  1. Open the site in preview mode and confirm that the GA4 configuration tag fires on the first page.
  2. Tap a phone link on a mobile or emulator and watch for click_to_call.
  3. Click the WhatsApp button and watch for click_whatsapp.
  4. Submit the form with deliberately invalid data, and check that generate_lead does not fire.
  5. Submit the form correctly, and check that generate_lead fires once, with the expected parameters, and that no personal data appears.
  6. Reload the thank-you page and see what happens, and decide whether that behaviour is acceptable.
  7. Confirm that the same real enquiry appears in your CRM or inbox, so the analytics number and the business number agree.

After a day or two, compare GA4's count with the enquiries you actually received. They will not match exactly, because of consent choices, ad blockers and delays in processing, but a large unexplained gap, such as GA4 counting twice as many leads as your inbox, signals a firing problem.

Consent and Its Effect on the Numbers

If your site shows a cookie consent banner, as it should if you use analytics or advertising tags in a way that requires consent, then visitors who decline will not be measured in the usual way. The effect can be large and varies by audience. Do not treat a drop in measured leads after adding a banner as a drop in real enquiries; compare against the CRM.

Google's Consent Mode lets tags adjust their behaviour according to the visitor's choice, and in some configurations GA4 can model part of the missing data. Whether and how this applies depends on your setup, region and volume, and it does not remove the need to respect the choice. The practical points for a business owner are:

  • The banner must truly control the tags, not just display a message. Our article on building a cookie consent banner that controls scripts explains how to test that.
  • Treat GA4 lead numbers as a sample of behaviour, and your CRM as the record of fact.
  • Ask your developer to document which tags run before and after consent.

Common Mistakes That Inflate or Hide Your Leads

Counting button clicks as form leads. The visitor may never complete the form, or it may fail validation. Count only server-confirmed submissions.

Two GA4 tags on the same page. An old plugin and a new GTM container both send page views and events, doubling everything. Check with GTM's preview and with a browser extension that lists tags.

A thank-you page that is indexed. Visitors arrive from Google directly and each visit counts as a lead. Use noindex and, where possible, require the submission to have occurred.

Spam submissions counted as leads. Bots fill forms too. Protect the form using the methods in our guide to contact form spam and bot protection, and compare GA4 with CRM records after filtering spam.

Different event names on different pages. generate_lead on one form and Lead_Submit on another. Maintain the event list and review it each quarter.

Marking too many key events. If page scrolls and downloads are key events too, the lead count becomes meaningless. Keep key events to the actions you would call a lead or a sale.

Forgetting the mobile experience. A sticky bar or button that works on desktop but fails on a phone will lose most of your calls without any visible error. Test on real devices.

No owner. Tracking breaks quietly when the site is redesigned, a plugin updates or the form is replaced. Assign someone to re-run the test list after every release.

Connecting Key Events to Advertising

If you run Google Ads, link your GA4 property to the Ads account and import the key events you want campaigns to optimise toward, usually the form lead, and perhaps calls and WhatsApp clicks as secondary goals. Be careful with priorities. A campaign that optimises toward phone taps will find people who tap, whether or not they become customers. Our articles on smart bidding for lead generation and on lead quality and offline conversions explain how to feed the system outcomes that reflect real business results rather than raw clicks. If you want help with campaigns once the measurement is in place, see our Google Ads service and lead generation service.

What to Put in the Written Brief to a Developer

When you ask a web development company to set up lead tracking, include these items in the scope so there is no argument at handover:

  1. The event list, with names, triggers and parameters, as agreed above.
  2. The method used to detect form success for each form (thank-you page, data layer or built-in trigger), with a reason.
  3. GA4 property, data stream and GTM container created in an account owned by your business, with you as administrator, not the agency. See our checklist on website handover and ownership.
  4. Key events marked, internal-traffic filter active, retention set, and unwanted referrals configured.
  5. A tested sheet, with dated screenshots of DebugView for each event.
  6. A short document describing how to add a new form or button to the tracking.
  7. A statement of how consent affects each tag.

If you are commissioning a new site or a rebuild, the same list belongs in the specification for our website creation services or any comparable provider, and it costs far less to build in at the start than to retrofit.

A Simple Weekly Review Habit

Once tracking works, spend ten minutes each week on three questions. How many key events did the site record, split by event type? How does the total compare with the enquiries logged in the CRM or inbox? Which pages and sources produced them? Write down any surprises, and investigate a sudden drop to zero before assuming demand has fallen, because broken tracking is the commonest cause. Keep this to a short note rather than a dashboard nobody opens. If you want a reporting layer later, our article on Looker Studio reporting dashboards shows how to build one without overloading it.

Frequently Asked Questions

What is the difference between an event and a key event in GA4?

An event is any recorded interaction, such as a page view or a click. A key event is an event you mark as important to your business, so that it appears in key-event reports, can be used in audiences and can be imported into Google Ads. Google renamed GA4's "conversions" to key events in 2024.

How do I track form submissions in GA4 accurately?

Fire the event only after the server confirms the enquiry has been received. The most reliable ways are a dedicated thank-you page or a data layer event pushed by the form's success handler. Avoid triggers that fire when the submit button is clicked, because they count failed and spam submissions.

Can GA4 track phone calls from my website?

GA4 can record a tap on a tel: link as an event through Google Tag Manager, which shows interest from mobile visitors. It cannot tell whether the call connected or how long it lasted. For that you need call tracking or call reporting through Google Ads or a call-tracking provider.

Why does GA4 show fewer leads than my CRM?

Common reasons are visitors who declined cookies, ad blockers, forms submitted from outside the website, phone and WhatsApp enquiries that did not pass through tracked buttons, and delays in processing. A small gap is normal. A large or growing gap suggests a tagging problem and should be checked in DebugView.

Should I mark every event as a key event?

No. Mark only actions that represent a lead or sale, such as a successful form submission, a phone tap and a WhatsApp click, plus bookings if you offer them. Marking scrolls or page views as key events makes the lead count meaningless and misleads ad optimisation.

Where to Start

Before opening Tag Manager, write the event list on one page and decide, for each form, how success will be detected. Then ask your developer to set up the property and container under your own account, run the DebugView test list and send you the screenshots. Compare the first week's numbers with your inbox before you rely on them.

Govindani Infotech is a website design and development company in Pune, at Landmark Plaza, Satara Road, Parvati Paytha. We build service websites with tracking planned from the brief; see our website creation services and SEO service. To talk through your own setup, contact us or call 092019 58274.

Sources:

Need Help With Your Digital Strategy?

Govindani Infotech helps Indian businesses and NGOs build websites, run ads, and grow online. Contact us for a free consultation.