How to Track Form Leads in GA4 and Google Ads

To track form leads in GA4 and Google Ads, send a lead event (Google’s recommended name is generate_lead) only when a form is successfully submitted, mark it as a key event in GA4, and then either import it into Google Ads or create a matching Google Ads conversion with the Google tag. Add enhanced conversions for leads if you can, and test everything with a real submission before you spend on ads.

Broken lead tracking is one of the most common problems I find when I audit a WordPress site. The ads run, the forms work, but Google can’t see which clicks became enquiries. Here’s how to set it up properly.

Why it matters

  • Google Ads optimises on conversions. If it can’t see leads, it optimises for clicks, which are cheap and often useless.
  • You can see which pages, keywords and campaigns actually bring enquiries, not just traffic.
  • You can calculate cost per lead and decide where to spend.

Step 1: Decide what counts as a lead

Usually it’s a successful submission of your contact, quote or booking form. Clicks on a phone number or WhatsApp button can be tracked too, but keep them as separate events so you can tell them apart.

Step 2: Fire the event on success, not on click

The most common mistake is tracking clicks on the submit button. That counts failed submissions, validation errors and double clicks. Use one of these instead:

  • A thank you page: redirect after submission and fire the event when that page loads. It’s the simplest and most reliable option. See why every lead form needs a thank you page.
  • The form plugin’s success event: most form plugins (Elementor Forms, Gravity Forms, WPForms, Contact Form 7, Fluent Forms) trigger a JavaScript event on successful submission that Google Tag Manager can listen for.
  • A built-in integration: some form plugins and Site Kit can send events to GA4 directly.

Step 3: Set it up in GA4

  1. Send the event as generate_lead through Google Tag Manager or your plugin. You can add parameters such as the form name.
  2. Submit a test lead and check it appears in GA4 under Admin, DebugView or the Realtime report.
  3. Go to Admin, Events (or Key events) and mark generate_lead as a key event. GA4 renamed “conversions” to “key events” in 2024.

Step 4: Get it into Google Ads

There are two common ways:

  • Import from GA4: link GA4 and Google Ads, then import the key event as a conversion. Easy, and it keeps one source of truth. Data can take a little longer to appear.
  • Google Ads conversion tag: create a lead conversion action in Google Ads and fire it with the Google tag or Tag Manager on the same success trigger. This is usually more precise for bidding.

Pick one as the primary conversion for bidding so the same lead isn’t counted twice.

Step 5: Turn on enhanced conversions for leads

Enhanced conversions send a hashed version of the email or phone number from the form with the conversion. It helps Google match more leads to ad clicks, especially when cookies are blocked, and lets you upload offline results later, such as which leads became paying customers.

If you have visitors in the UK or EU, use a consent banner that supports Google Consent Mode, so tags behave correctly based on each visitor’s choice.

Step 7: Test it

  • Submit your form on desktop and mobile.
  • Check the event in GA4 Realtime or DebugView.
  • Use Tag Assistant to confirm the Google Ads conversion fires once.
  • Check the Google Ads conversion status after a day or two.

Common mistakes

  • Tracking button clicks instead of successful submissions.
  • The same lead counted twice by both GA4 import and an Ads tag set as primary.
  • Page views of the contact page counted as leads.
  • Tracking that broke after a theme or form plugin update and nobody noticed.
  • Thank you page indexed in Google, so visitors land on it from search.

If you run Meta ads as well, set up the Meta side with the same event: see Meta Pixel and Conversions API on WordPress.

If you’re not sure your leads are being tracked, get in touch. I’ll check your setup and fix what’s missing.

Written by

Jamshadul Rafi

Freelance web designer in Comilla, Bangladesh. I rebuild Figma designs in WordPress and Elementor for clients on Fiverr and Upwork. These guides come from that client work.

Book a 15-min call
Keep reading

More guides.

All guides

  1. 001 Should Wedding Venues Show Prices on Their Website? 3 min read
  2. 002 Facebook Instant Forms vs a Landing Page: Which Gets Better Leads? 3 min read
  3. 003 Wedding Venue Website Checklist: 15 Things Couples Look For 3 min read
Start a build

Tell me what you're building.

A landing page, a full site, more traffic or a chatbot. A link and one sentence is enough. Before either of us commits, you get:

  1. What's straightforward and what I'd change first.
  2. What needs a decision from you.
  3. A fixed price and how long it takes.

Rather talk it through?

Pick a 15-minute slot. I'm in Comilla, Bangladesh (GMT+6), overlapping EU mornings and US evenings on purpose.

Opens my calendar. No pitch, no obligation — if it’s not a fit I’ll say so.

Prefer email? jamshadulrafi@gmail.com

Get a fixed-price estimate

What do you need?
Rough budget
Fixed price before I start. No obligation.