“We spent $25,000 on a blue widgets campaign, what was the return?” It’s a seemingly simple question, but if you don’t sort out your marketing campaign tracking properly, you may never get the answer.
What I’m talking about is campaign tagging – the ability of your web analytics program to associate activity (and revenue) with different sources of visitors and marketing campaigns.
In this post, I’m focusing only on campaign tagging with Google Analytics. I’ve seen marketing campaign tracking butchered so many times that I wanted to set the record straight once and for all.
There are 3 areas that matter for campaign tagging with Google Analytics (or Urchin):
- Parameters
- Parameter values
- Destination URLs
#1 – Campaign Tracking Parameters for Google Analytics
Parameter is a geeky word for a part of the URL after the question mark (?) or ampersand (&). Take this example:
http://www.alexlcohen.com/?utm_medium=example
If you have multiple parameters, any ones past the first are separated by “&”:
www.alexlcohen.com/?utm_medium=example&utm_source=second-url
In that URL, utm_source is the parameter. Google Analytics recognizes 5 specific parameters for measuring campaigns:
- utm_medium
- utm_source
- utm_campaign
- utm_content
- utm_term
Parameters exist for marketing campaign tracking. Each Google Analytics parameter has a different purpose and requires different values (more on that later).
utm_medium is used to designate the channel of this particular marketing. This includes large sources of visitors like:
- Paid search
- Affiliate
- Offline Ads
utm_source should differentiate sources of traffic within a given channel. If you have an affiliate program, you could separate out traffic from Linkshare from Commission Junction. In paid search, you’d want to distinguish Google, Yahoo and MSN.
utm_campaign is unique among the parameters. It’s the only parameter that can be common among different sources and mediums.
For example, let’s say you sell Earth friendly products and you have a marketing campaign promoting canvas totes for Earth Day on April 22nd. You could be promoting this in a variety of channels–email, paid search, and affiliate banners.
You can see all of the activity for that campaign, regardless of channel, rolled up into one report. Just give the utm_campaign parameter the same value (discussed below), such as “earth-day-totes-042208″, for each tactic in your marketing campaign. You’ll be able to get the standard metrics in the Campaigns report: visits, page views, bounce rate, conversion, etc (Go to Traffic Sources, then Campaigns).
utm_content is meant to help you provide a bit more information about the creative/messaging that sent a visitor to your site. There are any number of ways to use it:
- Display – Banner size and message (e.g. 160×800-free-shipping)
- Paid search – Ad variation.
- Email – You could distinguish among the different locations of links, e.g. right-nav-link, offer-link.
utm_term is used only for non-AdWords paid search. Google automatically recognizes AdWords campaigns (if you want to get cost data in, you have to link it within AdWords under the report tab in the AdWords interface).
If you’ve tagged destination URLs for paid search with the other parameters, you then need to add the utm term parameter as well. Otherwise, when you look at your paid search keywords report, it will show up as (not set).
For specific instructions about paid search tagging, check out my previous posts:
Now that you understand the parameters, let’s talk about the values you assign to them.
#2 – Campaign Parameter Values for Google Analytics
Parameters signal to Google Analytics that you’re about to define something about a marketing campaign. The value is what actual shows up in your reports.
Campaign tracking works in a parameter=value pairs.
All parameters should be all lower case where possible. If you have multiple words in the value, separate them with a dash, such as “banner-ads”.
You’re free to use any value you want, but there are certain standards you should follow depending upon the parameter.
utm_medium – The one hard and fast rule here is that you must tag all non-AdWords paid search campaigns as cpc. Sure, Google Analytics understand that campaigns labeled as ppc are paid search, but then you get the data on separate rows.
Here are a few other values that you could use for other channels. It’s important that you develop company standards for these values and document them. If you don’t, people won’t understand or act on the data.
Affiliate – affiliate
Comparison Shopping Engine – cse
Email – email
Local Search – local
Offline media that drives online click-through – offline
Paid Inclusion Bulk – paid-inclusion
Pay Per Click Search – cpc
utm_source – You can use any value here. Again, these are meant to be specific sources within a given channel. A good tag is decipherable by anyone and scalable to a variety of channels.
I recommend you use “ysm” for Yahoo paid search, because Google reports organic Yahoo clicks as “yahoo”. For MSN, you can just use the capitalized version or “msn-ppc”, since Google uses the lowercase “msn” for organic clicks from that engine.
utm_campaign – Your campaign value should contain some form of the date. It helps you keep track of marketing campaigns and adds important context for analysis.
utm_content -If your content is text based, use values that account for the differences in type of content, messaging and location of the text. If it’s display (banner) ads, you’ll want to include the size of the banner.
utm_term – For specific instructions, check out my previous posts:
Okay, now you’ve got all of the components and you just have to put them together into a…
#3 – Destination URL for Google Analytics
The destination URL is the link you use for your marketing campaign. It’s made up of three parts:
- Base URL
- Parameters
- Values
If I was running banner ads for Digital Alex, the base URL would be www.alexlcohen.com. The campaign tracking parameters might be something like:
- utm_medium=banner-ads
- utm_source=facebook
- utm_campaign=subscriber-drive-03052008
- utm_content=120-600-strategy
I would then combine them together into the destination URL:
www.alexlcohen.com/?utm_medium=banner-ads&utm_source=facebook&utm_campaign=subscriber-drive-03052008-utm_content=120-600-strategy
And that’s it! No you’re on your way to better marketing campaign tracking.
Here are some other good resources for Google Analytics campaign tracking:
- Destination URL builder – By Google Analytics
- How do I tag my links? – By Google Analytics
- Campaign tracking series by Justin Cutroni
For a bit more on my background, check out my internet marketing resume.
{ 5 trackbacks }
{ 17 comments… read them below or add one }
Hi Alex,
thanks for this nice post.
what do u mean by “Paid Inclusion Bulk – paid-inclusion” and “Local search” as medium?
Mehdi
Hey Mehdi,
Thanks for reading! Paid Inclusion is specific to Yahoo–you can pay to guarantee your inclusion in their search results (though, not guarantee a ranking).
Local search would be any advertising you’d be doing targeted specifically through location specific efforts. Maybe your doing something with Citysearch, for example.
These are just examples. Think through the channels that you use that make sense for you.
Cheers,
-Alex
Thanks for the well detailed post, much appreciated!
Hey Wil,
Thanks for the comment. I’m glad you found it useful. If you come up with any good GA tips, feel free to add to the conversation :-)
Cheers,
-Alex
Thanks for the info. Will GA recognize these parameters automatically?
Also if my site uses extra parameters will this still work?
Eg http://www.mysite.com/index.aspx?lang=en&utm_source=flashbanner&&utm_campaign=subscriber-drive-03052008-utm_content=120-600-strategy
Notice I’m using a lang=en parameter.
Thanks,
Yannis
Hey Yannis,
My understanding is that Google Analytics will strip out the parameters it understands (utm…) and leave the ones it doesn’t. That is to say, you’ll have a bunch of pages that are essentially the same in your top content report, except that they have your unique parameters attached to them.
If you want to exclude them, check out this help article:
http://www.google.com/support/analytics/bin/answer.py?hl=en-in&answer=55499
You should know that Google automatically gathers data about which language a user is using.
I don’t think there is a way to get Google Analytics to recognize your custom parameters. However, I could be wrong :-)
-Alex
I keep seeing how to build the URL, but where does one view the results in Google Analytics?
Hi James,
It depends on what data you’re looking for. Most of the information you want is in the “Traffic Sources” section.
-Alex
Hi,
I am a beginner in the field so sorry if I ask a stupid question.
Can I use the parameters to somehow track a specific member logged in on my site ?
If so, will I be able to create full reports of activity by members ?
Thanks.
Hi Fab,
I don’t think you can use the parameters to tracked the sessions of users who’ve logged in. There may be another way to do this, but I don’t know how.
Try Analytics Talk by Justin Cutroni. He’s the real expert.
Sorry,
-Alex
Thanks for the great post. One thing I am struggling with is tagging internal links so that I can properly identify the source.
For example:
If I have four text links and two image buttons on my homepage that all point to a signup page (for instance), how could I tag each one so that I can accurately track how well each individual link performed in sending visitors to the that landing signup page?
My understanding is that GA treats all links that point to the same destination as one link (e.g. when I do a site overlay it shows the percentages the same for each group of links that point to the same destination).
So, with that said, it seems that I could use parameters in each link to help differentiate (using the utm_source parameter) so I could tell how each are performing? (e.g. utm_source=topnavigation, etc)
Is this the right/best way to accomplish this? I know I can use a click heat map as well to get a general idea, but I wouldn’t be able to track back to which link is converting the best.
Thanks!
Great article. After a user clicks on an advert which comes to my site, google analytics works fine but the browser finishes showing the google analytics string and I want just the base URL with all google analytics UTM variables removed. How do I do this as I can’t figure it out or find any resources and I’ve seen it happen on all other sites — just like this page itself.
I noticed that when viewing Google Analytics Content reports, some of the URLs that have an ampersand (“&”) in them show the ampersand, while others show “%26″, I end up with two sets of data for every URL I’m tracking, which is kind of annoying. Anyone know how to keep that from happening, so I just get one URL with just the ampersand in it?
Thanks.
Hi Nick,
Can you share the URLs that you tagged? If you’re tagging properly with the Google Analytics parameters, you shouldn’t see anything.
Thanks,
-Alex
Hi there..
I am brand new to analytics, so this question may seem a little ‘out there’.
But, I have three campaigns that I want to monitor for a customer. I clearly understand how to create a special tagging URL and what the parameters are.
The next step seems intuitive but I just want to be sure so I don’t embarass myself with a third party. Do you then send this new revised URL to website that is running your banner, and ask them to use this new and revised code?
Thanks… Just want to be sure before I ventured out there.
Heather
Indeed Heather, you have to ask them to adapt the url.
Yes, you have to make sure the URL is associated with the link.
In paid search, you’d just set this up when you write your text ad in AdWords with the a tool like ClickEquations.
If you’re not placing the banner buys directly, you need to have the publisher or your media buyer assign the right URL that you’ve specified to the appropriate site and creative.