Using UTM Parameters to Measure Nonprofit Marketing Campaigns

By: Ed Harris / Published: May 31, 2023 / Last updated: June 27, 2024

How to use UTM parameters to measure nonprofit marketing campaigns

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:

  1. What do we typically know about the source of a link click?
    Normally when someone clicks on a link like https://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…
  2. 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, and ed is the value assigned to the name 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

ParameterRequired?DescriptionExample
utm_mediumYesUsed to identify a medium such as email or cost-per-click.utm_medium=email
utm_sourceYesUsed to identify a specific search engine, newsletter name, or other source.utm_source=mailchimp
utm_campaignNoUsed to identify a specific product promotion or strategic campaign.utm_campaign=2023-year-end-appeal
utm_termNoVaries depending on the source/medium.utm_term=homelessness-donations
utm_contentNoVaries based on source/medium. Used to distinguish between different creative, buttons, or other variations.utm_content=banner-1
utm_idNoUsed to identify a specific ads campaign.utm_id=28764762
utm_source_platformNoUsed to identify the platform responsible for directing traffic to a given Analytics property.utm_source_platform=search-ads-360
utm_creative_formatNoUsed to identify the type of creative.utm_creative_format=video
utm_marketing_tacticNoUsed 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.

Channelutm_mediumutm_sourceutm_campaign
Email Marketingemailmailchimp; campaign-monitor; convertkit; constant-contactwelcome-email; 20231205-newsletter; 20231103-ga-action-alert; 2023-year-end-appeal
Organic (unpaid) Social Mediasocialfacebook; linkedin; instagram2023-12-ga-action-alert; 2023-year-end-appeal
Paid Social Mediapaid OR cpcfacebook; linkedin; instagram2023-12-ga-action-alert; 2023-year-end-appeal
Publication Adpaidnew-york-times2023-year-end-appeal
Influencer Partnershippaidname2023-year-end-appeal

Please reach out via email or on LinkedIn if you have questions!

Get tips, resources and tools for mission-driven marketing and digital strategy.

Subscribe to The Digital Landscape, a weekly email from Blue Hills Digital.

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Unsubscribe at any time. Privacy Policy and Terms of Use apply.

Related Articles:

Related Articles