Using UTM Parameters to Measure Nonprofit Marketing Campaigns
By: Ed Harris / Published: May 31, 2023 / Last updated: June 27, 2024
Why is it important to track nonprofit marketing campaigns?
Many nonprofit marketers are strapped for time and resources, and are trying to serve multiple audiences with marketing campaigns.
- Your development team needs your support with fundraising campaigns.
- Your program or policy team needs to communicate with their audiences.
And all of these communications happen across different digital channels, including:
- Organic (unpaid) social media, like Facebook, Instagram, Twitter, TikTok, LinkedIn
- Email marketing
- Paid social advertising
- Paid advertising in other print or digital publications
- QR codes on printed materials
- Partnerships with other organizations or influencers
Wouldn’t it be great if you could track which specific communications were driving the greatest impact within a campaign?
Yes! That’s what using UTM parameters allows you to do.
For any campaign where the end-goal is for users to take a specific action on your organization’s website, you can use UTM parameters to separate out website traffic from different digital channels.
For example, in a year-end fundraising campaign, you might be driving donations from email marketing, organic social posts, paid social advertising, and ads placed in local media. All of these communications would be set up to drive traffic to a single donation page on your website: https://www.nonprofit.org/donate
With UTM tracking in place you could use your website analytics platform to measure how many visits to the donation page come from each different channel (and each different post/email/ad), and to identify which had a strongest conversion rate.
Benefits of UTM tracking for nonprofits
Overall, using UTM tracking allows nonprofit marketing teams to:
- Understand the value of time and money invested in different communication channels,
- Understand the conversion rate of different communication channels, creating visibility into what works best for your audience, and
- Get more value from your website analytics tool.
You can achieve all this by using UTM codes to make sure traffic arriving at the website from different digital channels and different assets can be separated out. Next we’ll explain what UTM parameters are and how to generate them.
Disclosure: some of the links below are affiliate links, meaning that at no cost to you, we will earn a commission if you click through and make a purchase. Learn more about the products and services we recommend here.
What are UTM codes and UTM conventions?
UTM codes are a specific set of parameters that you can add to a URL to pass extra information about the traffic source of a link click.
Before explaining UTM codes, there are two important pieces of context to understand:
- What do we typically know about the source of a link click?
Normally when someone clicks on a link likehttps://www.nonprofit.org/donate
the only information we would see in Google Analytics is the referring domain, and sometimes the full referring URL. This means that Google Analytics might tell us that the link click came from somewhere on Facebook, or from another website, but nothing more than that. And if the link click came from an email, we would see nothing about the traffic source at all.
Based on referral data, Google Analytics does its best to group traffic into default channel groups, like Organic Search, Email, Social Media. More on default channel groups later… - What are URL parameters?
Parameters form part of a URL query string, used to add additional information to the end of a URL. For example, if I filled out a form on a website which then redirected me to a confirmation page, the form could insert my name into the confirmation page URL using a parameter called name. The value of the name parameter would then be added after an equals sign. The resulting URL would look like this:https://www.nonprofit.org/thank-you/?name=ed
The?
signals the start of the query string after the base URL. In this example,name
is a parameter, anded
is the value assigned to thename
parameter. And for query strings with multiple parameters,&
is used to join each parameter and value pair together.
Sidenote: UTM stands for Urchin Tracking Module, referring back to Google Analytic’s predecessor Urchin. Ignore that part — it’s not important!
UTM parameters are a set of five variables that are commonly used and recognized across web analytics platforms to identify details about marketing campaign traffic. More recently, four additional variables have been added to provide even more granular detail when necessary.
Bear in mind often you’ll only use the first 3-5 parameters listed below:
UTM Parameters, Descriptions, and Examples
Parameter | Required? | Description | Example |
---|---|---|---|
utm_medium | Yes | Used to identify a medium such as email or cost-per-click. | utm_medium=email |
utm_source | Yes | Used to identify a specific search engine, newsletter name, or other source. | utm_source=mailchimp |
utm_campaign | No | Used to identify a specific product promotion or strategic campaign. | utm_campaign=2023-year-end-appeal |
utm_term | No | Varies depending on the source/medium. | utm_term=homelessness-donations |
utm_content | No | Varies based on source/medium. Used to distinguish between different creative, buttons, or other variations. | utm_content=banner-1 |
utm_id | No | Used to identify a specific ads campaign. | utm_id=28764762 |
utm_source_platform | No | Used to identify the platform responsible for directing traffic to a given Analytics property. | utm_source_platform=search-ads-360 |
utm_creative_format | No | Used to identify the type of creative. | utm_creative_format=video |
utm_marketing_tactic | No | Used to identify the targeting criteria applied to a campaign. | utm_marketing_tactic=remarketing |
Based on the examples in the table, here’s a complete URL with the three most commonly-used UTM parameters:
https://www.nonprofit.org/donate/?utm_medium=email&utm_source=mailchimp&utm_campaign=2023-year-end-appeal
This URL uses the utm_medium value to instruct Google Analytics to assign the traffic to the Email default channel and sets the source as mailchimp, to distinguish it from other platforms the organization might use to send email. The utm_campaign value identifies the clicks as part of a broader marketing campaign with an internal name of 2023-year-end-appeal.
Adding UTM parameters is often the only way for Google Analytics to accurately categorize your website traffic.
This is especially relevant for traffic originating from links in emails, or from paid ads outside the Google advertising ecosystem. For this reason, it’s important to review the criteria Google Analytics uses to populate its default channel groupings. Review the default channel grouping documentation for GA4 here, or read our introductory guide to understanding your website traffic sources.
Note that UTM codes should only be added to URLs that will be used externally. UTM codes should not be added to internal links on your own website.
How to view UTM tracking data in website analytics
Once you start using UTM parameters in your marketing campaigns, you can unlock additional power from your analytics tool by viewing traffic acquisition reports with source, medium, and campaign data.
UTM parameters in Google Analytics 4
In GA4, the Traffic Acquisition report is the place to start. When you first open the Traffic Acquisition report, the dimension column displays Default Channel Group. You can adjust this using the dropdown to display Session Source/Medium, or Session Campaign.
If you are using utm_campaign to group communications for a specific campaign across multiple channels you can add a Report Filter for the specific utm_campaign value, and then set the dimension column to display Session Source/Medium, allowing you to compare performance across channels within that specific campaign.
With this kind of reporting, you can use some of Google Analytics’ built-in metrics to compare campaign performance, such as Engaged Sessions or Engagement Rate.
However, cross channel reporting within a campaign really becomes powerful when you have conversions set up. For example, if the campaign is intended to drive donations and you have a successful donation set up as a conversion event in GA4, you can use this report to compare conversion rates between different communications channels.
For more resources about setting up conversions in GA4, check our Google Analytics resource list for nonprofits.
UTM parameters in other web analytics tools
Most other website analytics platforms interact with UTM parameters in a similar way as Google Analytics. If you’re using an alternative platform like Matomo, Piwik Pro, Plausible, or Fathom Analytics, check their documentation to understand how to view traffic attribution reports that include data from UTM source, medium, and campaign parameters.
How to add UTM parameters to your URLs
It’s best to avoid manually creating links with UTM parameters since the risk of introducing a typo is so high. Most marketers will use one of the options listed below.
Before introducing these options, let’s cover a few best practices that become especially important if you’re working as part of a team.
Best practices for creating and managing UTM codes
- The values for UTM parameters need to be used consistently, both over time and by different team members to avoid accidentally using two or more values that are close duplicates of one another.
- Use only lower case letters, replace spaces with hyphens, and avoid punctuation or symbol characters.
- If you need to include two pieces of information in one value, separate them with an underscore.
- Avoid including personal information in a UTM parameter value. Remember collecting personal data in Google Analytics is against their terms of service, and the full URL including the query string will be visible to users in their browser bar when they load the page.
Consider the tools listed below for generating and managing your UTM codes:
1. URL Builders
Many companies provide simple URL builder forms that allow you to enter a destination URL and values for each of the UTM parameters you need to use. The form will then display the complete URL and query string ready for you to copy and paste.
For example, Google provides this Campaign URL builder.
However, this type of tool doesn’t provide any support for storing or sharing the resulting URL which is a critical part of successfully using UTM tracking, even if you are not working as part of a team. For this reason, many marketers end up with a (potentially messy) spreadsheet that functions as a record of past URLs and UTM codes.
2. A spreadsheet or Google Sheet
Many marketers use a spreadsheet or Google Sheet with some custom formulas to function as a URL builder and as a place to record past deployments of links with UTM codes.
3. A tool like UTM.io
If you’re ready to level up, check out UTM.io. It’s an excellent tool and only one I’m aware of that focuses solely on the challenge of creating and enforcing UTM conventions, and managing the resulting sea of links.
A key functionality in UTM.io is creating UTM tagging rules that make sure you create links consistently over time. If you work in a team setting, these rules are shared across all users and you can even add custom permissions to manage who has the ability to add new UTM values.
UTM.io also includes a URL shortener, and a Chrome extension to keep your UTM functionality easy to access.
Examples of UTM parameter values
Finally, here are some examples of values you might use in your UTM parameters, specifically in a nonprofit setting.
Channel | utm_medium | utm_source | utm_campaign |
---|---|---|---|
Email Marketing | mailchimp; campaign-monitor; convertkit; constant-contact | welcome-email; 20231205-newsletter; 20231103-ga-action-alert; 2023-year-end-appeal | |
Organic (unpaid) Social Media | social | facebook; linkedin; instagram | 2023-12-ga-action-alert; 2023-year-end-appeal |
Paid Social Media | paid OR cpc | facebook; linkedin; instagram | 2023-12-ga-action-alert; 2023-year-end-appeal |
Publication Ad | paid | new-york-times | 2023-year-end-appeal |
Influencer Partnership | paid | name | 2023-year-end-appeal |
Please reach out via email or on LinkedIn if you have questions!