Most teams spend serious resources driving traffic to their forms. Paid ads, SEO campaigns, email sequences — the investment adds up fast. And then, almost universally, they have next to no visibility into what actually happens when a visitor lands on that form. Did they submit it? Did they bounce after the first field? Which traffic source is sending people who actually convert?
Without form conversion tracking in Google Analytics, you're optimizing your acquisition channels with incomplete information. You might be pouring budget into a paid campaign that looks great on click-through rate but drives zero form completions. Meanwhile, your organic traffic could be converting quietly at a high rate, and you'd have no idea.
This guide walks you through the exact steps to set up reliable form conversion tracking using Google Analytics 4 (GA4), the current standard as of 2026. You'll configure events, mark them as Key Events, add UTM parameters for source attribution, and build a dashboard that surfaces the data your team actually needs.
By the end, you'll know which forms are performing, which traffic sources are driving quality submissions, and where drop-off is happening in your funnel. Whether you're running a SaaS onboarding flow, a lead capture form, or a multi-step qualification sequence, this setup applies.
For most steps, no developer is required. You'll need access to your Google Analytics account, Google Tag Manager (strongly recommended over hardcoded snippets), and your form platform. Let's get into it.
Step 1: Install Google Tag Manager on Your Site
Before anything else, you need a way to deploy tracking code on your site without touching your codebase every time you make a change. That's exactly what Google Tag Manager (GTM) gives you. It's the industry-standard approach for managing GA4 and other marketing tags because it puts non-developers in control of tracking configuration, and it comes with a built-in debugging environment that makes verification much easier.
If you already have GTM installed on your site, skip to the verification step below. If not, here's how to get started.
Go to tagmanager.google.com and sign in with your Google account. Click "Create Account," give it your company name, and then create a Container for your website. Select "Web" as the target platform. GTM will generate two code snippets once the container is created.
The first snippet goes in the <head> section of every page on your site, as high up as possible. The second snippet goes immediately after the opening <body> tag. Most CMS platforms (WordPress, Webflow, Squarespace, etc.) have a dedicated field for header and body scripts, so you typically won't need to edit raw HTML files.
Verify the installation using GTM Preview mode. In your GTM dashboard, click the "Preview" button in the top right. Enter your site's URL and click "Connect." A debugging panel will open in a separate tab alongside your site. If GTM is installed correctly, you'll see "Container Loaded" appear in the event stream on the left side of the debugger.
Critical pitfall to avoid: If your site already has a hardcoded GA4 snippet (the gtag.js script pasted directly in your HTML), do not also add GA4 through GTM without removing the hardcoded version first. Running both simultaneously causes duplicate event data, which inflates your conversion counts and corrupts your reports. Pick one approach and stick with it. GTM is the better long-term choice.
Success indicator: GTM Preview mode shows "Container Loaded" when you visit any page on your site. That confirms the container is firing correctly and you're ready to add tags.
Step 2: Connect GA4 to Your Site Through GTM
With GTM installed, the next step is creating a GA4 property and connecting it to your site through a GTM tag. This is what actually starts sending data to Google Analytics.
If you don't have a GA4 property yet, go to analytics.google.com, click "Admin" in the bottom left, and select "Create Property." Follow the setup prompts, selecting "Web" as your platform. Once created, navigate to Admin > Data Streams > your web stream and locate your Measurement ID. It looks like this: G-XXXXXXXXXX. Copy it.
Now go back to GTM. Click "Tags" in the left sidebar, then "New." Name the tag something clear like "GA4 Configuration." Click on the Tag Configuration area and select Google Tag (this is GTM's updated tag type for GA4). Paste your Measurement ID into the Tag ID field.
For the trigger, click the Triggering section and select All Pages. This ensures GA4 loads on every page of your site, which is what you want for baseline tracking. Save the tag.
Publish your container. This is the step many people miss. In GTM, clicking "Save" does not make your changes live. You must click "Submit" in the top right corner, add a version name (something like "GA4 Configuration Tag"), and click "Publish." Until you publish, nothing you've configured is active on your site.
To verify that GA4 is receiving data, go to your GA4 property and navigate to Admin > DebugView. Then visit your site in a browser with the GTM Preview tab still open. You should see page_view events appearing in DebugView within seconds. You can also check Reports > Realtime to confirm your site appears as an active source.
Success indicator: Your site shows activity in the GA4 Realtime report and page_view events appear in DebugView after you visit a page. GA4 is now connected and collecting baseline data.
Step 3: Create a Form Submission Event in GTM
This is the core of form conversion tracking in Google Analytics. You need to tell GTM to fire a specific event when a user submits a form, and then send that event to GA4. There are two main approaches, and choosing the right one depends on how your forms work.
Approach A: Form Submit Trigger (GTM Native)
This approach uses GTM's built-in Form Submission trigger, which detects when a user clicks a submit button on a form. It works well for traditional server-rendered forms where the page reloads or redirects after submission.
In GTM, go to Triggers > New. Name it something like "Form Submission Trigger." Set the Trigger Type to Form Submission. Enable both "Wait for Tags" and "Check Validation". "Wait for Tags" gives other tags time to fire before the form submits. "Check Validation" ensures the trigger only fires if the form passes HTML validation, which reduces false positives from incomplete submissions.
Use GTM Preview mode to test this. Fill out your form with real data and click submit. In the Preview panel, you should see a "Form Submit" event appear in the event stream. If it doesn't appear, the trigger may not be compatible with your form's HTML structure.
Approach B: Thank-You Page Trigger (More Reliable)
If your form redirects to a confirmation URL after submission (e.g., /thank-you or /demo-confirmed), use a Page View trigger scoped to that URL instead. This approach is generally considered more reliable because it confirms the form was actually processed by the server, not just that the submit button was clicked. A form submit trigger can fire even if the server returns an error.
Create a new trigger, set the type to Page View, and configure it to fire on "Some Page Views" where the Page URL contains your confirmation page path.
Creating the GA4 Event Tag
Once your trigger is set up, create the tag that sends data to GA4. Go to Tags > New, name it "GA4 Form Submission Event," and set the Tag Type to Google Analytics: GA4 Event. Select your GA4 Configuration Tag as the connected tag.
For the Event Name, use something clean and consistent like form_submission. Add event parameters to make the data more useful: add a parameter called form_id or form_name and use a GTM variable to capture the form's ID from the page. This lets you segment by specific form later in GA4 reports.
Attach your trigger to this tag, save it, and publish the container.
Important note for SPA users: If your site is built on React, Vue, or Angular, GTM's standard Form Submission trigger often doesn't work reliably because the DOM behaves differently in single-page applications. You'll likely need a developer to push a custom event to the GTM dataLayer when a form is submitted, and then trigger your GA4 tag off that custom event instead.
Success indicator: After a test submission, the form_submission event appears in GA4 DebugView within a few seconds. You should see the event name and any parameters you configured listed in the DebugView panel.
Step 4: Mark Your Form Event as a Key Event in GA4
Firing an event is only half the job. For GA4 to treat form submissions as conversions and include them in acquisition reports and Google Ads data, you need to explicitly mark the event as a Key Event.
First, the terminology note: as of GA4's 2024 interface update, what was previously called "Conversions" is now labeled Key Events within GA4's settings. Many tutorials still use the old language, which causes confusion. When you see "mark as conversion" in older guides, they mean the same thing as marking a Key Event today. The change was made to distinguish GA4 tracking from Google Ads conversion tracking, which are separate systems.
To mark your event, navigate to GA4 Admin > Events. Your form_submission event will appear in this list once at least one data point has been collected. Find it, and toggle the "Mark as key event" switch to the on position.
Once marked, the event will appear under Admin > Key Events and will start showing up in conversion-related reports. If you're running Google Ads campaigns and have linked your GA4 property to Google Ads, these Key Events can flow into your Ads account for bid optimization.
Visualizing funnel drop-off: If you have a multi-step form, use GA4 Explorations > Funnel Exploration to map each step as a stage and see where users abandon the process. This is particularly valuable for longer qualification forms where you want to identify which specific field or screen causes the most drop-off.
Data latency reminder: GA4's standard reports can take 24 to 48 hours to fully populate conversion data. Don't panic if you don't see Key Event counts immediately after setup. Use DebugView and the Realtime report for immediate verification, and check standard reports the following day.
Success indicator: Your form_submission event appears under Admin > Key Events with the conversion toggle active. You'll also start seeing it referenced in Acquisition reports once enough data accumulates.
Step 5: Add UTM Parameters to Your Campaign Links
Here's where many teams leave significant insight on the table. GA4 does attempt automatic source attribution, but it's often incomplete, especially for paid campaigns, email newsletters, and partner referrals. Without UTM parameters on your links, GA4 may attribute form conversions to "direct" or misclassify the source entirely.
UTM parameters are tags you append to your URLs that tell GA4 exactly where a visitor came from. There are five standard parameters, but three matter most for form conversion tracking:
utm_source: The platform or origin of the traffic (e.g., google, linkedin, newsletter).
utm_medium: The marketing channel type (e.g., cpc, email, organic-social).
utm_campaign: The specific campaign name (e.g., q3-demo-push, summer-lead-gen).
Use Google's free Campaign URL Builder (available at ga-dev-tools.google.com/campaign-url-builder) to generate properly formatted tagged URLs. Paste in your form page URL, fill in the parameter fields, and copy the generated link to use in your ads, emails, or social posts.
To view the source breakdown of your form conversions in GA4, go to Reports > Acquisition > Traffic Acquisition. In the report, you can filter by your form_submission Key Event to see which source/medium combinations are driving the most submissions.
The case-sensitivity pitfall: GA4 treats UTM values as case-sensitive. If one campaign link uses "Email" and another uses "email," GA4 will display them as two separate sources in your reports, splitting your data and making it harder to read. Establish a naming convention for your team and document it. Lowercase, hyphen-separated values (e.g., google, cpc, q3-demo-push) tend to work well and are easy to enforce.
Success indicator: Your GA4 Traffic Acquisition report shows clean, distinct source/medium rows with form Key Event counts attached to each. You can clearly see which channels are driving form submissions, not just sessions.
Step 6: Build a Form Conversion Dashboard in GA4
Raw data in GA4's default reports is useful, but a purpose-built dashboard makes form conversion tracking actually actionable for your team. Here's how to set one up that surfaces the metrics that matter.
Start in GA4 Explorations (the compass icon in the left sidebar). Create a new Free Form exploration. Give it a name like "Form Conversion Performance." Add the following dimensions to your report:
Session source / medium: Shows which traffic channels are driving form submissions.
Device category: Breaks down performance by desktop, mobile, and tablet. Form conversion rates often vary significantly by device.
Landing page + query string: Tells you which page a user first landed on before eventually submitting the form.
For metrics, add Sessions, Key events (filtered to your form_submission event), and calculate a conversion rate by dividing key events by sessions in your analysis.
Use GA4's Comparisons feature to benchmark form performance across date ranges. Comparing this week to last week, or this month to the same period last month, gives you a quick read on whether changes you've made (new form design, new traffic source, new campaign) are moving the needle.
For multi-step forms, add a Funnel Exploration tab to the same exploration. Map each step of your form as a funnel stage and watch where the completion rate drops. Even a small improvement in a high-drop-off step can meaningfully increase your total submission volume.
Sharing with your team using Looker Studio: GA4 has a native connector to Google Looker Studio (free), which lets you build auto-refreshing dashboards from your GA4 data. This is the right move if your team wants a shared, always-on view of form performance without everyone needing direct GA4 access. Connect your GA4 property in Looker Studio, pull in the same dimensions and metrics, and share the dashboard link.
What to actually monitor week-over-week: Focus on form conversion rate by source (not total sessions), total Key Events, and device-level breakdown. Total sessions is a vanity metric in this context. The actionable signal is which channels convert at what rate, and whether that rate is improving.
Success indicator: Your team can answer the question "which channel drove the most form conversions this month?" in under 60 seconds by opening the dashboard. If it takes longer than that, simplify the report.
Your Form Tracking Is Live — Now What?
Before you move on, run through this quick checklist to confirm everything is in place:
GTM installed and published: Container Loaded confirmed in Preview mode, container published (not just saved).
GA4 connected via GTM: GA4 Configuration Tag firing on All Pages, data visible in Realtime report.
Form submission event firing: form_submission event confirmed in GA4 DebugView after a test submission.
Key Event marked: form_submission toggled on under GA4 Admin > Key Events.
UTM parameters applied: All paid, email, and social links to your form pages include consistent UTM tagging.
Dashboard built: Exploration report or Looker Studio dashboard set up and shared with your team.
With tracking in place, the next layer is optimization. Use your conversion rate by source data to reallocate budget toward channels that actually convert. Use funnel exploration data to prioritize which form fields or steps to test. A/B test form length, headline copy, and field order, and let the Key Event data tell you what's working.
One more thing worth knowing: if you want form-level conversion data without the full GTM and GA4 configuration overhead, Orbit AI's built-in analytics (available at orbitforms.ai/features/analytics) provides submission tracking natively at the form level. It's a practical option for teams who need conversion visibility quickly, or who want to complement their GA4 setup with form-specific performance data in one place.
Revisit your tracking setup whenever you add new forms, change your form platform, or restructure your confirmation page URLs. Tracking configurations break more often than people expect, and a broken setup is worse than no setup because it creates false confidence in incomplete data.
Ready to build forms that are designed to convert from the start? Start building free forms today and see how intelligent form design can give your team a conversion advantage before a visitor even reaches the submit button.











