All posts
Landing pages & CRO

Conversion Tracking for Landing Pages: GA4 Events, Goals and Attribution

Landing page conversion tracking in GA4: set up key events for Framer, Webflow and Next.js forms, test them, and carry attribution through to your CRM.

By Mehdi Hassan7 min read

The short answer

Landing page conversion tracking means recording each completed goal, such as a form submission or booked demo, as a GA4 key event. Fire the event only when the submission succeeds, using a thank-you page or a success-state trigger in Framer and Webflow, or a dataLayer push in Next.js. Then pass UTM data into your CRM so leads keep their source.

Key takeaways

  • Track the successful submission, not the button click. Clicks count errors and double taps.
  • In GA4, conversions are now called key events. Mark your lead event as one.
  • Framer and Webflow forms submit without a page load, so use a redirect or a success-state trigger.
  • In Next.js, push the event in the success handler, after the API confirms the lead was saved.
  • Pass UTM parameters into hidden form fields, or your CRM won't know where leads came from.

Part of Heatmaps and Session Recordings: How to Read Them and What to Fix

How do you track conversions on a landing page?

You track conversions on a landing page by choosing the one action that counts as success, firing an analytics event exactly when that action succeeds, and marking the event as a key event in GA4. For most B2B landing pages, the action is a submitted form or a booked meeting, not a click on the call to action.

The tricky part isn't GA4. It's how each platform handles forms, because modern site builders submit forms without loading a new page, which breaks the old method of counting thank-you page views. This guide covers setup for Framer, Webflow and Next.js, which we build on every week. It sits inside our hub on heatmap analysis, because behavior data is only useful when you can tie it to a conversion.

What should you track as a landing page conversion?

Track one primary conversion per page, the action that most directly leads to revenue, and a few secondary actions that show progress. Tracking everything as a conversion makes every report look good and none of them useful.

Page type

Primary conversion

Useful secondary events

Demo request page

Demo booked in the scheduler

Form submitted, scheduler opened

Free trial page

Account created

Signup started, email verified

Lead magnet page

Form submitted

Download clicked

Paid ads landing page

Form submitted or demo booked

Scroll to pricing, video played

Waitlist page

Email submitted

Referral link shared

Secondary events help you diagnose where visitors drop off, but keep them out of your conversion rate. Our guide to how to calculate conversion rate explains why the visitor-to-lead rate and the lead-to-qualified rate tell different stories.

How does landing page conversion tracking work in GA4?

Landing page conversion tracking in GA4 works through events. Your site sends an event, such as generate_lead, when a form succeeds, and you mark that event as a key event in the GA4 admin. GA4 renamed conversions to key events, so older guides use the old term for the same thing.

  1. Install GA4 directly or through Google Tag Manager. Tag Manager makes the platform-specific triggers below easier.
  2. Decide the event name. GA4's recommended name for lead forms is generate_lead; using it keeps reports consistent.
  3. Set up the trigger for your platform (next section) so the event fires only on success.
  4. In GA4 admin, open Events, find the event once it has fired, and mark it as a key event.
  5. If you run Google Ads, import the key event into Ads so campaigns optimize on real leads.

GA4's enhanced measurement includes automatic form interaction events, but they're unreliable with forms that don't trigger a normal page navigation, which covers most builder and custom forms. Turn them off if they double-count, and rely on your own event. Google's GA4 documentation at support.google.com explains how key events are configured.

How do you track form submissions in Framer, Webflow and Next.js?

Track form submissions in each platform by firing the event at the moment the platform confirms success: a redirect or success state in Framer and Webflow, and the success handler in Next.js. The method differs; the principle doesn't.

  1. Framer: redirect to a thank-you page

    Framer forms can send visitors to a page after submission. Create a thank-you page, set the form to redirect to it, and fire your lead event on that page's view through GA4 or Tag Manager. It's the most reliable method on Framer. Keep the thank-you page out of navigation and set it to noindex.

  2. Webflow: redirect or watch the success message

    Webflow forms can redirect to a URL after submission, which works like the Framer method. If you keep the inline success message, use a Tag Manager element visibility trigger on Webflow's form success block so the event fires when the message appears, not when the button is clicked.

  3. Next.js: push the event on confirmed success

    In a custom form, call your API, wait for a successful response, then push the event to the dataLayer or call gtag. Firing before the response counts failed submissions. The @next/third-parties package on nextjs.org documents a Google Tag Manager component and an event helper.

  4. Embedded schedulers and third-party forms

    For booking tools and embedded forms, use the provider's own GA4 integration or its confirmation callback, or redirect to your thank-you page after booking. Check that the event fires on your domain, not only inside the embed.

  5. Test before trusting

    Submit a real test lead on mobile and desktop. Watch GTM preview mode and GA4 DebugView to confirm one event per submission, then delete the test lead from your CRM.

How do you carry attribution through to your CRM?

Carry attribution to your CRM by capturing UTM parameters and the landing page URL when the visitor arrives, storing them, and submitting them with the form as hidden fields. GA4 knows where sessions came from, but your CRM only knows what the form sends it.

A small script reads the UTM parameters on arrival and stores them in a first-party cookie or session storage, so they survive if the visitor browses a few pages before converting. Hidden fields on the form read those values on submit. Framer, Webflow and custom Next.js forms can all hold hidden fields, though the setup differs. Once the CRM has source data, you can judge campaigns on qualified pipeline rather than form fills, which is the number your sales team cares about.

Hypothetical example: why GA4 and the CRM disagree

For example, suppose GA4 reports 60 lead events in a month and the CRM shows 48 new leads from the website.

Common reasons: some visitors declined analytics cookies, so their leads reached the CRM but not GA4; some submissions fired the event twice because enhanced measurement and a custom event both ran; and a few test or spam submissions were removed from the CRM but not from GA4.

Perfect agreement isn't realistic. Aim for numbers that move together, remove duplicate events, and treat the CRM as the source of truth for lead counts and GA4 as the source for behavior and traffic.

Which attribution model should you use?

Use GA4's default data-driven attribution for reporting, and judge channels on qualified leads in your CRM for decisions. No attribution model is exactly right for a long B2B buying journey, so the goal is consistency, not precision.

In practice, startups get more from clean UTM tagging on every campaign link than from debating attribution models. Tag every ad, email and social link with source, medium and campaign; keep a shared naming convention; and review results on the same model each month. AI assistants are a newer source of visits, and GA4 needs some setup to show them clearly, which our guide to tracking AI referral traffic in GA4 covers.

How do you know your conversion tracking is working?

You know conversion tracking works when a test submission produces exactly one key event in GA4 and one lead in the CRM, with the right source attached. Check this after every site change, not just at launch.

  • Submit one test lead per form after each deploy, on mobile and desktop.
  • Compare weekly lead counts between GA4 and the CRM. A sudden gap means something broke.
  • Check that key events still appear after a redesign or platform move. Our guide to analytics continuity in a migration has the full checklist.
  • Audit the full lead flow from form to CRM to sales follow-up, as covered in conversion tracking for lead-gen websites.

Once tracking is reliable, you can judge your numbers against landing page conversion rate benchmarks and use heatmaps and recordings to explain changes. A tracked page is also the starting point for any review in our landing page audit checklist.

Frequently asked questions

What is the difference between a GA4 event and a key event?
An event is any interaction GA4 records, such as a page view, scroll or click. A key event is an event you've marked as important to your business, such as a lead form submission. Key events appear in conversion reports and can be imported into Google Ads. GA4 used to call key events conversions, so older guides use that term.
Can I track conversions without Google Tag Manager?
Yes. You can send events directly with the GA4 tag, and some platforms offer native integrations. Tag Manager makes it easier to add triggers like element visibility, manage several tags and test changes in preview mode without editing site code. For a single landing page with one form, direct GA4 events are fine; for a growing site, Tag Manager saves time.
Why are my landing page conversions not showing in GA4?
The most common causes are an event that never fires because the trigger watches for a page load that doesn't happen, an event that wasn't marked as a key event, consent settings blocking analytics, and processing delays before events show in standard reports. Check GA4 DebugView while submitting a test lead to see whether the event arrives at all.
Should I track button clicks as well as submissions?
You can track clicks as a secondary event to see interest, but never count them as conversions. The gap between clicks on the call to action and successful submissions shows how much friction the form causes. If that gap is large, watch recordings of form sessions to find out which field or error is stopping people.
Do thank-you pages hurt SEO?
Not if you handle them properly. Set thank-you pages to noindex, keep them out of navigation and your sitemap, and don't link to them publicly. That prevents visitors landing on them from search, which would inflate your conversion count. On Framer and Webflow, you can set noindex in the page's SEO settings.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Brand & design sprint, $3,000.

A brand refresh or redesign, plus design explorations for your website and product. $3,000, one-time, fixed price. Book a free 30-minute call to see if it fits.

Schedule Call