Campaign tracking in GA4: How to ensure your links are properly tagged
Make sure your campaign traffic is properly tracked and categorized in Google Analytics 4 with these URL tagging tips for marketers.
By July 1, 2023, Universal Analytics, the older version of Google Analytics, will cease to collect data. To get ahead, marketers should be well on the way to migrating to the preferred version, Google Analytics 4.
After completing numerous UA to GA4 migrations, one issue that appears in almost all instances relates to categorizing existing marketing links into Google’s newly defined channels.
Old online marketing links with UTM parameters are no longer being categorized the same way. But why?
In this article, we’ll discuss the common reasons for miscategorization in GA4 and tips to make sure your marketing campaign links are properly tagged and tracked.
Miscategorized links in GA4: Common reasons
While there are several reasons for miscategorization, sometimes it is caused by using a “custom channel” that GA4 no longer supports. Other times, it is due to invalid values entered into the marketing link’s source or medium UTM parameters.
While GA4 hasn’t changed or added new UTM parameters, they have become stricter about the values they accept. Failure to meet these specific settings will cause traffic generated from your marketing efforts to be categorized as “Unassigned.”
Formatting campaign URLs: What marketers need to know
To understand the problem and the solution, let’s review the proper format (as per Google’s requirements) for a marketing/campaign link.
The URL format must be (in all lowercase):
https://www.ourcompanysite.com/?utm_source=source&utm_medium=medium&utm_campaign=campaing_name&utm_id=optional_campaign_id&utm_term=optioanl_term&utm_content=optional_content
In the above example, optional parameters are indicated.
When the values of the required utm_source
or utm_medium
parameters do not match specific values, the traffic is recorded in the “Unassigned” channel.
To view the values assigned to that traffic within GA4 simply add the second dimension “source / medium” to your channel report.
Dealing with ‘unassigned’ traffic
In the report below, someone on the marketing team defined the medium as a “post,” which is not one of Google’s defined values for utm_medium
and hence the traffic is categorized as “Unassigned.”
Below are examples of where someone on the marketing team just wanted to define the source but not the medium for various marketing efforts or incorrectly assigned an invalid medium.
You may notice that Google discourages using spaces in the parameter values and even hyphens (“-“) as an alternative. Instead, an underscore “_” is the preferred replacement.
While failing to follow these new recommendations won’t impact GA4 reports today, with the constant changes taking place, it may in the future.
The new format will become more critical when your organization starts using Google’s BigQuery data warehouse to store your analytics data beyond the 14-month maximum online availability — an inevitable undertaking.
Defining source and medium parameters
The two parameters that GA4 focuses on to categorize traffic correctly are:
utm_source
: The traffic referrer (i.e., google, newsletter4, billboard).utm_medium
: The marketing medium (i.e., cpc, banner, email).
So, if you set the utm_source
to equal “My Email List” and the utm_medium
to equal “EMail,” GA4 may categorize it as “Unassigned” instead of “EMail.”
If you’re scratching your head about this, here’s the reason.
According to GA4 documentation, the following criteria must be met for the traffic to be considered from the email channel:
- Source (
utm_source
) =email|e-mail|e_mail|e mail
- Medium (
utm_medium
) =email|e-mail|e_mail|e mail
For those not familiar with regular expressions (or regex), let’s break this down.
- Note there are no capitalizations allowed.
- Either the
utm_source
orutm_medium
must contain one of the values provided where the “|
” indicates “or.”
In the example provided, while the utm_medium
contains “EMail,” having both an uppercase “E” and “M” means it does not equal “email” as per the GA4 specification. (While Google may convert all parameters to lowercase, you can not rely on them to fix your errors 100% of the time.)
Having the name of an email list as the value for the utm_source
parameter is still permissible, provided that the utm_medium
equals “email.” (This is not ideal, though. The email list name is better assigned to one of the optional parameters or, at a minimum, made all lowercase with the spaces removed.)
Also, while in the example of acceptable values from Google, it is permissible to use “e mail” (with a space), it is not recommended and should be avoided.
Similar specifications are available for all 19 GA4 channels. A complete list of each channel and the acceptable values can be found here.
Pay attention to paid channels
While we don’t have to worry about the non-advertising channels (i.e., organic search, organic social, direct, referral, etc.), we need to concentrate on all the other ones.
Paid channels require special attention. The new ones include:
- Paid Social.
- Paid Shopping.
- Cross-network.
All paid channels with “Traffic is Google Ads” in the requirements imply that the utm_medium
value is either set to “cpc”, “ppc” or “paid.”
The value of the utm_source
must match the site value that Google has determined as a search/social/video site vs. something else based on Google’s defined list.
(Here is an Excel spreadsheet you can download with the complete list of the utm_source
values Google uses and how they are categorized.)
For example, if your URL has utm_source=blogger
and utm_medium=cpc
, it will appear as “Paid Social” in GA4.
If any other value is used for utm_medium
beyond “cpc”, “ppc” or “paid” it will appear as simply “Organic Social.”
The spreadsheet from Google is constantly being updated, so be sure to download the latest before assuming how any new advertising partner will be categorized.
What happens to ‘unassigned’ campaign data?
While we need to be proactive in aligning all our marketing links to the new Google Analytics requirements, what can be done with the data that has already been captured and reported as “Unassigned” or perhaps it was a custom channel you defined for Universal Analytics?
This can be addressed when data is extracted from GA4 or BigQuery via Google’s Looker Studio (formerly Data Studio) or any other business intelligence tool.
Within these, you can define your own logic where utm_source
and utm_medium
equal the values you defined in your UA custom channel and assign it to its own channel. (Hence, a custom channel.)
Dig deeper: MarTech’s in-depth GA4 coverage
Adapting to GA4’s campaign tracking standards
Universal Analytics and Google Analytics 4 differ in many ways. There are technical reasons behind these differences, all with good intent.
Different isn’t always a good thing for marketers who are used to the traditional approach of tracking marketing campaigns. But one thing we can easily address is how our online marketing efforts are tagged to ensure they get classified into our preferred channels.
Addressing this before your migration from UA to GA4 will help lessen the headache of the transition and the efforts required to fix them after you have made the inevitable move.
Opinions expressed in this article are those of the guest author and not necessarily MarTech. Staff authors are listed here.
Related stories