The web is perfect for direct marketing and rivals other media. With marketing attribution, it’s easy to track your online campaigns. The problem is most of us don’t know how to do it.
This is where UTM parameters come into play.
As I stated in Day Two of my mentoring program, you can improve your business only if you measure it.
Pretty much all modern analytical tools support using UTM parameters. They’ve become something of an industry standard. If you aren’t using them, you are missing out on the full potential of your analytics.
What Are UTM Parameters?
UTM parameters (otherwise known as “Urchin Tracking Module parameters”) are made up of five options you add to a URL that points to your website.
The purpose of these five options is to report the source of website visitors (otherwise known as “attribution” in marketing lingo). When a visitor lands on your website, the UTM parameters tell you the source of that lead.
The UTM parameters comprise of:
- utm_content (optional)
- utm_term (optional)
I’ll go over what these mean in a minute.
The parameters were originally created by the company Urchin Web Analytics. In 2005, Google purchased Urchin and eventually, it turned the product into what we know today as Google Analytics.
Why Use UTM Tracking Codes?
Bottom line: You want to know the source of a click to your website. Especially if you’re paying for traffic.
Typically, when a visitor clicks on a link on a webpage, the web browser passes back the previously visited webpage. This is known as an HTTP referer. (Note the misspelling, since the person who created this feature didn’t know how to spell “referrer.”)
Want to see HTTP referer in action? Click on this link: What Is My Referer?
What you should see:
That link should show you something similar to what you see above (it may vary, based on how you arrived at this article).
The important thing is that it shows that you came from my website.
Great! The analytics on whatismyreferer.com would note LarryLudwig.com was the source of a website visitor.
Many internet marketers use the HTTP referer as the method of attribution. Unfortunately, the HTTP referer is not always reliable.
For an example of a blank HTTP referer, click on this link.
Same website source, same website destination, yet the HTTP referer was no longer passed.
Why is this? More on that in a minute.
If you don’t have an HTTP referer, your analytics tool will show traffic as being “direct.” This means the source of traffic is unknown. It can also mean the visitor typed your domain in their browser URL bar. Obviously, in this example, that would be incorrect.
You want to reduce the number of falsely reported direct traffic entries. While you cannot eliminate them all, you should make it a goal to reduce them as much as possible.
I’ve said this many other times, and it’s worth repeating: Not all traffic is created equal.
The quality of traffic is always more important than quantity. Depending on the source and intent, some traffic converts better than others.
Shouldn’t you know that your paid Facebook ad converted better than the organic tweet you just sent out?
UTM parameters are the first part of the marketing attribution equation.
When Is the HTTP Referer Empty?
The HTTP referer is not always present. It should not be relied on and should be used only as a backup.
Here’s a list of possible situations when the referral information would be blank:
- Many smartphone apps (email, social media, messenger, video players, etc.)
- A bookmarked link
- A rel=”noreferrer” HTML tag is present in the source <a href> link. For WordPress version 4.7.4 and newer, this is enabled by default
- The visitor is behind a proxy server that removes the referral
- Linked clicked within an email
- Redirection from an https:// based website to a link that’s http://
- Links in documents such as PDF, MS Word, PowerPoint, etc.
- A website visitor has an ad blocker plugin that purposely blocks the referral
- A spider, bot, or tool (i.e., “curl” or “wget”) that clicks on the link
When Should You Use UTM Parameters?
Pretty much everywhere!
Anytime you link to your website, you should be using UTM parameters. This includes:
- Paid search traffic
- Organic social media
- Paid social media
- Links in your profile for any publicly displayed source (i.e., social media)
- Affiliate links
- Offline (i.e., business cards) via a QR code
UTM parameters are NOT for organic search. The major search engines should correctly pass referral information. You also should not use UTM parameters for any links within your own site. Only use UTM parameters on links directed to your website.
What Do the UTM Parameters Mean?
There are a total of five UTM parameters. Three are required, and two of them are optional.
Here are the definitions of the options:
- utm_source – The source from where your traffic came. Examples: Facebook, Google, Twitter, ActiveCampaign, or a domain name (example.com).
- utm_medium – Identifies the type of link. Examples: organic, referral, CPC, etc.
- utm_campaign – The specific webpage, promotion, ad campaign, etc., of your source that the traffic came from. This parameter should be unique per campaign to help differentiate among campaigns.
- utm_content (optional) – Primarily used for A/B testing or sourcing which link was clicked on a web page with multiple links for the same campaign.
- utm_keyword (optional) – Used for paid search to note what keywords were used to land on your website.
UTM Tracking Examples
Sometimes it’s easier to show than it is to explain. Here are some examples of UTM codes used on my own website. Sometimes it is easier to just show than explain. Here are some examples of UTM codes used on my own website.
External Website (Fastlane Forum)
I defined these parameters to track a link I have within my signature on the Fastlane Forum website.
I brand the top of every email I send out with my name logo. That logo is linked to the homepage of my website. I want to know which email the reader clicked on when visiting my homepage. In this case, utm_content and utm_campaign change with each email sent out.
An example of a tweet that linked to an article on my website. I wanted to know that the traffic source came from Twitter.
There’s an old computer term that applies to effective UTM tracking and website analytics — GIGO (Garbage In, Garbage Out).
For any link you control, you should be passing a UTM parameter. That way, it’s assured you know the source of your traffic.
Obviously, when a third party links to your site organically, you should welcome this. In most of these cases, you can’t control the usage of UTM parameters. Just be thankful you have a link that can help with your SEO game.
There’s no set standard with UTM tracking. Technically, you could use UTM parameters any way you please. If you aren’t organized, you may not be using them effectively.
The use of UTM parameters is often misunderstood. It’s not uncommon to see UTM parameters used in the wrong way.
Here are my recommended guidelines when creating UTM parameters.
- Consistent naming convention – Use the same naming convention for utm_source, utm_medium, and utm_campaign parameters. This is why I recommend tracking the codes used (see my free tool). Using “facebook” for one utm_source and “facebook.com” for another will show up in your analytics as different sources. If working with a group, agree to the naming convention and — more importantly — stick to it!
- Parameters are all in lower case — If you use mixed case, your analytics tool will show them as different sources. Some tools, including Google Analytics, can clean your UTM data, but they require additional configuration to set this up.
- No spaces – While any URL builder will correctly convert your options into a neatly formatted URL format, it just makes it easier to read. Replace spaces with dashes instead.
- Use dashes not underscores – Underscores are often confused for spaces, so don’t use them.
- Never use UTM parameters on your own site – UTM parameters are for tracking the source of traffic external to your website. Don’t use UTM codes on your site to, say, track a button click, menu link, or between subdomains. UTM codes should be used only when linking from external sources.
- Never for organic search – Search is the only source in which you should not set up UTM parameters.
Recommended “utm_source” Options
While not comprehensive, here’s a list of recommended utm_source options.
Basically, these are all lowercase versions of the brands — minus the domain name extension. Note no spaces, dashes, or underscores.
- Delicious – delicious
- Digg – digg
- Facebook – facebook
- Foursquare – foursquare
- LinkedIn – linkedin
- Pinterest – pinterest
- Quora – quora
- Reddit – reddit
- StumbleUpon – stumbleupon
- Tumblr – tumblr
- Twitter – twitter
- Google – google
- Bing – bing
- DuckDuckGo – duckduckgo
- Pushcrew – pushcrew
Recommended “utm_medium” Options
Same as with utm_source, this list isn’t comprehensive. You should stick to at least using these utm_medium options. Tools like Google Analytics expect to see these as your typical utm_medium options.
- social – for any organic social media traffic (meaning not paid for)
- push – Notification via web browser push
- referral – A link from another website or service
- cpc – A paid ad that was Cost Per Click
- email – Any link clicked from an email
- organic – for anything that’s organic search (meaning not paid for). Google Analytics will add this automatically
How to Create UTM Parameters
Fortunately, you don’t have to know the tech behind creating a correctly formatted URL. There are tools to do this for you. Some of them are free!
Some services such as ActiveCampaign will automatically create the UTM parameters.
In these cases, you just enable the option before sending out an email campaign.
Unfortunately, not all services support the use of UTM parameters. You’ll have to create these links manually.
Fortunately, Google has a free tool called Campaign URL Builder.
To use Campaign Builder, enter the URL and your desired utm_source, utm_medium, and utm_campaign options. Then you can use the optional utm_term and utm_content if you wish.
The result then spits out your URL, which you can copy and paste wherever it’s needed.
How To Track UTM Codes
If you create all these links but aren’t tracking them, that’s not doing you any good. Plus, you may have multiple individuals working on your website. That can create inconsistency and confusion.
The easiest way to track UTM codes is by creating a Google spreadsheet. With Google Sheets you can easily input and share UTM codes.
I’ve created a free template that you can reuse. The spreadsheet also follows my recommended formatting guidelines.
Sign up below to get your free copy.
Not only can you manage all your links, but I’ve also included a campaign URL builder as well.
How to Shorten UTM Parameters
A long URL can appear messy and confusing to a reader. Most individuals have no idea what all of this gobbledygook means. So when sharing URLs via email, social media, or other platforms, you should use a link shortener.
Bitly is very popular and what most think of when discussing link shorteners. The problem with Bitly is the domain isn’t your own. You are required to use the “bit.ly” extension for all links.
In addition, for the free version, Bitly uses the same namespace for all customers. So if the link “http://bit.ly/demolink” is already taken (it is), you can’t use it for your purposes.
Bitly offers commercial packages beyond the free service, but they’re very costly and lack a lot of features.
At my previous website, Investor Junkie, I used the domain ij.cm for all shortened links. It looked nicer, was identifiable, and better matched my brand. You want these attributes for any shortened link you use.
Fortunately there’s a better alternative to Bitly called PixelMe. PixelMe has all the features you want in a link shortener service:
- Your own custom domain name
- A UTM builder built into the service
- Analytic reports for tracking conversions
- Cheaper than the paid versions of Bitly
How to Hide UTM Parameters
To the average website visitor, UTM codes can be unsightly. Plus, it’s common for people to share links that already have UTM codes embedded in them from another source.
This means it’s possible to share a link that originated from Twitter on Facebook. Twitter would be wrongly attributed as the source of that click.
One way around this is to remove the UTM parameters once you have gathered their information.
Automatically Create Google Ads With UTM Parameters
Of course, because Google was the creator of UTM parameters, it has incorporated this functionality into Google Ads since the beginning. However, if you stay within Google’s ecosystem, you’ll have much less of a need for UTM parameters.
Google Ads has the ability to auto-tag the ads you create, which is great if you’re using only Google Analytics.
The auto-tagging system automatically appends a parameter called gclid when a user clicks on an ad. This gclid tag is an auto-generated random number to identify a visitor’s session. At a minimum, you should have this option enabled.
If you’re like me and are using third-party analytic tools, you also need UTM parameters as well.
You can set this option so every ad you create automatically appends the correct UTM parameters. There’s no chance of mistakes or errors, and I recommend that every Google Ad user do this.
How to make the change is somewhat hidden in your Google Ads account. Perform the following steps to enable this option:
- In the left side menu in Google Ads for All Campaigns, select the Settings menu option.
- Then at the top, select the Account Settings tab.
- Next, select Tracking – Use URL tracking option
- Enter your tracking URL in the Tracking Template field. See below what I recommend you enter.
- Once finished, press the SAVE button.
Here’s is the tracking template I recommend inserting:
Using this template will then automatically generate the correct parameters for your ads.
You can read more about the ValueTrack parameters because there are many other options you can use that are beyond the scope of this article.
Create Facebook URL Parameters for Your Ads
Like Google, Facebook wants to keep you within its ecosystem. Also like Google, it has its own equivalent of a gclid tag. Oddly enough, it’s named fbclid.
This auto-tags any click to your website. It’s great only if you use Facebook’s analytic tools.
Facebook recently got on the bandwagon of using UTM parameters for your ads. Until only recently, you were stuck using Facebook’s Pixel. While the pixel tracking was great, it kept you trapped in Facebook’s ecosystem. You couldn’t use your own analytics software.
To use this, edit any ad and go to the Tracking section. This is what I use:
Unfortunately, unlike with Google Ads, you’ll need to paste this into each ad you create.
NOTE: At the time of writing, Facebook’s own documentation for site_source_name is incorrect. It lists the variable as site.source.name, which isn’t correct. The correct usage is site_source_name.
You can use this setting for every Facebook ad you create. It will automatically append your Facebook Campaign Name and Ad ID. There’s no need to manually create this information. Cut and paste and go!
For more information, read Facebook’s guide on URL parameters.
Facebook decided to use its own naming convention for the site_source_name variable, so here’s what you’ll see in your analytics as the utm_source:
- fb – Facebook
- ig – Instagram
- msg – Facebook Messenger
- an – Audience Network (ads off Facebook)
It’s possible to rename the sources “fb” and “ig” in Google Analytics to represent the full source name to match your other data, but that’s beyond the scope of this article.
Using Google Analytics
After doing all of this work, you want a way to track this information. Fortunately, Google Analytics is a free tool that allows you to track it.
I’m assuming you’re already using Google Analytics right? If not, then get on it ASAP!
The area in Google Analytics you’re going to care about is under the Acquisition > All Traffic > Source/Medium section.
From this area, you can get the source and medium of all traffic to your website. It’s possible to also glean the campaign information by selecting a secondary dimension in the report. Just type “Campaign” in the drop-down list above the report (see screenshot below).
There are other sections of Google Analytics where you can use this information as well, but I’m not going to them cover in this article. Just be aware this information is now captured by Google Analytics.
Automatically Append UTM Parameters on an Order Form
I created the FREE WordPress plugin UTM Tracker for this exact purpose. The plugin does two things:
- Stores the UTM codes upon website entry. They then follow the user as they surf your website.
- Automatically appends the UTM codes (among other optional items) to any web form on your site. This can be any order form, contact form, mailing list form, etc.
You can then track these conversions in your mailing list, e-commerce system, or contact form. My plugin works with all of the major WordPress web forms.
UTM Parameter FAQs
How do UTM parameters work?
Are UTM codes case sensitive?
Which UTM parameters are required?
How to Remove rel=”noreferrer” in WordPress Links?
The rel=”noreferrer” option makes it harder for digital marketers to know the source of clicks. Affiliate programs like Amazon require it. So, you should remove the “noreferrer” in your links. By default, WordPress offers no global option to change this. You can do this by installing this WordPress plugin.
Believe it or not, I’ve only scratched the surface of all of the functionality you can do with UTM parameters. Use them effectively and become a marketing ninja. Know the source of your conversions and improve visitor tracking.