How to Migrate Events from UA to Google Analytics 4

Cody Schneider8 min read

Migrating events from Universal Analytics to Google Analytics 4 feels like moving to a new house - you need to figure out what's essential, what to leave behind, and where everything should go. It's not a direct copy-and-paste job, but a chance to build a cleaner, more powerful measurement plan. This guide provides a step-by-step walkthrough to successfully move your event tracking from UA to GA4.

Understanding the Big Shift: Why UA and GA4 Events Are Different

Before you can migrate anything, it's critical to understand the fundamental difference in how UA and GA4 approach event tracking. This mental shift is the key to a smooth transition.

The Universal Analytics (UA) Event Model

In Universal Analytics, event tracking has a rigid, hierarchical structure based on four components:

  • Event Category (Required): The high-level group for your event (e.g., "PDF," "Videos").
  • Event Action (Required): The specific action the user took (e.g., "Download," "Play").
  • Event Label (Optional): Additional details about the event (e.g., "Q4-2023-sales-report.pdf," "Product Demo Video").
  • Event Value (Optional): A numerical value assigned to the event (e.g., 10, 50).

For example, tracking a click on a "Request Demo" button in your website's header might look like this in UA:

  • Event Category: "CTA Clicks"
  • Event Action: "Request Demo"
  • Event Label: "Header"

This structure is predictable but can be limiting. You have only three dimensions to work with, forcing you to cram descriptive details into the Event Label field.

The Google Analytics 4 Event Model

GA4 throws out the rigid hierarchy in favor of a flexible and powerful model. Every user interaction is simply an "event." An event consists of:

  • Event Name (Required): A custom name you give the event (e.g., request_demo_click). It should describe the action itself.
  • Parameters (Optional): Additional key-value pairs that provide context about the event. You can add up to 25 custom parameters to a single event.

Using the same "Request Demo" button example, the GA4 equivalent would be:

  • Event Name: request_demo_click
  • Parameters:

This model is far more descriptive. Instead of being locked into "Category, Action, Label," you can create relevant, self-explanatory parameters that tell the real story behind the event.

Your Migration Strategy: Map, Don't Just Move

Resist the urge to simply replicate every old UA event in GA4. The transition is a golden opportunity to audit your existing tracking, discard what's no longer valuable, and adopt GA4’s smarter approach. A thoughtful mapping process is your roadmap to success.

Step 1: Audit Your Current UA Events

Before moving, you need to clean out the closet. Many businesses accumulate years of outdated, redundant, or irrelevant events. Think of this as event tracking spring cleaning.

  1. Navigate to your Universal Analytics property.
  2. Go to Behavior > Events > Top Events.
  3. Review all Event Categories, Actions, and Labels. Ask yourself these questions for each one:

Focus on events that are directly tied to an important user action or key performance indicator (KPI), like form submissions, demo requests, sign-ups, or e-commerce actions. Discard the ones that aren't contributing to decision-making.

Step 2: Map Your Key UA Events to the GA4 Model

Once you have a lean list of events to keep, it's time to translate them into the GA4 format. A simple spreadsheet is the best tool for this job.

Create a sheet with the following columns:

  • UA Event Category
  • UA Event Action
  • UA Event Label
  • What It Tracks (Plain English)
  • New GA4 Event Name
  • GA4 Parameters

Example Mapping Document:

Note on naming conventions: In GA4, event and parameter names should be in snake_case (all lowercase with underscores instead of spaces).

Step 3: Check for GA4’s Built-in Events First

One of the best parts about GA4 is that a lot of what required custom tracking in UA is now handled automatically. Before creating a custom event from scratch, check if GA4 already has you covered.

  • Automatically Collected Events: These events are collected by default with the base GA4 setup. They include session_start, first_visit, and user_engagement.
  • Enhanced Measurement Events: You can enable these with a simple toggle in your GA4 Admin settings (Data Streams > Web > Enhanced measurement). This captures events like:
  • Recommended Events: Google provides a list of suggested event names with predefined parameters for common business types (e.g., e-commerce, travel, real estate). For example, instead of naming a form submission event contact_form_complete, use Google's recommendation of generate_lead. Using these standard names helps GA4 better understand your data and may unlock future reporting features.

Review the list of enhanced measurement and recommended events first. You might find that several of your old UA events no longer need custom setup, simplifying your migration significantly.

How-To: Implementing Your New GA4 Events via Google Tag Manager (GTM)

Google Tag Manager is the most efficient and scalable way to deploy your new GA4 event tags. Assuming you already have GTM installed on your site, here's how to set up a new event.

Part 1: The GA4 Configuration Tag

Every GA4 tag in GTM needs to be linked to a base 'configuration tag'. This tag initializes Google Analytics on your page and sends pageviews. If you haven't already, ensure this is set up.

  1. In GTM, go to Tags > New.
  2. Name your tag something clear, like "GA4 - Configuration".
  3. Click Tag Configuration and select Google Tag.
  4. Enter your GA4 Measurement ID (which starts with G-...). You can find this in your GA4 admin panel under Data Streams.
  5. Under Triggering, select the Initialization - All Pages trigger.
  6. Save the tag.

Your base tag is now ready to send data on every page load.

Part 2: Create a GA4 Event Tag

Now, let's use the event map you created to build a new GA4 event tag. For this example, we'll create the generate_lead event for the "Contact Us" form submission.

Step 1: Create the Event Tag

  1. In GTM, go to Tags > New.
  2. Name the tag logically, like "GA4 Event - Generate Lead - Contact Form".
  3. Click Tag Configuration and select Google Analytics: GA4 Event.
  4. From the Measurement ID dropdown, select your GA4 Configuration Tag.
  5. In the Event Name field, enter the name you defined in your mapping spreadsheet: generate_lead.

Step 2: Add Event Parameters

This is where you add the rich context. You want to capture the specific name of the form that was submitted.

  1. Under Event Parameters, click Add parameter.
  2. In the Parameter Name field, type form_name.
  3. In the Value field, type the specific value you want to pass, such as "contact_us". You can hardcode this value or, for more advanced tracking across multiple forms, use a GTM variable like one that captures the form's ID (e.g., {{Form ID}}).

Step 3: Set Up the Trigger

The trigger tells GTM when to fire this tag. You need to create a trigger that fires only when the contact form is successfully submitted.

  1. Click on the Triggering section.
  2. Click the + icon to create a new trigger.
  3. Name it "Trigger - Form Submission - Contact Us".
  4. Choose the Form Submission trigger type.
  5. Select "Some Forms".
  6. Set the firing conditions. This depends on how your website is built. A common condition is to fire the trigger when the Form ID equals the unique ID of your contact form (e.g., "contact-form").
  7. Save the trigger, then save your event tag.

Verify and Debug: Don't Fly Blind

Never publish your GTM container without testing. Use GTM's Preview mode to ensure your tags and triggers are working as expected.

  1. In the top right of your GTM workspace, click Preview.
  2. Enter your website URL and connect.
  3. In the new browser tab with your website, perform the action that should fire your event (e.g., submit the contact form).
  4. Go back to the GTM Preview mode tab (the Tag Assistant).
  5. On the left-hand menu, you should see the event that fired (e.g., "Form Submit"). Click on it.
  6. You should see your new GA4 event tag listed under "Tags Fired".
  7. Click on your GA4 event tag to see the details, confirming that the correct event name and parameters were sent.

You can also use the DebugView in the GA4 admin panel to see real-time event data streaming in from your browser session, giving you a final confirmation that everything is working perfectly.

Repeat this process for your other high-priority custom events, publish your GTM container, and you'll be on your way to a more powerful and insightful analytics setup.

Final Thoughts

Migrating events from Universal Analytics to GA4 is less about technical replication and more about strategic rethinking. It's a chance to build a measurement plan that aligns with today's flexible event-based model, setting you up for better-quality insights for years to come.

Once your rich, contextual event data is flowing into GA4, the final step is translating that raw data into clear answers about business performance. At Graphed, we simplify this process by connecting directly to your marketing and sales data sources, including Google Analytics. Using simple, plain English, you can ask for the insight you need - like "show me a breakdown of leads generated by form name this quarter" - and Graphed will instantly build the dashboard for you, saving countless hours spent trying to build reports from scratch.

Related Articles

How to Connect Facebook to Google Data Studio: The Complete Guide for 2026

Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.

Appsflyer vs Mixpanel​: Complete 2026 Comparison Guide

The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.