google analytics utm parameters

UTM Parameters in Google Analytics (GA4)

Updated: 11/11/23 UTM parameters are simply little bits of tracking information appended to the end of a URL in a link. They communicate with Google Analytics and can provide a great deal of helpful information for digital marketers that use them properly. Whether you’re entirely new to Google Analytics UTM parameters or used UTMs with the prior version of Google Analytics, this guide has you covered.

Let’s start at the top.

What are UTM Parameters?

UTM parameters are additional pieces of tracking information appended to the end of a URL that can give Google Analytics detailed information about the specific way that the visitor arrived on the site. UTM parameters are used to track different marketing “campaigns,” like a specific email newsletter or a particular seasonal marketing effort, or even an A / B test on a paid ad.

A click on a link with UTM parameters that then lands on a website, will be cataloged as “campaign” traffic in that website’s Google Analytics property. From here, digital marketers can analyze all of their campaign tagged traffic in one place. There are different utm parameters available in Google Analytics and each can be used to organize your traffic in various ways.

In the URL below everything in the red box (beginning with the “?” mark) are the appended UTMs.

email with utm parameters

What Does UTM Stand For?

UTM stands for “urchin tracking module.” The predecessor to Google Analytics was a company called Urchin Analytics. Google bought it and then re-released it as Google Analytics. The Urchin platform tracked campaign traffic using these “urchin tracking modules” or “UTMs”. The name stuck even after Urchin Analytics became Google Analytics.

urchin the predecessor to google analytics

What Are UTM Parameters Used For?

UTM parameters can be used to get a deeper level of insight into traffic coming to your site. They are particularly useful in measuring organic (unpaid) traffic sources that Google Analytics wouldn’t otherwise know about and for getting more granular detail about paid advertising campaigns.

We’ll take a look at how we can use UTM parameters to properly identity website traffic originating from email. but first let’s look at how Google Analytics identifies most traffic sources automatically.

How Does Google Analytics Know Where Website Traffic Comes From?

Google Analytics categorizes most traffic automatically. For example, all organic traffic from search engines is automatically categorized based on a traffic “source” and a traffic “medium.” The source is the specific place that the traffic is coming from. The medium is the type of traffic. In the example below about organic search traffic, “google” and “bing” are examples of traffic sources while “organic” is the medium. Google Analytics can categorize most traffic like this automatically.

utm parameters in google analytics example

However, it cannot measure all traffic on its own. In those situations Google Analytics needs us to give it some help. One type of traffic that Google Analytics can’t automatically identify is email traffic. Let’s look at an example of some email traffic that we might want to track and where we can find that data in our GA4 property.

How to Use UTM Parameters to Track Traffic from Email Signature

I added a link to the signature in emails that I send from Gmail. The signature is saved as an image and any clicks on it will go to the homepage here at Root and Branch. You can see this in the red box below.

email signature with utms

If you got an email like this from me and decided to click the link, you’d see this full URL resolve once you made it to rootandbranchgroup.com. See all that stuff in the red box below? Those are the UTM parameters that I’ve added to the end of the link in my email signature. These parameters tell Google Analytics that this traffic originated from Gmail (utm_source=gmail), and is email “type” traffic (utm_medium=email), and comes specifically from my email signature (utm_campaign=signature).

email with utm parameters

When using UTM parameters to manually tag your traffic, you should always use at least utm_source and utm_medium. If you do this, your traffic will be properly categorized at the session source / medium level. The other parameters are optional. However, utm_campaign is almost always used as well (at least that one) to further catalog the traffic.

Personally, I always use these 3 parameters and sometimes also use utm_content, depending on the situation.

How To Track UTM Parameters in Google Analytics 4

Using UTM parameters in Google Analytics 4 is similar to using UTM parameters in Universal Analytics. You append the UTMs as URL parameters after the “?” in your URL. You should always use utm_source, utm_medium, and (most likely) utm_campaign when you are setting up your URLs.

Below are 7 UTM parameters available for use in GA4. The first three are what I’d recommend you always use. For each parameter, you can see how it aligns with the corresponding dimension name in GA4.

how to track utm parameters in google analytics 4

If you decide to use other UTM parameters for your GA4 tracking, make sure you are using them properly.

GA4 UTM Parameter Examples

If UTMs are new to you, it’s worth spending a little more time here.

  • utm_source = the specific source sending the traffic like google or bing. For a company that sends a monthly email newsletter and also a weekly sale email, they might use utm_source=monthly_newsletter in the first of those and utm_source=weekly_promo in the latter.
  • utm_medium = the type of traffic. For the company above, utm_medium=email would be used for both links in the monthly newsletter and the weekly sale email. This allows all email traffic to be rolled up and measured together (medium level) and for the monthly newsletters and weekly sale emails to measured separately (at the traffic source level).
  • utm_campaign = often used to track the name of the specific campaign. For a hypothetical paid advertising campaign halloween_2023 might be the campaign name that might span across various platforms.
  • utm_content = often used to track various creative versions. For that hypothetical halloween_2023 campaign, let’s assume that there was a pumpkin focused creative being tested against a ghost themed creative version. The pumpkin themed ad would use utm_content=pumpkin in the UTM appended URL of the pumpkin ad and utm_content=ghost in the other version.
  • utm_term = if you’re running a paid search campaign, utm_term will provide information on the specific paid keyword.
  • utm_id = this is not the same as utm_campaign. It’s rarely used but required for data import.
  • utm_source_platform = only use this if you want to differntiate your media buying platform (for example Search Ads 360).

How to Build URLs with UTMs

If you need help creating your UTM tagged URLs, the Google campaign URL builder can help.

google analytics campaign url builder

Whether you use this tool or something else, you should keep accurate notes of of your UTM naming conventions. UTM codes can proliferate quickly, so you want to have a standard naming convention that makes sense for your organization. That’s the first item on this short list of best practices.

Best Practices for UTMs

Stick to these guidelines for UTM success.

  1. Use a standard naming convention and keep good records.
  2. Always use lowercase letters. When it comes to UTMs, capitalization matters. In other words, LinkedIn, Linkedin, and linkedin are 3 different traffic sources! Stick with lowercase to make your life simpler. When you need spaces, use a dash or an underscore to serve as your space.
  3. Be descriptive enough to be useful. For example, don’t use “big-sale” for your utm_campaign parameter. Something like “sale_christmas_2023” or “sale_fall_2024” will help a lot more.
  4. But don’t be too wordy. Simpler is better, as long as you can identify what you want to identity.
  5. Never use UTMs for internal links. You should only be using UTM tagged URLs on links outside of your website that point to your website.

How Can You See UTM Parameters in GA4?

You can see UTM tagged traffic in your standard Acquisition reports in GA4 and you can also see UTM data in Explorations. The simplest place to look is your “Traffic acquisition” report.

Let’s see how to do that.

From within your GA4 property click into Reports (the icon in the red box below) and then select “Traffic acquisition” within your Acquisition reports.

traffic acquisition report in ga4

You’ll see something like the report below with your website traffic grouped by traffic channel.

Click the small drop down arrow to the left of the blue plus sign you’ll be able to change how your traffic is grouped. If you hit the small blue plus (at the arrow arrow) you can add a secondary dimension. In Google Analytics a “dimension” is a descriptive attribute or characteristic of data. So adding a secondary dimension is just adding a second attribute to help analyze your traffic data.

add secondary dimensions

Now you’ll be able to add a secondary dimension to view your data aggregated by the various UTM parameters. You can see Session manual ad content (utm_content), Session manual term (utm_term), Session medium (utm_medium) and Session source (utm_source) below with Traffic source dimensions. You can add any of these dimensions as secondary dimensions. Or you can change your primary dimensions to one of your UTM parameters and then add a secondary dimension to further analyze your campaign tagged traffic.

view utm parameters in ga4

Can You Build Your Own Campaign Report in GA4?

You sure can. You can customize the Traffic acquisition report to make an All Campaigns report to quickly see your UTM tagged traffic.

ga4 all campaigns report

Here’s how you can do that in less than 7 minutes.

Also, here are links to two other video tutorials for other helpful custom reports you can build in GA4.

Wrapping Up

I hope this helps you gain a practical knowledge of UTM parameters. They can certainly be confusing when you first start using them.

Speaking of confusing, we’re now in the world of Google Analytics 4 and there is a lot to learn.

If you’re still someone learning about GA4 you might consider signing up for the R&B monthly newsletter and subscribing to the Root and Branch YouTube channel for an updated video every week. I’ll see you there! There are explainers and tutorials for tracking like this.

About Root & Branch

Root & Branch is a certified Google Partner agency and focuses on paid search (PPC), SEO, Local SEO, and Google Analytics. Click here for more about Root and Branch.

click to yt

24 replies
  1. Nick
    Nick says:

    Hey Zack,

    Great post! I found the section where you showed how you implemented it on your email link very helpful. Is there a list or general rule of thumb to know what Google Analytics can source traffic from automatically and when we need to manually add utm params to the link? Or should you just always add them as a rule of thumb?

    Thanks,
    Nick

    Reply
    • Zack_Duncan
      Zack_Duncan says:

      Great question, Nick.

      Here’s my general rule of thumb:

      In most cases, I assume Google Analytics is going to categorize traffic properly. This includes stuff like organic social media (GA will put this in the proper buckets of Facebook or Twitter or LinkedIn, etc), organic search engine traffic, organic video traffic (traffic from YouTube is grouped here in GA4 and not in Social Media), and other websites that have links to your site (this is grouped in “Referral” traffic).

      The two most common exceptions where Google Analytics won’t categorize traffic with the detail I need are:

      (a) Email traffic. All Email traffic will be grouped as (Direct) without UTM parameters that specify a Medium of “Email” to tell GA where this is truly from
      (b) Paid traffic that is not from a Google advertising platform. Google Ads traffic will have auto-tagging enabled and will be fine on its own. But if you are doing a paid campaign with Facebook, for example, you’ll want to use your UTM parameters so it’s properly categorized as paid traffic and identifies the specific campaign it’s associated with.

      This question makes me think it would be a good idea to do another post or video about how GA categorizes traffic and the specific use cases where UTMs are needed. Thanks for the idea!

      Reply
  2. John
    John says:

    Hi, thanks for the video.

    I built the report as per your video, however, I cannot figure out something really basic, how do i filter out a specific campaign in this report. I do not see this option and I only want to look at a campaign called “Summer2023” as an example 🙂

    Reply
    • Zack_Duncan
      Zack_Duncan says:

      Hi John,

      Glad it was helpful. You should be able to customize the report (pencil icon on top right) and then add a report filter based on the Session campaign dimension. This will present a list in alphabetical order and your can scroll to Summer2023 and isolate that. Hope that does the trick for you.

      Zack

      Reply
    • Zack_Duncan
      Zack_Duncan says:

      Hi Eric, what did you use for Campaign source, Campaign medium, and Campaign name? If you can give me an example from one of your URLs that you’d expect to have the most traffic, I can try and see if anything jumps out to me.

      Zack

      Reply
      • Lulu
        Lulu says:

        Hi Zack,

        I did the same thing as Eric and used the Google Campaign URL builder for my UTM but it’s not showing up in GA4. For source – newsletter, medium – email, name – test (all in that order).

        What am I doing wrong?

        Reply
        • Zack_Duncan
          Zack_Duncan says:

          Hi Lulu, I’ve never used the Google Campaign URL builder. It sounds like a name that should be reputable though. I use the Google Analytics UTM Builder Chrome extension. Slightly different name.

          I wonder if your issue is in the “name” parameter where you’ve used test. If the UTM tool you’re using is working properly you should see the following parameter for your campaign name within your full URL string: utm_campaign=test

          Reply
          • Ty
            Ty says:

            Hi Zack,

            I’ve done this for years and it’s always worked well. The problem I’m seeing now is that GA4 does not pick up on custom UTMs anymore. Have you seen this issue or know how to overcome it?

            Thanks,

            Ty

          • Zack_Duncan
            Zack_Duncan says:

            Hi Ty,

            This Google support article has all the UTMs that are currently supported in GA4: https://support.google.com/analytics/answer/10917952?hl=en

            utm_id
            utm_source
            utm_medium
            utm_campaign
            utm_source_platform
            utm_term
            utm_content

            If you had been using other UTMs beyond this list, then no, I don’t believe they would currently work in GA4.

            I hope this answers your question. Best of luck to you.

  3. Chris
    Chris says:

    Hello,
    Our Performance Max campaign ran thru Google Ads has custom utm parameters (google/pmax) and is coming in with correct source / medium and campaign in Universal Analytics. In GA4, half of the sessions are coming in correctly and the other half is coming in as google/cpc. Auto-tagging is not on.

    Additionally, the Performance Max sessions in GA4 is 54% less than what’s in UA.

    Any ideas to what may be causing this?

    Reply
    • Zack_Duncan
      Zack_Duncan says:

      I appreciate you taking the time to share this encouraging feedback. Thank you. I hope you found it helpful.

      Reply
  4. Cori
    Cori says:

    Thanks for this info! I can see our UTM tags coming through in GA4, but for the life of me, I cannot get conversions or revenue (in our case, donations made online) to come through for Session Campaign > Session Manual Ad Content. The campaign names are all there, and so are the content names, and it even shows users, sessions, and a ton of other data – but the conversions and revenue are at 0, even though I’ve tested them out and have a campaign going right now that’s bringing in money. I’ve allowed several weeks in case there was a data lag and even went through setting up a completely new GA4 site, thinking I did something wrong in the upgrade from UA to GA4. Any idea why that specific piece of data won’t work when the rest seems to be? Thanks in advance!

    Reply
    • Zack_Duncan
      Zack_Duncan says:

      Hi Cori.

      This is interesting…and I’m sure super frustrating!

      Are your other UTM parameters pulling in revenue and conversion info? For example, utm_campaign? And is it just utm_content that is not?

      If so, I’d try seeing what happens if you build a report showing utm_campaign (Session Campaign) and then apply utm_content (Session Manual Ad Content) as a secondary dimension. I don’t have revenue stats in my own GA4 property but I was just playing around with this in the Google Merch Store Demo account and can confirm that Session Manual Ad Content is pulling in conversion and revenue info over there.

      I’ll let you know if I find anything else out. Wishing you the very best.

      Reply
  5. Zee
    Zee says:

    Hi Zack,

    Thanks for the great post. Quick follow up question: how would you remove the UTM parameters from the URLs in the default “Pages and screens report”?
    In UA, the UTM params such as campaign, source and medium would have been automatically taken out of the URL. But in GA4 these values are present in the pages report and they create new rows of data under ‘page location’ dimension. Are you also experiencing this issue? Is this an issue for you, too?

    Reply
      • Zack_Duncan
        Zack_Duncan says:

        Hi Zee, thanks for the thoughtful question. This was weird for me as well, and here’s the deal. The “page location” dimension in GA4 will always return the full URL inclusive of all query parameters and UTM parameters. This is different since this is often the default reporting dimension in GA4, which was not the case in UA.

        If you change your primary dimension from “page location” to “page path and screen class” you should see the cleaned up version without the UTMs. By the way, I was wondering why there is the “and screen class” in this dimension name. It’s because “screen class” is what the name of a “page” is in an app, and GA4 combines this with the page path dimension since GA4 is supposed to be able to do web + app reporting together.

        If you’re interested, this video explains the various components of URLs in GA4 (not only page location and page path, but also hostname and others) and how you can use them. https://youtu.be/vq2bljTcU9E

        Best wishes!

        Reply

Trackbacks & Pingbacks

  1. […] mediums (like email) that Google Analytics can’t classify on its own. Check out the guide to Google Analytics 4 UTM parameters […]

  2. […] much trouble. It’s not perfect but it’s better than nothing. Check this explainer of UTM parameters in Google Analytics for the […]

  3. […] April of that year Google purchased a product called “Urchin Analytics” (this is where UTM parameters or Urchin Tracking Modules come from) and it became the classic version of Google […]

  4. […] words, effective campaign reporting is a relatively new feature in GA4. Check out the guide to Google Analytics 4 UTM parameters […]

  5. […] words, effective campaign reporting is a relatively new feature in GA4. Check out the guide to Google Analytics 4 UTM parameters […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *