How To Track Conversions In GA4

How To Track Conversions In GA4

The Short Answer: Mark Events as Key Events, Then Verify They Fire Correctly

In GA4, tracking conversions means identifying the events that matter most to your business, marking them as “key events” (Google’s updated terminology for what used to be called conversions), and then confirming they fire accurately with real data. The mechanics are straightforward: you either configure events directly in GA4’s admin interface or push custom events through Google Tag Manager, then toggle them as key events. The real work, and where most teams stumble, is deciding what to track, structuring events cleanly, and making sure the data you collect actually reflects reality.

This guide walks you through the full process, from understanding GA4’s event model to setting up both simple and complex conversions, debugging them, and avoiding the mistakes we see constantly on mid-market sites.

Understanding GA4’s Event-Based Model

If you’re coming from Universal Analytics, the biggest mental shift is that everything in GA4 is an event. Page views, clicks, scrolls, form submissions, purchases: all events. There are no separate “hit types” like there were in UA. This is both more flexible and more confusing, because it means you need to deliberately decide which events represent meaningful business outcomes versus routine user behaviour.

GA4 has four categories of events worth understanding before you start configuring conversions:

  • Automatically collected events like page_view, first_visit, and session_start. These fire without any setup.
  • Enhanced measurement events like scroll, click (outbound), file_download, and video_start. These are toggled on in your data stream settings.
  • Recommended events that Google suggests for specific business types, such as generate_lead, purchase, or sign_up. You have to implement these yourself, but using Google’s naming conventions unlocks built-in reporting features.
  • Custom events that you define entirely, like pricing_page_cta_click or demo_request_submitted. These give you full control but require manual implementation.

The events that typically become key events (conversions) fall into the last two categories. You rarely want to mark an automatically collected event like page_view as a conversion because it tells you nothing about intent or outcomes. The exception might be a specific thank-you page view, which we’ll cover below.

Defining What Actually Counts as a Conversion

Before touching any settings, spend thirty minutes writing down the actions on your website that directly represent or strongly indicate revenue. This sounds obvious, but what we typically find on mid-market sites is a cluttered mess of “conversions” that includes everything from newsletter signups to PDF downloads to actual demo requests, all treated with equal weight. When everything is a conversion, nothing is.

For a B2B company, genuine conversions usually fall into two tiers:

Primary Conversions (Revenue Actions)

These are the actions that directly generate pipeline or revenue. A demo request form submission, a contact form completion, a free trial signup, or a purchase. You should have between one and four of these. If you have more than five primary conversions, you’re probably conflating micro-interactions with actual business outcomes.

Secondary Conversions (Strong Intent Signals)

These are actions that indicate a user is seriously evaluating your product or service but hasn’t committed yet. Think pricing page engagement, case study downloads, or webinar registrations. These are worth tracking as events, but whether you mark them as key events depends on your reporting needs. In our projects, we define measurement requirements during prototyping so that by launch, the team knows exactly which events are primary conversions and which are supporting engagement metrics.

Write this down in a simple table: Action, Event Name, Primary or Secondary, and Expected Monthly Volume. This becomes your measurement plan and prevents the “we should be tracking that” conversations three months after launch. For a deeper look at how this planning fits into a broader tracking strategy, see our measurement systems guide.

Defining What Actually Counts as a Conversion Setting Up Conversions Directly in GA4

Setting Up Conversions Directly in GA4

The simplest way to create a conversion in GA4 is to use an existing event and mark it as a key event. Here’s the step-by-step process.

Navigate to Admin > Events in your GA4 property. You’ll see a list of events that have already fired on your site. If the event you want to use as a conversion is already there (for example, form_submit from enhanced measurement), you can simply toggle the “Mark as key event” switch next to it.

But here’s where it gets tricky. The enhanced measurement form_submit event fires on every form submission, including search boxes, login forms, and email signup widgets. You almost certainly don’t want all of those counted as conversions. This is why most teams need to go one step further and create a modified event or use Google Tag Manager.

Creating a Modified Event in GA4

GA4 lets you create new events based on existing ones with added conditions. Go to Admin > Events > Create Event. You’ll name the new event and set matching conditions.

For example, to track only contact form submissions, you might create an event called contact_form_submit with these conditions:

  • Event name equals page_view
  • Parameter page_location contains /thank-you/contact

This fires a new event whenever someone lands on your contact form thank-you page. Then you mark contact_form_submit as a key event. It’s clean, simple, and doesn’t require any code changes.

The limitation of this approach is that modified events in GA4 can only use parameters that already exist on the source event. You can’t pull in new data. If you need to capture the form name, the submitted values, or other custom data, you’ll need Google Tag Manager.

Setting Up Conversions with Google Tag Manager

For anything beyond basic page-view-based conversions, Google Tag Manager (GTM) gives you the precision and flexibility that GA4’s built-in event creation can’t match. This is the approach our team recommends for most mid-market sites because it separates tracking logic from your website codebase, making it maintainable without developer involvement for routine changes.

Step 1: Create the Trigger

A trigger defines when your event fires. Common trigger types for conversions include:

  • Form Submission triggers that detect when a specific form is submitted, filtered by form ID, CSS selector, or the page URL where the form lives.
  • Page View triggers that fire on a thank-you or confirmation page URL.
  • Custom Event triggers that listen for dataLayer pushes from your website’s code (more on this below).
  • Click triggers that fire when a user clicks a specific button, useful for outbound links to booking tools like Calendly or HubSpot meetings.

For a demo request form, you might create a trigger of type “Form Submission” where the Form ID equals demo-request-form. Alternatively, if your form redirects to /thank-you/demo, a Page View trigger matching that URL is simpler and more reliable.

Step 2: Create the GA4 Event Tag

Create a new tag of type Google Analytics: GA4 Event. Set the Configuration Tag or Measurement ID to your GA4 property, then name the event something descriptive and consistent. We follow a naming convention of category_action, so a demo form would be demo_request_submitted.

You can add event parameters here too. For example, a form_name parameter set to “Demo Request” or a page_section parameter that captures where on the site the form was submitted. These parameters become incredibly useful when you’re analysing conversion data later and want to know which form placements perform best.

Step 3: Test in Preview Mode

Before publishing, always use GTM’s Preview mode (Tag Assistant). This loads your site in a debug pane where you can see exactly which tags fire and which triggers activate as you interact with the page. Submit your form, confirm the tag fires, and check that the event name and parameters look correct.

Step 4: Publish and Mark as Key Event

Publish your GTM container, then go to GA4 Admin > Events. Your new event will appear in the list once it has fired at least once (this can take up to 24 hours, though it’s usually faster). Toggle the “Mark as key event” switch.

If you don’t want to wait, you can go to Admin > Key Events and create the key event by name in advance. Just make sure the event name matches exactly what you configured in GTM, including capitalisation. GA4 event names are case-sensitive.

Using the DataLayer for Reliable Conversion Tracking

The most reliable conversion tracking setups don’t rely on URL matching or DOM element detection alone. They use the dataLayer, a JavaScript object that your website pushes structured data into when important things happen. GTM listens for these pushes and fires tags accordingly.

For example, when a form submission succeeds (after server-side validation, not just when the submit button is clicked), your development team adds a snippet like:

dataLayer.push({ event: 'form_submission_success', form_name: 'demo_request', form_id: 'demo-123' });

In GTM, you create a Custom Event trigger that listens for form_submission_success, then a GA4 Event tag that sends the data to your property. The advantage here is significant: you’re only counting successful submissions, not button clicks, not page loads, not forms that failed validation. This distinction matters enormously for data quality. We’ve audited sites where “conversion” counts were inflated by 30-40% because they were tracking the click rather than the actual successful submission.

Implementing dataLayer pushes does require developer involvement, but it’s a one-time setup per event. The maintenance and configurability afterwards sits entirely in GTM, where your marketing team can manage it.

Verifying Your Conversions Actually Work

Setting up conversion tracking and verifying it are two different jobs. Skipping verification is how you end up with six months of bad data and decisions made on fiction. Here’s a systematic approach.

Real-Time Reports in GA4

After firing a test conversion, go to Reports > Realtime in GA4. Look for your event in the “Event count by Event name” card. You should see it appear within seconds. If you’ve marked it as a key event, it will also show in the “Conversions by Event name” card. This confirms the event is reaching GA4.

DebugView

GA4’s DebugView (Admin > DebugView) provides a more detailed, timestamped view of events as they fire. To use it, you need to either enable debug mode in GTM’s Preview or install the Google Analytics Debugger Chrome extension. DebugView shows each event with its parameters, so you can confirm not just that the event fired but that it carried the right data.

Check for Double-Counting

One of the most common issues we encounter is events firing multiple times for a single user action. This happens when you have both a GTM tag and a modified GA4 event tracking the same action, or when a thank-you page reloads and triggers the event again. In DebugView, look for duplicate events in quick succession. In your reports, compare conversion counts against actual form submissions in your CRM or email system. If GA4 shows 150 demo requests last month but your CRM has 95, you have a double-counting problem.

Cross-Reference with Source Systems

For any conversion that results in a record in another system (CRM lead, email subscriber, purchase in your e-commerce platform), compare the GA4 count against the source of truth weekly for the first month. A variance of 5-15% is normal due to ad blockers, users with JavaScript disabled, and attribution window differences. A variance above 20% indicates a tracking problem that needs investigation.

Verifying Your Conversions Actually Work Common GA4 Conversion Tracking Mistakes

Common GA4 Conversion Tracking Mistakes

Having set up conversion tracking on dozens of mid-market websites, these are the patterns that cause the most trouble.

Tracking too many key events. If you mark 15 events as key events, your conversion reporting becomes noisy and useless. Your Ads integrations get polluted with low-value signals. Keep the key event list tight: three to five primary business outcomes at most.

Using page_view as a proxy when you shouldn’t. Tracking a thank-you page view works well for simple forms with redirects. But if your form uses an AJAX submission and displays a success message on the same URL, a page_view event never fires. You need a dataLayer push or a visibility trigger in GTM instead.

Forgetting that GA4 counts one key event per session by default, or per event. In GA4, you can configure each key event to count once per session or every time the event fires. For lead generation, “once per session” is almost always correct. For e-commerce purchases, “every time” makes sense because a user might buy twice in one session. Check this setting under Admin > Key Events by clicking on each event’s counting method.

Not accounting for consent management. If your site uses a cookie consent banner (and it should if you have European visitors), users who decline analytics cookies won’t be tracked at all. This means your GA4 conversion data will structurally undercount. This isn’t a bug; it’s a legal requirement. Factor this into your reporting by understanding what percentage of your visitors consent and adjusting your expectations accordingly.

Neglecting event parameter planning. An event called form_submit with no parameters tells you something happened. An event with parameters for form_name, page_path, and traffic_source tells you what happened, where, and why. Spend time upfront defining which parameters each conversion event should carry. Register custom dimensions in GA4 (Admin > Custom Definitions) for any parameter you want to use in reporting.

Connecting GA4 Conversions to Google Ads

If you’re running paid campaigns, your GA4 key events can be imported directly into Google Ads as conversion actions. This is how you tell Google’s bidding algorithms what a successful outcome looks like for your business.

In Google Ads, go to Goals > Conversions > Import and select “Google Analytics 4 properties.” You’ll see your key events listed. Select the ones relevant to your campaigns. Be selective here: if you import a low-value secondary event alongside your primary conversion, Google’s Smart Bidding will optimise for the easier, lower-value action because it gives the algorithm more signal volume.

For B2B companies with long sales cycles, consider setting up offline conversion imports as well. This lets you feed CRM data (like “opportunity created” or “deal closed”) back into Google Ads matched against the original click. It’s more complex to set up but gives your bidding algorithms information about which clicks actually generate revenue, not just which ones fill in a form.

Monitoring Conversion Health Over Time

Conversion tracking isn’t a set-and-forget exercise. Websites change. Forms get redesigned, URLs shift, tag managers get edited by multiple people, and CMS updates can break dataLayer implementations silently.

Build a simple monthly check that takes ten minutes: open GA4, look at your key events over the last 30 days compared to the previous 30 days. If any conversion count drops to zero or spikes dramatically without a known cause (like a campaign launch), investigate immediately. The most dangerous scenario isn’t a tracking failure you notice. It’s a subtle degradation where conversions are still counting but are no longer accurate, leading your team to make confident decisions on unreliable data.

Set up custom alerts in GA4’s Insights section to notify you when a key event’s daily count drops below a threshold or changes by more than a set percentage. This gives you an early warning system that catches problems within days rather than weeks.

What To Do Next

Start with your measurement plan: write down the three to five actions on your website that genuinely represent business value. Name them using a consistent, lowercase convention with underscores. Implement the simplest reliable method for each, whether that’s a GA4 modified event, a GTM tag with a page view trigger, or a dataLayer-driven setup for AJAX forms. Mark them as key events, verify them with DebugView and real-time reports, cross-reference against your CRM or lead management system for the first month, and then build a lightweight monthly review habit. Conversion tracking done well gives your team a shared, trustworthy view of what’s working. Done poorly, it gives you false confidence. The difference is almost entirely in the upfront planning and verification, not in the technical complexity of the tools.

Related