UTM Parameters in GA4 vs Universal Analytics

If you're coming from Universal Analytics (UA), GA4's approach to UTM tracking feels unfamiliar. Here's what changed:

Key Differences

Aspect Universal Analytics Google Analytics 4
Primary Report Location Acquisition β†’ Campaigns β†’ All Campaigns Reports β†’ Acquisition β†’ Traffic Acquisition
Session Attribution Last non-direct click Customizable (default: last click)
UTM Parameter Names Same 5 parameters Same 5 parameters (no change)
Dimension Names "Source", "Medium", "Campaign" "Session source", "Session medium", "Session campaign"
Real-Time Tracking Real-Time β†’ Traffic Sources Reports β†’ Realtime (with more detail)
Custom Reports Customization β†’ Custom Reports Explore β†’ Create custom exploration
Data Processing Time 24-48 hours for full processing 24-48 hours (no change)

What Stayed the Same

Good news: The actual UTM parameters haven't changed. You still use:

Your existing UTM-tagged links work perfectly in GA4. You don't need to recreate them.

⚠️ Important Migration Note

GA4 doesn't import historical data from Universal Analytics. Your UTM campaign data from before July 1, 2023 (when UA stopped processing) remains in your old UA property. GA4 only shows data from the date you installed the GA4 tracking code.

Where to Find UTM Data in GA4

The biggest frustration for marketers migrating to GA4 is finding their UTM data. Here's where everything lives:

1. Traffic Acquisition Report (Primary Location)

Path: Reports β†’ Acquisition β†’ Traffic Acquisition

This is the main report for viewing UTM campaign data in GA4. By default, it shows "Session source/medium", which combines your utm_source and utm_medium values.

[Screenshot 1: GA4 Traffic Acquisition Report showing google/cpc, facebook/cpc, newsletter/email]

What you'll see:

How to view specific UTM parameters:

  1. In the Traffic Acquisition report, click the pencil icon next to "Session source/medium"
  2. Choose different dimensions:
    • Session source: Shows only utm_source values
    • Session medium: Shows only utm_medium values
    • Session campaign: Shows utm_campaign values
[Screenshot 2: Clicking the dimension picker to change from "Session source/medium" to "Session campaign"]

2. User Acquisition Report (First Touch Attribution)

Path: Reports β†’ Acquisition β†’ User Acquisition

This report shows where users first came from, not where they came from in their most recent session.

When to use this report:

Difference from Traffic Acquisition:

πŸ“Š Example Scenario

January 1: User clicks your Facebook ad β†’ User Acquisition records facebook/cpc

January 15: Same user clicks a Google search result β†’ Traffic Acquisition records google/organic for this session

Both reports are correctβ€”they're measuring different attribution models.

3. Campaigns Report

Path: Reports β†’ Acquisition β†’ Campaigns

This report focuses specifically on utm_campaign values, making it perfect for comparing performance across different marketing initiatives.

[Screenshot 3: GA4 Campaigns report showing campaign names like "spring_sale_2024", "product_launch_q1", etc.]

What you can see:

Pro tip: Click "+ Add comparisons" to compare two campaigns side-by-side (e.g., this quarter vs. last quarter).

4. Realtime Report (Testing UTM Links)

Path: Reports β†’ Realtime

The Realtime report shows activity in the last 30 minutes, making it perfect for testing new UTM links before launching a campaign.

[Screenshot 4: GA4 Realtime report showing active users and their traffic sources]

How to test UTM links:

  1. Open the Realtime report in GA4
  2. In a different browser (or incognito window), click your UTM-tagged link
  3. Within seconds, you should see the session appear with your UTM parameters
  4. Scroll down to "Traffic sources" to verify utm_source, utm_medium, and utm_campaign were captured correctly

⚠️ Testing warning: Don't test UTM links from your primary work browserβ€”this can overwrite your original traffic source and skew your data.

Setting Up Custom Reports in GA4

GA4's standard reports are useful, but custom explorations unlock the full power of UTM tracking. Here's how to build reports tailored to your needs.

Creating Your First UTM Campaign Report

Step 1: Open the Explore section

  1. In GA4, navigate to Explore (left sidebar)
  2. Click "+ Create a new exploration"
  3. Choose the "Free form" template
[Screenshot 5: GA4 Explore templates selection screen]

Step 2: Add Dimensions

In the "Dimensions" panel, click the + button and search for:

[Screenshot 6: Adding dimensions in GA4 Explore]

Step 3: Add Metrics

In the "Metrics" panel, click the + button and add:

Step 4: Build Your Table

  1. Drag "Session campaign name" from Dimensions to the ROWS section
  2. Drag "Sessions", "Conversions", and "Total revenue" to the VALUES section
  3. Your custom campaign performance table appears instantly
[Screenshot 7: Completed custom UTM campaign report in GA4 Explore]

Step 5: Add Filters (Optional)

To focus on specific campaigns:

  1. In the "FILTERS" section, click +
  2. Select "Session medium"
  3. Choose "exactly matches" β†’ cpc
  4. Now you're only seeing paid advertising campaigns

Pre-Built Custom Report Templates

Template 1: Campaign ROI Dashboard

Purpose: Calculate return on ad spend for paid campaigns

Dimensions:

Metrics:

Filters:

Template 2: Email Campaign Performance

Purpose: Track newsletter and promotional email effectiveness

Dimensions:

Metrics:

Filters:

Template 3: Multi-Channel Attribution

Purpose: Compare performance across all traffic sources

Dimensions:

Metrics:

Breakdown:

Advanced Campaign Reporting in GA4

Using Segments to Isolate Campaign Traffic

Segments let you analyze subsets of your data. For example, "users who came from paid campaigns AND made a purchase."

How to create a campaign segment:

  1. In any Explore report, click "+ Segment" in the Segments section
  2. Choose "User segment"
  3. Click "+ Add condition"
  4. Select "Session medium" β†’ "exactly matches" β†’ cpc
  5. Name your segment (e.g., "Paid Advertising Users")
  6. Click Save
[Screenshot 8: Creating a campaign segment in GA4]

Powerful segment combinations:

Attribution Modeling for UTM Campaigns

GA4's attribution models help you understand which campaigns deserve credit for conversions.

Path: Advertising β†’ Attribution β†’ Model comparison

Available models:

[Screenshot 9: GA4 Attribution model comparison showing different models side-by-side]

Why this matters for UTM tracking:

If you only look at last-click attribution, you might undervalue awareness campaigns (like social media) that introduce users to your brand, even though they return via Google search to convert later.

Real-Time UTM Testing in GA4

The 5-Minute UTM Testing Workflow

Before launching any campaign, test your UTM links to ensure data will flow correctly into GA4.

Step 1: Create your UTM link

Use our free UTM generator to build your tracking URL.

Example:

https://example.com/landing?utm_source=facebook&utm_medium=cpc&utm_campaign=test_january_2024

Step 2: Open GA4 Realtime report

  1. Log into your GA4 property
  2. Navigate to Reports β†’ Realtime
  3. Leave this tab open

Step 3: Click your UTM link

  1. Open a new incognito/private window (important!)
  2. Paste your UTM-tagged URL
  3. Press Enter and visit the page
  4. Stay on the page for at least 10 seconds

Step 4: Verify in Realtime

  1. Switch back to your GA4 Realtime report
  2. Within 5-10 seconds, you should see:
    • Active users count increase by 1
    • Your session appear in the "By first user source" or "Event count by Event name" cards
  3. Scroll to "Traffic sources" section
  4. Verify your utm_source, utm_medium, and utm_campaign appear correctly
[Screenshot 10: GA4 Realtime report showing test UTM session appearing]

βœ… What success looks like:

❌ Troubleshooting if data doesn't appear:

Migration from Universal Analytics to GA4

What Happens to Your Historical UTM Data

The most common question we receive: "Where did all my old campaign data go?"

The reality:

πŸ“₯ Export Your Historical Data Before It's Gone

Universal Analytics properties will lose access to historical data in July 2024. Export your top campaign reports NOW:

  1. Log into Universal Analytics
  2. Go to Acquisition β†’ Campaigns β†’ All Campaigns
  3. Set date range to "All time" or your desired period
  4. Click Export β†’ Google Sheets

Ensuring Continuity During Migration

Best practice: Run both GA4 and UA in parallel

If you haven't fully migrated yet:

  1. Keep your Universal Analytics tracking code active
  2. Install GA4 tracking code alongside it (both can run simultaneously)
  3. Run both for at least 3-6 months to build GA4 historical data
  4. Compare reports side-by-side to understand differences
  5. Once confident, fully transition to GA4

Mapping UA Reports to GA4 Reports

Universal Analytics Report GA4 Equivalent
Acquisition β†’ All Traffic β†’ Source/Medium Reports β†’ Acquisition β†’ Traffic Acquisition
Acquisition β†’ Campaigns β†’ All Campaigns Reports β†’ Acquisition β†’ Campaigns
Real-Time β†’ Traffic Sources Reports β†’ Realtime
Customization β†’ Custom Reports Explore β†’ Create new exploration
Admin β†’ View Settings β†’ Bot Filtering Admin β†’ Data Settings β†’ Data Filters

7 GA4-Specific UTM Tracking Tips

1. Use the DebugView for Detailed Testing

GA4's DebugView shows granular event-level data in real-time, perfect for troubleshooting UTM tracking.

How to enable:

  1. Install the Google Analytics Debugger Chrome extension
  2. Enable the extension
  3. In GA4, go to Admin β†’ DebugView
  4. Click your UTM linkβ€”you'll see every parameter captured in real-time
[Screenshot 11: GA4 DebugView showing UTM parameters on session_start event]

2. Create Conversion Events for Campaign Goals

In UA, you had Goals. In GA4, you mark events as "conversions."

To track campaign-driven conversions:

  1. Go to Admin β†’ Events
  2. Find events like purchase, sign_up, or form_submit
  3. Toggle "Mark as conversion"
  4. Now these appear as "Conversions" in your campaign reports

3. Set Up Campaign-Specific Audiences

Create audiences of users who came from specific UTM campaigns for remarketing.

Example audience: "Spring Sale 2024 Visitors"

  1. Go to Admin β†’ Audiences β†’ New Audience
  2. Add condition: Session campaign name = spring_sale_2024
  3. Set membership duration (e.g., 30 days)
  4. Link to Google Ads for remarketing

4. Use Custom Channel Groupings

GA4 automatically groups traffic into channels (Paid Search, Organic Social, etc.), but you can customize these.

To create custom channel groups:

  1. Go to Admin β†’ Data display β†’ Channel groups
  2. Click "Create new channel group"
  3. Define rules based on UTM parameters

Example custom channel: "Affiliate Marketing"

5. Exclude Internal Traffic

Don't let your team's testing clicks pollute campaign data.

How to filter out internal traffic:

  1. Go to Admin β†’ Data Streams β†’ [Your stream] β†’ Configure tag settings
  2. Click "Show more" β†’ "Define internal traffic"
  3. Add your company's IP addresses
  4. Create a Data Filter to exclude this traffic

6. Monitor Campaign Performance with Alerts

Set up custom alerts to notify you when campaigns underperform or overperform.

Example alert: "Campaign sessions drop below 100/day"

  1. Go to Admin β†’ Custom Insights
  2. Create condition: Sessions < 100 AND Campaign name = your_campaign
  3. Set to email you daily if triggered

7. Export Campaign Data Regularly

Unlike UA, GA4 has data retention limits (2 or 14 months depending on your settings).

Prevent data loss:

Conclusion: Mastering UTM Tracking in GA4

GA4's approach to UTM tracking is different from Universal Analytics, but it's more powerful once you understand where everything lives:

The transition from UA to GA4 requires learning new navigation, but your UTM parameters work exactly the same. Focus on building clean data from day one with consistent naming conventions, and GA4 will reward you with deeper insights into campaign performance.

πŸš€ Start Tracking Campaigns in GA4

Create perfectly formatted UTM links that work seamlessly with Google Analytics 4.

Open Free UTM Generator β†’

Real-time validation β€’ QR codes β€’ URL shortening β€’ No signup required

Related Resources