Skip to content’s Guide to Campaign Tracking

What are campaign parameters?

Campaign parameters are codes added to the end of a URL to provide more detailed information about each URL. If you click on a Facebook ad, the URL might look something like this:

The parameters are in the string of text after the “?” For instance, one of the parameters is “utm_campaign” and its value is “launch-promotion.”

Why are campaign parameters important?

Campaign parameters help you determine the effectiveness of an online marketing campaign across traffic sources.

When someone clicks one of your URLs with campaign parameters attached, the parameters are sent to and tracked in the dashboard. From there, you can get a detailed view of where traffic is coming from and which campaigns are performing best in terms of visitors, engaged time, and more.

Using UTM or ITM parameters

While supports a variety of campaign parameters, we recommend using UTM parameters for external traffic and ITM parameters for internal traffic. The five types of UTM and ITM parameters directly map to the five parameter categories in’s dashboard.

1. utm_campaign and itm_campaign map to Campaign

Campaign is used to identify a strategic campaign or a specific promotion, like a product launch, partnership, or sale.

Examples: utm_campaign=email-reports-launch, itm_campaign=valentines-day-sale

2. utm_medium and itm_medium map to Medium

Medium is used to identify how the traffic came to your site (the digital marketing channel). The medium is meant to give you a high-level view of how digital marketing channels are performing. You should try to use umbrella terms that describe the channel: “social” for any unpaid traffic coming from social media (Facebook, Twitter, Instagram, etc.), “paid” or “cpc” for any digital ads or paid search, “email” for email newsletters, announcements, or promotions, and so on.

Examples: utm_medium=social, utm_medium=paid, utm_medium=email, itm_medium=banner-ad, itm_medium=recommended-content

3. utm_source and itm_source map to Source

Source is more specific than medium; it identifies what site, application, or publication the traffic came from. If you wanted to track traffic from a Facebook post, the source parameter would be utm_source=facebook. For a Twitter post, it would be utm_source=twitter. Both of these sources would fall under the umbrella of utm_medium=social.

Examples: utm_source=pocket, utm_source=nytimes, utm_source=fb-messenger, itm_source=ars-technica

4. utm_content and itm_content map to Content

Content has a few different use cases.

Content can be used to describe the content of a display ad. You can use it to test versions of an ad, where minor tweaks to copy or design can make all the difference. For instance, if you’re trying to test three images for an ad that links to an article about Bernie Sanders, you might add a tag like “utm_content=serious-bernie”, “utm_content=smiling-bernie”, or “utm_content=bird-bernie” to the URL for each version.

Content is also used to describe the position of a piece of content on a page or in an email. A newsletter editor might tag each URL in a daily newsletter with an individual utm_content value, such as “utm_content=123456” or “utm_content=baked-alaska-recipe.”

Examples: utm_content=green-text, utm_content=crying-baby, itm_content=top-banner

5. utm_term and itm_term map to Term

Term is used exclusively to identify the keyword associated with search engine marketing campaigns. When you set up a paid search campaign, you target ads based on keywords. For instance, if a company is selling soap, they might want to display ads in the search results to people who search for “handmade soap,” “lavender soap,” or “moisturizing soap.” If someone clicks on a soap ad after searching for “handmade soap,” they’ll be directed to a URL tagged with “utm_term=handmade_soap.”

Examples: utm_term=running-shoes, utm_term=accounting-software, itm_term=limited-time-offer

Adding UTM or ITM parameters to a URL

It’s rare to see a URL with just one parameter attached. In practice, you’ll append multiple parameters to a URL to gather as much information about the URL as you need. Here’s how you might tag a newsletter URL that links to a blog post about video analytics:

You’ll notice there are some symbols used to tie the parameters together into a query string:

  • ? attaches the query string to the URL: ? utm_campaign=video-analytics
  • = assigns a value to a parameter: ?utm_campaign=video-analytics
  • & attaches one parameter to another: &utm_medium=email&utm_source=daily-newsletter
  • _ is used in lieu of a space in parameters: ?utm_campaign=video-analytics
  • is used in lieu of a space in values: &utm_source=dailynewsletter

Some other important things to note when you’re writing out query strings to add to URLs:

  • There are no spaces. Use _ for parameters and for values.
  • Query strings are case-sensitive. If you tag one URL with a source of “Email” and another with “email,” they will show up as two separate values in
  • While you can tag URLs with just one parameter, we suggest adding utm_campaign, utm_medium, and utm_source to each URL. This will allow you to filter campaign traffic (utm_campaign) by marketing channels (utm_medium) and websites or applications (utm_source).’s Campaign URL Builder

Adding UTM or ITM parameters to a URL manually can get tedious. We’ve created a URL builder in Google Sheets to automate some of the process. Make a copy of the spreadsheet and give it a try. (This spreadsheet is also handy for keeping track of all the URLs you’ve tagged.)

Campaign groups

You can create a group of multiple campaign values to properly attribute any mislabeled traffic.

Tips for naming campaign values

Use lowercase

Campaign values are case-sensitive. You’ll save your team a whole lot of headaches if you stick to lowercase.

Be consistent

If you tag URLs from Twitter with “utm_source=twitter” and your coworker tags URLs from Twitter with “,” those campaign values will show up in the dashboard as two separate sources. The same goes for “twitter” and “Twitter.”

You’ll need to get your team on the same page to avoid a ton of mislabeled parameters. Two types of documents can help your team stay organized:

  • Campaign URLs Tracking Doc: A spreadsheet where your team can paste all the URLs they’ve tagged with campaign parameters.
  • Campaign Definitions Doc: A spreadsheet with columns for the parameter value, what it means, and when to use it.

If you make a mistake, fix it with a campaign group

You can create a group of multiple campaign values. This allows you to attribute traffic properly by putting any misspelled or mislabeled values under one umbrella.

Think of campaign values as answers to questions

It might help to think of each parameter as a question, and its value as an answer. Someone else should be able to read the value and intuitively understand what it means.

ParameterQuestionAnswer (Campaign value)
utm_campaign & itm_campaignWhy is traffic going here?fall-promotion, june-product-launch
utm_medium & itm_mediumHow did traffic get here?social, email, paid
utm_source & itm_sourceWhere did traffic come from?twitter, fb-messenger, newsletter
utm_content & itm_contentWhat did people click on to get here?banner-ad, link-1
utm_term & itm_termWhat did people search for to get here?chocolate-dessert-recipes, womens-running-shoes

Last updated: February 15, 2023