To track form leads in Google Analytics 4, send the recommended generate_lead event when a form is successfully submitted, mark it as a key event, and test it in DebugView before you rely on it. Do it before you hire an agency, so its first report counts the same lead your own sales record does.

By Avi Vatsa, CEO, Exchange Four Agency. Avi leads the team that installs and runs AI-leveraged revenue systems for owner-led companies. His background spans law, technology, and marketing; he also co-founded Dialora, an AI voice-agent platform for automated lead capture and booking. (Marketer of the Day #1411)

What counts as a lead in Google Analytics 4?

Whatever you decide counts, and then tell Analytics about it. Google separates two ideas. An event is anything Analytics collects. A key event is the subset you flag as important, and in Google's words it "measures an action that's particularly important to the success of your business."

Any event can be promoted: "Any event you collect can become a key event." So the work is not in Analytics. It is in deciding the one moment on your site that you would call a lead, and sending an event at exactly that moment. For most owner-led companies that moment is a completed contact form.

Which event should a form submission send?

Use the one Google built for it. The GA4 events reference defines generate_lead as an event that "measures when a lead has been generated (for example, through a form)." Using the standard name matters because it is the name Google's own documentation uses, and an agency that joins later will recognise it without a translation sheet.

The event takes three parameters:

Parameter What Google says What to send
currency Currency of the value, in 3-letter ISO 4217 format. "USD", if you send a value
value "The monetary value of the event." Recommended if you mark it as a key event. What a lead is worth to you, if you know it
lead_source "The source of the lead." Optional. The form or page the lead came from

Google's own example for gtag.js is short:

gtag("event", "generate_lead", {
  currency: "USD",
  value: 30.03,
  lead_source: "Trade show"
});

The 30.03 is Google's sample number, not a benchmark. Do not copy it. If you cannot defend a value for a lead, leave value out rather than invent one, and add it later when your closed deals show what a lead is worth. The marketing ROI piece explains how to get to that number.

How do you set it up?

Work through these in order.

  1. Pick the moment. Fire the event when the submission succeeds, which usually means the thank-you state or the form's success response. Do not fire it on the button click, because a click that fails validation is not a lead.
  2. Send generate_lead at that moment. Through your tag manager or directly with gtag, with a lead_source value that says which form it was.
  3. Mark it as a key event. In Analytics, flag generate_lead as a key event. Google notes that once you do, "you can view how many users perform the action and evaluate marketing performance across all channels that lead users to perform the action."
  4. Test it in DebugView. Google describes DebugView as showing "the events and user properties that Analytics collects from a user in real time." You must turn on debug mode to see it, and there is one trap: "setting the parameter to false doesn't disable debug mode." To switch it off you remove the parameter.
  5. Submit a real test and count. One submission should produce one event. Two events means the tag fires twice, and every number downstream will be double.
  6. Reconcile for a week. Compare the count in Analytics with the number of submissions that reached your inbox or CRM. They may not match to the unit, so decide in advance how large a gap you will accept. A large gap is a defect to find before anyone reports on it.

On our own site the contact form fires generate_lead when it completes, and the same submission opens a lead in our CRM, so the event and the sales record start from the same moment. That is the property to aim for: an event is only worth reporting if it agrees with the record the sales side trusts.

What does the number show once it works?

It shows up where you already look. Google says many reports, "such as the Landing pages and User acquisition reports, include a Key events column," which counts how many times users triggered the events you flagged. That column is the one that tells you which pages and which channels produce leads, instead of which produce visits.

A key event can also feed advertising. Google says "you can create a conversion in Google Ads from a Google Analytics key event," so Ads and Analytics report the same count. If the two ever disagree, the setup is the first place to look, and how to read a marketing agency report shows which numbers deserve trust.

What should the agency see on day one?

Read access to the property, so it can see the key event and the reports built on it, and nothing that lets it change who else has access. What access to give a marketing agency sets out the levels. Tell the agency which event is your lead, show it the week of reconciliation, and ask that its reports use generate_lead as the definition. If a report counts something else as a lead, ask why before you read the rest.

If leads are not arriving at all, tracking is not the first suspect. The diagnostic for why marketing is not generating leads walks through the usual causes in order.

What comes after the form submission?

A lead is the start of the story, and Google's lead events say so. The reference defines qualify_lead for when a user is marked as meeting the criteria to become a qualified lead, and close_convert_lead for the end: "Log this event when a qualified lead is successfully converted into a customer." It adds a rule worth remembering: "To track initial lead acquisition, such as form submissions, newsletter sign-ups, or demo requests, use the generate_lead event."

That gives you a path from the form to a customer inside the same tool. The form says someone raised a hand. The later events say whether it was worth answering. An agency that reports only the first one is reporting activity, and one that can show the later ones is reporting revenue, which is the number the attribution model you choose is meant to explain.