Skip to content’s Guide to Campaign Tracking Campaign Tracking is a tool for measuring and optimizing the performance of your digital marketing campaigns. provides detailed analytics that help you understand how your audience interacts with your campaigns, what content resonates the most, and where there are opportunities for improvement.

What are campaigns?

A digital marketing campaign is a coordinated series of actions aimed at achieving a specific business goal, such as increasing brand awareness, generating leads, or driving sales. These campaigns can take various forms, including social media posts, email newsletters, paid advertisements, and content marketing efforts.

Key characteristics of a successful digital marketing campaign include:

  • Clear Objectives: Setting specific, measurable goals to guide direction and success metrics.
  • Targeted Audience: Identifying and understanding the target demographic.
  • Strategic Execution: Using the right mix of digital channels to reach and engage the audience.
  • Measurable Outcomes: Tracking performance through analytics to evaluate the campaign’s impact and inform future strategies.

Campaign parameters tracks five categories of campaign parameters: Campaign, Medium, Source, Content, and Term

What are campaign parameters?

Let’s start with an example. If you click on an ad, the URL might look something like this:

We look at the text that follows the “?”, i.e., the query string. The example contains multiple parameters. One of those parameters is “utm_campaign”. It has a value of “launch-promotion.” So, campaign parameters are codes that you add to the end of a URL to provide more detailed information about it.

Think of each parameter as a question, and its value as an answer.

ParameterQuestionAnswer (Campaign value)
campaignWhy is traffic going here?fall-promotion, june-product-launch
mediumHow did traffic get here?
Which marketing channel?
social, email, paid
sourceWhere did traffic come from?facebook, whatsapp, newsletter
contentWhat did people click on to get here?banner-ad, link-1, subscription-cta
termWhat did people search for to get here?dessert-recipes, running-shoes, data visualization

Supported parameters supports a variety of campaign parameters and recommends using UTM parameters for external traffic and ITM parameters for internal traffic.

We’ve listed other supported parameters in the table, below. If you want us to track additional parameters, please contact Support. We’ll consider supporting new parameters if we can map them to Campaign, Medium, Source, Content, or Term.

CategorySupported parameters

In the case of the Campaign category, will run through the list of supported parameters in order. Once we detect a parameter, we collect it and don’t collect data on any of the other parameters. For instance, if we detect utm_campaign, we won’t run through the rest of the list.

How to add campaign parameters automatically tracks campaign parameters that you add to your urls. How you decide to add campaign parameters is up to you. Here are three common methods of adding these parameters:

  1. URL Builder Tools: One of the most common methods is using online URL builder tools like Google’s Campaign URL Builder. These tools provide a user-friendly interface where marketers can input the desired parameters (source, medium, campaign, etc.), and the tool generates the complete URL with the UTM parameters appended.
  2. Marketing Automation Platforms: Many marketing automation and email marketing platforms (like HubSpot, Marketo, or Mailchimp) have built-in features to automatically append UTM parameters to URLs in emails or campaign-related materials.
  3. Spreadsheet Templates: 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.

Regardless of your implementation method, we will automatically track all properly formatted campaigns. This includes properly-formatted campaigns that you process through a link shortener such as, TinyURL, or

Typical query string structure

It’s rare to see a URL with just one parameter. 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
  • There are no spaces. Use _ for parameters and for values.

Simplifying Campaign Parameters in

It’s common to track various aspects of a campaign using a single parameter in the URL. For instance, a URL might include a parameter like ?cid=campaign_name-source-medium, which combines the campaign name, source, and medium into one.

However, recommends separating these pieces of information into individual parameters. This separation allows for clearer and more detailed tracking of each aspect of your campaign. By using dynamic pageview tracking, can track each element (campaign name, source, and medium) separately, providing more granular and useful data about your campaign’s performance. Here’s a sample implementation:

// Functions to retrieve campaign, source, and medium from 'cid'
var campaign = getCampaignFromCid(cid);
var source = getSourceFromCid(cid);
var medium = getMediumFromCid(cid);

// Use PARSELY.$.param to dynamically create a query string
var params = PARSELY.$.param({
  utm_campaign: campaign,
  utm_medium: medium,
  utm_source: source

// Check if the current URL already contains a query string
var currentUrl = document.location.href;
var separator = currentUrl.indexOf("?") === -1 ? "?" : "&";

// Append the parameters to the URL with the correct separator
var finalUrl = currentUrl + separator + params;

// Track the page view with the final URL
PARSELY.beacon.trackPageView({ url: finalUrl });

Planning your campaigns

Tips for naming campaign values

Use lowercase

Campaign values are case-sensitive. You may prevent errors by using 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 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.

Tracking campaign metrics in your Dashboard

You can find your campaign data in here or by opening your Dashboard and finding the Campaigns tab in the Nav bar. Learn more about how to use the information found in the Campaigns tab here. Dashboard open to the Campaigns tab to enable campaign tracking.

Further Reading

Last updated: May 31, 2024