How to Set Up GA4 Conversions in Google Tag Manager
Luke Anderson GTM

How to Set Up GA4 Conversions in Google Tag Manager

GA4 does not use goals; it uses conversions. To set one up in Google Tag Manager, you create a GA4 Configuration tag, define a custom event like form_submit or button_click, and configure a trigger that fires on that specific interaction. Then, you mark that event as a key event in the GA4 admin panel, not in GTM.

The confusion stems from legacy GA3 documentation that still references “goals,” causing many to look for a non-existent setting in GTM. You will not find a “Goal” toggle in your GTM interface. The difficulty lies in distinguishing between the tag firing in GTM and the event being designated as a conversion in GA4. We break down the exact trigger configurations for button clicks and form submissions, and show you how to verify the setup using DebugView to ensure the data lands correctly.

Understanding GA4 Conversions vs. Legacy Goals

GA4 does not use Goals; it uses Conversions. If you are looking for a “Goals” menu in your Google Analytics interface, you will not find one because the platform replaced that terminology entirely. This distinction matters because it changes how you configure tracking in Google Tag Manager. You cannot simply copy-paste your old Universal Analytics setup and expect it to work. The underlying logic has shifted from counting pageviews or time-on-page to monitoring specific user events.

When you set up a GA4 Configuration Tag in Google Tag Manager, you are establishing the foundation for this new event-based model. This tag sends the measurement ID and initial client details to Google’s servers. Every subsequent interaction that you want to measure must be defined as an event. Once an event is fired, you can designate it as a Conversion in the GA4 admin panel. This is the modern equivalent of marking a goal as primary in the old system.

Many marketers still search for “GA4 goals” because the old habit is strong. However, the functionality is identical in purpose, just different in name and implementation. You cannot import legacy GA3 goals directly into GA4. Instead, you must map your old goal definitions to new GA4 events. For example, a legacy goal that tracked a “Thank You” page view becomes a “purchase” or “lead” event in GA4. Your Google Tag Manager triggers must now listen for these specific event names rather than URL patterns or time thresholds.

Understanding this bridge is critical. If you continue to think in terms of “goals,” you will build fragile triggers that break when site structure changes. By adopting the “Conversions” mindset, you align your tracking with user behaviour rather than page structure. This makes your data more resilient and accurate. The GA4 Configuration Tag handles the identity, while your custom event tags handle the action. Together, they create a reliable pipeline for measuring what actually matters to your business.

Creating the GA4 Event Tag in GTM

A GA4 Event tag in Google Tag Manager requires two specific fields: the Event Name and any associated Event Parameters. To create one, navigate to Tags in your GTM workspace and click New. Select Tag Configuration, then choose Google Analytics: GA4 Event. This tag type is distinct from the legacy GA4 Configuration tag, which only handles the initial page load. Your goal here is to fire a specific action, such as a form submission or a purchase.

In the Event Name field, enter the exact string you defined in your GA4 property. If you named your conversion purchase, type purchase here. Typos in this field are the most common cause of missing data. GA4 is case-sensitive, so Purchase will not match purchase. Keep this value lowercase and consistent with your data layer schema.

Next, address the Event Parameters. This is where you attach value to your conversion. If you are tracking e-commerce revenue, you need to pass the transaction value and currency code. Click Add Variable. Select Variable Name and type value. In the Variable Value field, link to your Data Layer Variable. Ensure you are pointing to the correct path, such as purchase.value. Repeat this process for the currency. Set the Variable Name to currency and link it to purchase.currency.

Do not hardcode these values. Hardcoding a static number like 100 means every user appears to have made a $100 purchase, regardless of their actual cart total. Your Data Layer must push the dynamic values. If your developer has not implemented the Data Layer correctly, the tag will fire, but the revenue report in GA4 will remain empty or inaccurate.

Finally, assign a Trigger. For standard conversions, use a Custom Event trigger. Set the Custom Event Name to match the event your site fires, such as conversion. Save the tag. This tag now waits for that specific event to fire before sending the data to your GA4 property. The Event Name tells GA4 what happened, while the Event Parameters tell it how much it was worth.

Configuring the Trigger

The trigger defines exactly when your GA4 event tag fires. Without a precise trigger, the tag either never fires or fires on every page view, corrupting your conversion data. You configure this inside the tag editor by clicking the Triggering section and selecting Add new trigger.

For button clicks, create a Click Trigger. Set Trigger On to Just Clicks. Under Click Conditions, choose Click Element ID or Click Classes and enter the specific identifier for your conversion button. This method is reliable because element IDs remain stable across site updates, whereas CSS classes can change during design revisions. If you need to track multiple buttons, add multiple conditions or use a regex pattern for the Click Text condition, though text-based triggers are fragile if copy changes.

For form submissions, use a Form Submission Trigger. This trigger listens for the native submit event on HTML forms. Set Trigger On to All Form Submissions or Some Form Submissions. If you select Some, define conditions using Form ID or Form Class. This approach captures the action immediately after the user clicks the submit button, before any server-side processing occurs. It is critical for tracking lead generation accurately, as it records the intent at the moment of action rather than waiting for a thank-you page load, which may fail if the user navigates away prematurely.

If your site uses JavaScript frameworks or custom event listeners, neither of the above triggers will work. In that case, create a Custom Event Trigger. Set Trigger On to Custom Event and enter the exact event name your developer pushes to the data layer. For example, if your code pushes dataLayer.push({event: 'purchase_complete'}), your trigger condition must match purchase_complete exactly. Case sensitivity matters here. A mismatch between the data layer event name and the trigger condition is the most common reason for missing conversions in complex web applications.

Marking the Event as a Conversion in GA4

Marking an event as a conversion in Google Analytics 4 is done through the Admin panel, where you designate specific event names as key events to ensure they appear in your primary reports.

Log in to your Google Analytics 4 property and select the correct data stream. Navigate to Admin in the lower-left corner, then choose Events from the Property column. If the event you created in Google Tag Manager does not appear here, it has not fired correctly. Verify that the Variables you configured in your GTM tag match the exact event name listed in this table. A single character difference will prevent GA4 from recognising the hit.

Once the event is visible, look for the Mark as key event toggle in the right-hand column. Switch this to the On position. This action promotes the event from a standard interaction to a conversion. It does not change how the data is collected; it only changes how GA4 presents it in your dashboard.

  • Click Save to apply the change.
  • Wait for the confirmation message at the top of the screen.
  • Return to the Reports section and open the Acquisition or Engagement tabs.

The event will now appear in the Conversions column of your tables. Check the DebugView in the GA4 interface to confirm that new conversions are registering correctly after a user interaction on your site.

If you see the event name in the Events list but the toggle remains greyed out, ensure you have the Administrator or Editor role for that specific property. Viewers cannot modify event settings. Once enabled, this conversion will be included in your default report views without requiring further configuration in Google Tag Manager.

Verifying the Setup with Preview Mode

Verification in GTM Preview Mode and GA4 DebugView confirms your tag fires and the event reaches your property before you click publish. You need both tools because they check different halves of the pipeline. Preview Mode validates the client-side trigger logic. DebugView validates the server-side receipt.

Start with GTM. Navigate to your container and click the Preview button in the top right corner. This opens a new browser tab with the GTM debugger interface. Enter your website URL and click Connect. The preview session loads your site with the unsaved tags active. You will see a red bar at the bottom of the browser window indicating the connection is live.

Perform the action that should fire your conversion event. For a purchase, complete a test checkout. For a form submission, fill in and submit the test form. Watch the red bar. It should flash and display a message confirming that your specific GA4 Event Tag fired. If the bar remains silent or shows an error, your trigger conditions are not matching the page state. Check your trigger configuration for typos in element IDs or URL parameters.

Now switch to GA4. Open your Google Analytics 4 property and navigate to Admin > DebugView. This tool shows real-time user interactions. It takes a few seconds for data to appear. Look for a new session entry. Click on the session ID to expand the event stream. You should see your custom event name listed in the timeline. Verify the event parameters match what you defined in the tag. If the event appears in Preview Mode but not in DebugView, the issue is likely a network block, an incorrect Measurement ID, or a server-side delay.

  • If Preview Mode shows no fire: Check trigger logic.
  • If Preview Mode fires but DebugView is empty: Check Measurement ID and network.
  • If both show the event: Your setup is correct.

Only when both tools confirm the event should you return to GTM and click Submit to publish the changes. This two-step verification prevents broken conversion tracking from going live, which would corrupt your historical data and make future analysis unreliable. Take the extra minute to check both interfaces.

Frequently asked questions

Does Google Tag Manager still have goals?

Google Tag Manager does not have a “goals” feature. The platform uses tags, triggers, and variables to send data to destinations like GA4. Goals are a concept specific to Universal Analytics, which is retired. In GTM, you configure tags to fire events, and then you define which of those events count as conversions within your analytics property itself.

How to track button clicks as conversions in GTM?

Create a Click trigger in Google Tag Manager set to “Just Links” or “All Elements” depending on your implementation. Configure the tag to fire a GA4 event when that trigger matches. Finally, mark that specific event name as a key event in your GA4 admin settings. The conversion logic lives in GA4, not in the GTM trigger configuration.

Difference between GA4 goals and conversions?

GA4 does not use the term “goals”; it uses “key events” to denote conversions. Legacy GA3 goals were defined by URL or duration. GA4 key events are based on user actions or system-generated events. When searching for “goals” in GA4, you will find no option. Instead, navigate to Admin, then Key Events, to mark specific events as conversions for reporting.

GTM trigger for form submission GA4?

Use a Form Submission trigger in Google Tag Manager. Set the trigger to fire when a form with a specific ID or class is submitted. Connect this trigger to your GA4 event tag. Ensure the event name in the tag matches the name you mark as a key event in GA4. This setup captures the submission action without requiring JavaScript changes on the page.

How to verify GA4 conversion in GTM preview?

Open Google Tag Manager Preview mode and load your website. Interact with the element that should trigger the conversion. Check the Preview window to confirm the GA4 event tag fired with the correct parameters. Remember that Preview mode confirms the tag sent the data; it does not confirm GA4 processed it as a conversion. Verify the final status in GA4 DebugView or Realtime reports.

Can I use old GA3 goals in GA4?

No, you cannot import GA3 goals directly into GA4. The data models are fundamentally different. GA3 goals tracked pageviews and durations, while GA4 tracks events and user journeys. You must recreate your conversion logic by identifying the specific user actions that previously constituted a goal and setting up corresponding GA4 events and key events. Historical data from GA3 does not transfer.

What to do next

Your next step is to check the GA4 DebugView. Open your analytics property, navigate to Admin, then Product Links, and select DebugView. Trigger the conversion event on your live site while watching this panel. If the event appears with the correct parameters, your setup is working. If it does not, return to GTM Preview Mode and inspect the trigger conditions. Most failures stem from a mismatch between the event name in your tag and the actual DOM event fired by your site. Fix that discrepancy, publish the container, and re-test. Once you see the event stream in DebugView, you can confidently mark it as a conversion in the GA4 interface. This verification loop ensures you are not guessing. It confirms that the technical implementation matches your business intent. Do not skip this step. A silent failure in tracking is worse than no tracking at all, because it creates false confidence in your data. Spend twenty minutes validating the pipeline now to save hours of troubleshooting later when you need reliable performance data.

Discussion

Be the first to comment

Leave a comment

Get a quote