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.
- Install GA4 directly or through Google Tag Manager. Tag Manager makes the platform-specific triggers below easier.
- Decide the event name. GA4's recommended name for lead forms is generate_lead; using it keeps reports consistent.
- Set up the trigger for your platform (next section) so the event fires only on success.
- In GA4 admin, open Events, find the event once it has fired, and mark it as a key event.
- 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.
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.
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.
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.
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.
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.
