October 25, 2026

How to Track Qualified Leads with GA4, GSC and Your CRM

Title card: how to track qualified leads with GA4, Google Search Console and your CRM, with an event dictionary, lead-quality report and QA tests
On this page
  1. 01In this guide
  2. 02Define contact click, enquiry, qualified lead, quotation and won deal
  3. 03Give GSC, GA4 and CRM distinct reporting roles
  4. 04Create an event specification with exact success triggers
  5. 05Record attribution and consent-aware lead identifiers
  6. 06Send qualification outcomes using a supported implementation
  7. 07Build a weekly lead-quality report with clear denominators
  8. 08Test duplicates, spam, failed forms and returning users
  9. 09Explain attribution gaps and what the data cannot prove
  10. 10Frequently asked questions
  11. 11Next step
  12. 12Sources

Short answer: Qualified lead tracking works when each tool has one job. Use Google Search Console for organic search visibility, Google Analytics 4 (GA4) for website actions, and your CRM for sales qualification and outcomes. Record successful enquiries separately from contact clicks. Then connect lead records through a controlled identifier and consistent attribution rules. Search Console gives aggregated search data, so it cannot tell you the query behind each individual lead.

Most small businesses track “conversions” that are really button clicks, then wonder why the numbers never match sales. This guide sets up a measurement plan you can explain to your team: clear definitions, an event dictionary, a weekly report and the tests that keep the data honest. It covers measurement only. For which channels to use, see our lead generation guide for small businesses.

In this guide

  1. Define each stage
  2. Give GSC, GA4 and the CRM distinct roles
  3. Create an event specification
  4. Record attribution and consent-aware identifiers
  5. Send qualification outcomes
  6. Build a weekly lead-quality report
  7. Test duplicates, spam and failed forms
  8. What the data cannot prove
  9. Frequently asked questions

Define contact click, enquiry, qualified lead, quotation and won deal

Write these definitions down before you build anything. Otherwise, every report will mean something different to sales and marketing.

  • Contact click: someone taps a phone, email or WhatsApp link. It shows intent, not a lead.
  • Enquiry: a form submits successfully, or a real conversation starts and is logged.
  • Qualified lead: an enquiry that sales confirms meets your agreed criteria for fit and intent.
  • Quotation: you sent a priced proposal.
  • Won deal: the customer accepted and the work or order is confirmed.

Give GSC, GA4 and CRM distinct reporting roles

Tool Its job What it cannot do
Google Search Console Organic search impressions, clicks, CTR and position by query and page Link a query to an individual visitor or lead
GA4 Website sessions, traffic sources and on-site events such as enquiries Know whether sales qualified or won a lead, unless you send that back
CRM Each lead’s details, stage, owner, quotation and outcome See search queries or on-site behaviour by itself

Search Console’s Performance report aggregates data by property or by page, depending on the view (Search Console Help). Therefore, use it to find which pages and topics attract search traffic, and use GA4 and the CRM to judge which of that traffic produces leads.

Create an event specification with exact success triggers

GA4 has recommended events for lead generation. They include generate_lead, qualify_lead, disqualify_lead, working_lead, close_convert_lead and close_unconvert_lead (Google Analytics Help). Using these names also populates GA4’s lead acquisition report, which shows new, qualified and converted leads by channel (source).

Event dictionary

Event Fires when Sent from Key event?
contact_click (custom) Phone, email or WhatsApp link is tapped Website tag No
generate_lead Form submits successfully (thank-you state shown) Website tag Yes
working_lead Sales first contacts the lead CRM to GA4 No
qualify_lead Sales marks the lead qualified CRM to GA4 Yes
disqualify_lead Sales marks the lead unsuitable, with a reason CRM to GA4 No
close_convert_lead Deal is won CRM to GA4 Yes

The trigger matters most. For example, generate_lead should fire on a confirmed successful submission, not on the button click. Check the current parameter list for each event in Google’s developer reference before you build, because recommended parameters can change.

Send qualification outcomes using a supported implementation

CRM status changes happen offline, after the visit. To bring them into GA4, use a supported method. The GA4 Measurement Protocol sends server-side and offline events, and Google describes it as a way to augment normal tagging, not replace it (Google for Developers). Alternatively, some CRMs offer a ready integration. For Google Ads bidding on qualified leads, use Google Ads’ own offline conversion options rather than relying on GA4 alone.

If you cannot connect the systems yet, don’t worry. A simple monthly export from the CRM, joined to landing page and source, still gives you a useful quality view.

Build a weekly lead-quality report with clear denominators

A rate is only meaningful if the denominator is clear. In particular, keep contact clicks out of the enquiry count.

Worked example (illustrative numbers)

Stage Count Rate Denominator
Contact clicks 95 — Tracked separately
Enquiries 40 — —
Qualified leads 12 30% 12 ÷ 40 enquiries
Quotations sent 6 50% 6 ÷ 12 qualified
Won deals 2 33% 2 ÷ 6 quotations

All numbers are hypothetical. Here, the qualified rate is 12 ÷ 40 = 30%. The 95 contact clicks are reported beside the funnel, not inside it. Break the same table down by source and landing page, and you can see which channels bring qualified leads, not just volume.

Test duplicates, spam, failed forms and returning users

  • Failed submit: submit with a required field empty. No generate_lead should fire.
  • Double submit: tap submit twice quickly. Only one lead should be recorded.
  • Spam: confirm your spam filter runs before the event fires, or mark spam as disqualified in the CRM.
  • Returning user: submit a second enquiry from the same browser later. Decide whether it is a new lead or an update, and apply that rule consistently.
  • Test data: exclude internal traffic and label test leads so they don’t inflate reports.

Use GA4’s DebugView while testing, and check each action once end to end.

Explain attribution gaps and what the data cannot prove

Even a good setup has blind spots. For instance, consent choices, ad blockers and cross-device journeys mean GA4 will not see every visit. Phone calls and WhatsApp chats may never connect to a session. In addition, Search Console cannot attribute a lead to a query. So treat source data as strong evidence, not perfect truth, and look at trends over months.

Frequently asked questions

Can Search Console tell me which keyword generated each lead?

No. Search Console reports aggregated queries and pages, not individual visitors. Use it to see which pages attract search traffic, then use GA4 and your CRM to see which pages produce qualified leads.

What is the difference between generate_lead and qualify_lead?

generate_lead records that someone submitted their details. qualify_lead records that the lead was later marked as meeting your qualification criteria, usually by sales in the CRM.

How should WhatsApp clicks be measured?

Track them as a separate contact-click event. Count a WhatsApp conversation as an enquiry only once it is logged in your CRM.

Why do GA4 and CRM totals differ?

GA4 misses some visits because of consent, blockers and devices, while the CRM includes leads from calls, referrals and walk-ins. The two will rarely match exactly, so reconcile trends rather than single totals.

Next step

Write your five stage definitions and the event dictionary above, then test each event once. If you would like help setting up measurement alongside your campaigns, see our Google Ads management service, our guide to Google Ads costs in India, or contact us to review your current setup.

Sources

Yatin Chaudhary, founder of Digital Marketing By OG
Written by

Yatin Chaudhary

Founder, Digital Marketing By OG · SEO & performance marketing

BBA · MBA · AI & ML

Yatin Chaudhary is the founder of Digital Marketing By OG and a Delhi NCR-based digital marketing specialist (BBA, MBA, AI & ML). Since 2022 he has run SEO, Google Ads, Meta Ads and LinkedIn Ads for brands in healthcare, nutrition, real estate, education and IT services, and builds the WordPress sites those campaigns send traffic to.

  • Technical SEO
  • Local SEO
  • Google Ads
  • Meta Ads
  • LinkedIn Ads
  • Lead generation
  • WordPress development
  • Conversion optimisation

Selected work: exuverse.com and exuversespaces.com (design, build and SEO), an HRMS portal, GST billing software and paid campaigns across India, the US and the UK.

Work with us

Ready to grow your business online?

Websites, SEO, ads and complete digital setups, built by the team that wrote this. Tell us what you are trying to achieve.

Talk to us →
Chat on WhatsApp
Meet the founderYatin ChaudharyDigital Marketing Specialist, Web & App Developer
View portfolio