Skip to content
Use case: lead generation

Lead generation tracking from form submit to closed deal

Lead generation tracking that counts real leads: form tracking in GA4 and GTM, key events, Google Ads conversions and offline conversion imports.

The short answer

Lead generation tracking works when a successful form submission sends one generate_lead event to GA4 and one conversion to Google Ads, and when the leads that later qualify or close are sent back as offline conversions. Rely on a success signal from the site, not on clicks or GA4's automatic form_submit event, and keep the click ID or user-provided data with each lead so the sale can be matched later. Tracking Whisper audits the forms and tags, builds the GTM setup after your approval, and alerts you when lead volume drops.

Lead generation tracking has a harder job than ecommerce tracking: the value of a lead is not known when the form is sent. A website can report hundreds of leads while sales sees a handful of real enquiries, and bidding systems then optimise for whatever is easiest to submit. This page explains how to track forms properly in GA4 and Google Tag Manager, how to send qualified and closed leads back to Google Ads, and what Tracking Whisper does at each step.

Why lead generation tracking goes wrong

Three patterns explain most broken lead tracking:

  • The trigger is the click, not the success. A tag on "click on submit button" fires when validation fails, when the visitor double-clicks, and when spam bots fill the form. Every one of those becomes a conversion.
  • Automatic form events are treated as leads. GA4's enhanced measurement sends form_start the first time a user interacts with a form in a session and form_submit when a form is submitted. That is useful context, but it covers newsletter boxes and search forms too, and it does not know whether the submission went through.
  • Nothing comes back from sales. The website counts submissions; the CRM knows which became customers; Google Ads only ever sees the first number. Bidding then rewards campaigns that bring volume, not revenue.

How to set up form tracking in GA4

A reliable setup fires one event when the site confirms the submission succeeded, and only then.

  1. Pick a success signal. The best is a dataLayer push from the site after the server accepts the form, carrying the form name and lead type. A dedicated thank-you page also works, as long as it cannot be reached by reloading or bookmarking. Visibility of a success message is a fallback for forms you cannot change.
  2. Send generate_lead. Google lists it as the recommended event when a user submits a form or a request for information. Add parameters such as form_name and lead_type, and a value with currency if you assign leads an estimated worth.
  3. Mark it as a key event. In GA4 Admin, under Events, mark generate_lead as a key event. Standard properties allow up to 30 key events, so mark only what you report or bid on.
  4. Send it to Google Ads. Either import the GA4 key event into Google Ads, or fire a Google Ads conversion tag on the same success signal. Do not use both as primary conversions for the same action, or Google Ads counts each lead twice.
  5. Test in Preview mode. Submit a valid form and an invalid one. The first should fire the event once; the second should fire nothing.

Our dataLayer glossary entry explains the push format your developer will use.

Offline conversion tracking for leads

The step that changes results is telling Google Ads which leads turned into business. GA4 has recommended events for the later stages: qualify_lead, working_lead, close_convert_lead and disqualify_lead, sent from your backend or CRM as a lead moves on. For Google Ads, you import those outcomes as offline conversions.

Matching needs an identifier stored with each lead when the form is sent:

MethodWhat you store with the leadPoints to watch
Click ID importThe GCLID from the landing page URLGoogle Ads keeps the GCLID for 90 days, so later sales cannot be matched by click
User-provided dataEmail or phone, hashed before uploadNeeds consent and the right Google Ads settings; see enhanced conversions
BothGCLID and user-provided dataThe most matches, at the cost of a little more work on the form

Google recommends uploading offline conversions at least daily so Smart Bidding can respond. If your sales cycle is longer than 90 days, import an earlier stage such as a qualified lead, which is often a better bidding signal anyway. In 2026 the route for uploads also changed: new integrations go through the Data Manager API rather than the Google Ads API, as we explain in Data Manager API for offline conversions.

What Tracking Whisper does for lead generation

Tracking Whisper is an AI agent that works in Google Tag Manager, GA4, Google Ads and Meta. For lead generation it handles the website side and the checks around it.

  • Audit. It reviews the GTM container with a fixed set of checks and flags click-based lead triggers, duplicate conversion tags and tags without consent settings. See the GTM audit.
  • Plan and dataLayer guide. It writes a measurement plan for your forms and a dataLayer guide your developer can implement, including which fields to keep for offline matching. It does not edit your site's code.
  • Build after approval. It creates the generate_lead tags, triggers and variables in its own GTM workspace and publishes a version only after a person approves. See tracking setup.
  • Browser checks. It loads your key pages, including form and thank-you pages, in a real browser and checks the dataLayer, the hits sent and the consent state.
  • Monitoring. It watches container versions, key pages and GA4 numbers, and alerts you when leads stop arriving or leave their usual range, for example after a form plugin update. See monitoring.
  • Reporting. It answers questions across GA4, Google Ads, Search Console and Meta, such as which campaigns bring leads that qualify.

It does not connect to your CRM. Where the CRM must send outcomes back, Tracking Whisper documents exactly what to send and checks the result in Google Ads.

Next step

Connect your Google Tag Manager container and run an audit to see which of your lead conversions fire on a real success signal, then let Tracking Whisper build the fixes in its own workspace for your approval.

Frequently asked questions

Is GA4's enhanced measurement form tracking enough?

Usually not for conversions. Enhanced measurement sends form_start the first time a user interacts with a form in a session and form_submit when a form is submitted, with the form's id, name and destination. It does not know whether the submission succeeded or was a real enquiry, so use a generate_lead event fired on a success signal for anything you report or bid on.

Which GA4 events should I use for leads?

Google recommends generate_lead when a user submits a form or a request for information. For the stages after that it lists qualify_lead, working_lead, close_convert_lead and disqualify_lead, which you send from your CRM or backend as the lead moves on.

How long do I have to upload offline conversions to Google Ads?

Google Ads keeps the GCLID for 90 days, so a conversion imported by click ID must be uploaded within that window. Google recommends uploading at least daily so Smart Bidding can respond. If a sale usually closes later than 90 days, import an earlier stage, such as a qualified lead.

Can Tracking Whisper upload my CRM leads to Google Ads?

It works in Google Tag Manager, GA4, Google Ads and Meta, and writes measurement plans and dataLayer guides. It does not connect to your CRM. It can set up the on-site side, such as capturing the click ID and sending user-provided data, and document what your CRM or developer needs to send back.

Why do Google Ads and GA4 show different lead numbers?

They count under different rules: different attribution, different conversion windows, and Google Ads may count a conversion from a click that GA4 credits to another channel. Compare event counts on the same dates first, then look at attribution settings.

Sources

  1. Enhanced measurement events, Analytics Help
  2. [GA4] Recommended events, Analytics Help
  3. Mark events as key events, Analytics Help
  4. Offline conversion imports FAQs, Google Ads Help
  5. [GA4] Create Google Ads conversions based on Google Analytics key events, Google Ads Help

Last updated by Dimitris.

More use cases

Give Whisper its first job.

The free plan covers one site. Start with a setup, an audit or a question about your numbers. No card needed.