While building a UTM URL, you sometimes find yourself wondering what should you use for utm_campaign, utm_source or any other UTM parameter. Sometimes it’s clear, but often you don’t know and just make a guess. When you realize it was not the best choice, it’s probably too late.

One option to prevent this is to search online for what the experts recommend. But there’s also another great option. You can look at the examples of UTM parameters that land in your inbox every day. Some of them will give you good ideas.

You probably get regular emails from your favorite websites like Pinterest, Groupon, Fab, and the latest internet darling, Medium. Click on a link in those emails and you will notice the UTM parameters in the URL.

Let’s look at emails from 10 companies. We can see some mistakes as well as best practices in how they use UTM parameters.  We will also see how one company knows how to use UTM parameters really well. As we go through each email, we will develop a sense of good practices to follow when creating UTM parameters.

If you don’t know what UTM parameters are or why you should use them, you can look at these articles and also search for “UTM parameters”.

Let’s get started.

10. Pinterest

Pinterest sends out weekly emails with a list of “boards” to follow. Each “board” has an author, a few images, and a “Follow Board” button. All the links for a given board, except the author, go to the same page. Here’s a snapshot of the part of the email.

Links in Pinterest email

Links in Pinterest email

All the links (marked in red boxes) share these UTM parameters:

utm_campaign : weekly_wkly_130722
utm_medium : email
utm_source : sendgrid.com

What’s good about it:

  • utm_medium as “email” is short and clear.
  • “130722″ in utm_campaign is the date the email was sent out (22 July, 2013). It’s a useful piece of information to have.

What could be improved:

  • utm_campaign has “weekly” and “wkly”. This duplicate information can only cause confusion.
  • Sendgrid is an email service provider and should not be used for utm_source. It has no marketing value.
  • There’s no way to know if people click more frequently on one of the images or the “Follow Board” buttons.

9. Medium

The weekly email from Medium has a list of recommended articles.

Links in Medium email

Links in Medium email

Each link has a different URL, but shares the same UTM parameters with others.

utm_campaign : 28A
utm_medium : email
utm_source : newsletter28A

What’s good about it:

  • utm_source with “newsletter” in it is meaningful.
  • When you click a link in an email from Medium, the UTM parameters disappear as soon as the page loads. This completely hides the UTM parameters from the website visitors and also makes the URLs look nicer in the browser.

What could be improved:

  • Using codes like “28A” prevents people from knowing what campaign they were part of. But it also means that anyone looking at analytics reports has an unnecessary overhead of figuring out the difference between “28A” and “29A”.
  • Because of “28A” in utm_source, you cannot easily compare the performance of “newsletter” emails across different campaigns. It is also duplicate information from utm_campaign.

8. Fab

Fab sends out a weekly email with the best selling products, top events, etc.

Links in Fab.com emails

Links in Fab.com emails

Similar to Pinterest and Medium, all the links in the email have the same UTM parameters.

utm_campaign : best_of_fab_mailer
utm_medium : email
utm_source : Triggermail
utm_term : best_of_fab_production

What’s good about it:

  • utm_campaign and utm_medium are clear and make sense.
  • utm_source as “Triggermail” might mean that these emails are triggered based on some user settings. It’s clear.

What could be improved:

  • Specifying utm_term is a big mistake. It should only be used in paid search to specify keywords, such as in Google Adwords. It also does not provide any information that utm_campaign does not.
  • Use lowercase for utm_source.

7. Unbounce

People at Unbounce create very good content about marketing and landing page optimization. They promote creating highly converting landing pages. That’s why I was a bit disappointed when I looked at the links in their email.

Links in Unbounce emails

Links in Unbounce emails

All the links go to the same URL and share the same set of UTM parameters.

utm_campaign : big-picture-cro
utm_medium : Email-Invite
utm_source : Webinar
utm_content : conversion

What could be improved:

  • utm_medium and utm_source should be lowercase.
  • utm_medium should just be “email”. Any additional information like “invite” should be in other tags.
  • utm_source as “Webinar” is incorrect. It would make sense if I had subscribed to a “webinar” list. However, I got the email because I signed up for the Unbounce service. Something like “mail_settings” or even “newsletter” would make sense.
  • It is not clear what utm_content “conversion” is supposed to tell if it is the same for all the links.

6. Groupon

Like others, Groupon also sends regular emails with various offers. A snapshot of part of the email is shown below. It has two offers.

Links in Groupon emails

Links in Groupon emails

An offer has links for the image, title and “View” pointing to a unique url for that offer.

Links in the offer on the left, “Standup: Jeff Dye”, has the following UTM parameters:
utm_campaign : gl-cobbs-comedy-club-7
utm_medium : email
utm_source : newsletter

Links in the offer on the right, “Photography Workshop”, has these UTM parameters:
utm_campaign : eric-c-gould-photography-6
utm_medium : email
utm_source : newsletter

What’s good about it:

  • utm_medium and utm_source are concise and clear.

What could be improved:

  • utm_campaign does not say anything about the campaign. It should tell why you are sending this email. Fab.com’s “best_of_fab_mailer” is a good example of this. Also, the traffic reports for the target urls already measure what utm_campaign is trying to track. Imagine the number of campaigns showing up in Groupon’s analytics reports (a gazillion?).
  • It does not track if people click more on the image, the header or the “View” link.

5. Gilt City

Let’s get to more interesting cases. One such is Gilt City.

utm_content for links in Gilt City emails

utm_content for links in Gilt City emails

All the links in the email share a common set of UTM parameters, except utm_content which are shown in the snapshot above.

utm_campaign : Act20-562039272-san-francisco
utm_medium : email
utm_source : city
utm_term : 1342854

What’s good about it:

  • “city” for utm_source probably makes sense since it might mean people subscribed to Gilt City. However, it could be more specific.
  • utm_content is different for different kinds of links. e.g it is “templatelogo” for Gilt City log, it is “templateviewall” for “View All Offers”, and it is “sunnycity20″  for the big red “Get 20% Off”. It tells us what kind of link was clicked.

What could be improved:

  • As we discussed earlier, utm_term should not be used.
  • utm_campaign value of “Act20-562039272-san-francisco” has some internal numbering system which might not be very easy to analyze.
  • An underscore should be used in “san-francisco” part of utm_campaign. This tells us it is one word and separates it from the other information.

4. Zillow

Zillow has a very nice website. Their email also looks very well thought out.

Links in Zillow emails

Links in Zillow emails

A typical link in their email has following UTM parameters

utm_source : email
utm_medium : email
utm_campaign : emo-headerhome-20130730_Buzz_LocalData_updatetemplate

All the links have utm_source and utm_medium as “email”, but the utm_campaign is different for each link.

Let’s look at the utm_campaign values for each link. They are named in great detail. Hold on to your seats. We are diving deep. 

utm_campaign values:  The numbers next to each utm_campaign corresponds to the link in the image.

  1. emo-headerhome-20130730_Buzz_LocalData_updatetemplate
  2. emo-headermortgagerates-20130730_Buzz_LocalData_updatetemplate
  3. emo-headerdigs-20130730_Buzz_LocalData_updatetemplate
  4. emo-headerzillowlogo-20130730_Buzz_LocalData_updatetemplate
  5. emm-0713_LocalClaim-hdpbutton
  6. emm-0713_LocalClaim-hdpimage
  7. emm-0713_LocalClaim-hdpheader
  8. emm-0713_JulyLocalClaim-zhvi
  9. emm-0713_JulyLocalClaim-summary
  10. emm-0713_JulyLocalClaim-blog
  11. emm-0713_JulyLocalClaim-blog
  12. emm-0713_JulyLocalClaim-blog

You can almost figure out the naming convention they use. For links 1 to 4, “emo-header” is used as a prefix, for link 5-12, “emm-0713″ is used as a prefix, etc.

What’s good about it:

  • They capture a lot of the information necessary to know what people are clicking.
  • Separating different pieces of information by a dash (“-”) helps to parse them easily in analytics tools.

What could be improved:

  • “email” is not a utm_source.
  • There are three variations of dates in utm_campaign: “20130730″ in links 1 to 4, “0713″ in links 5 to 7 and “0713_July” in links 8 to 12. This inconsistency only makes it difficult to generate reports based on dates, the reason they were added in the first place.
  • There is no need to capture the month twice in utm_campaign by adding “July” in links 8 to 12. It also breaks the consistency of the prefix “emm-0713_LocalClaim” by inserting “July” in there.
  • Lowercase letters should be used in all parameters.
  • Using “blog” as a suffix for links 10 to 12 tells us about the destination, but not what was clicked.
  • utm_campaign parameter is overloaded with information. Information like “hdpbutton”, “hdpimage”, “hdpheader”, etc. belongs in utm_content.

Overall, Zillow emails have the depth of tracking. The main issue with the inconsistent naming convention is the difficulty in analyzing the reports.

3. Ted

I love Ted videos. Who doesn’t? A lot of them are very inspiring. Let’s look at one of their weekly emails. Only lower half is shown.

utm_content for links in Ted emails

utm_content for links in Ted emails

The common UTM parameters shared by all the links are:

utm_campaign : newsletter_weekly
utm_medium : email
utm_source : newsletter_weekly_2013-06-08

utm_content is different for each link based on the context and are shown in the snapshot. e.g. the link on the quote by Adam Davidson has utm_content as “quote”. Similarly, other links have utm_content as “conversation” and “comment”.

What’s good about it:

  • This is a great example of how to use utm_content. They know exactly what kind of links get the most clicks.
  • utm_medium and utm_campaign are very clear.

What could be improved:

  • utm_source should not change for every newsletter. The date information does not belong in the source. It should go in utm_content.
  • utm_source repeats the “newsletter_weekly” which is already part of utm_campaign. It should be “myaccount” or “email_settings” because that’s how I get on this email list.

Overall, this is a very good UTM implementation. It also highlights a drawback of UTM parameters. They don’t have a very good way to track dates. One option is to add them to utm_content. e.g. “2013_06_08-conversation”. But then it makes analyzing utm_content more complex.

2. Google Offers

Let’s look at Google, the reason we use UTM parameters in the first place. Let’s see how they do it with Google Offers.

utm_content for links in Google Offers emails

utm_content for links in Google Offers emails

Google Offers, the daily deals service, sends out regular emails with the latest deals. Part of one such email is shown here. The top offer “BJ’s Restaurant and Brewhouse” is a single link. The other two offers have four links each, all pointing to the offer url.

The common UTM parameters for all the links are,

utm_campaign : dailyppo
utm_medium : email
utm_source : ppo

The utm_content for the links are “savable0″, “savable1″ and “savable2″ respectively.

What’s good about it:

  • utm_source “ppo” is probably the list that a person gets on by signing up for Google Offers. It is concise and clear.
  • utm_campaign “dailyppo” suggests that there is a daily email going out and perhaps there is also a weekly one. This is also very clear.
  • utm_content is not specific to any actual offer, but to the layout of the email. If “savable1″ gets the most clicks across different emails, then we know where to promote the more expensive offers.

What could be improved:

  • There’s no way of knowing if people click more on “Get offer” button, the image or the heading of a particular offer.

Overall, the UTM parameters are used better than most companies. They are simple, clear and provide a lot of valuable information without making them clunky and difficult to analyze.

1. Redfin

Redfin sends an email when something matching your search criteria is found. Let’s look at their “Instant Updates” email.

utm_content for links in Redfin emails

utm_content for links in Redfin emails

All the links in this email share these UTM parameters,

utm_campaign : instant_listings_update
utm_medium : email
utm_source : myredfin

utm_content for each link is different and the exact values are shown in the snapshot of the email. e.g utm_content for the image of the home is “home_image”. If there were a second house in the email, it would also have “home_image” as utm_content for the link on its image.

What’s good about it: 

  • utm_campaign tells us exactly what this email is about.
  • utm_source is also very precise. These emails are sent when someone opts for listing updates in their Redfin account. So “myredfin” is exactly the source of the emails.
  • utm_content is different for each type of link and is based on the content. This tells Redfin exactly what links people are clicking even when they go to the same page.

Redfin has the most rich and clean set of UTM parameters I have ever found (especially in their instant updates emails). However, they don’t implement the same level of tracking in their other emails, like “Insider Reports”. It’s possible that a different team is responsible for those emails.

Final Thoughts:

Even though we noticed some mistakes in UTM parameters in emails from these companies, we still don’t know their exact analytics setup, or their needs. The current set of UTM parameters probably works best for their particular requirements.

The focus of this post is on simplicity. Good conventions, implemented consistently, can not only enable great insights, but also get them faster with minimum frustration. We also get accurate analytics reports since the risk of navigating through complex UTM parameters, writing regular expressions to parse them, miscommunication across team members, and other such unexpected issues is reduced considerably.

What conventions do you use for UTM parameters? What’s working for you and what’s not?

Feel free to comment or ask questions.

  • Ramsay Leimenstoll

    This article is amazing! My company has a legacy homegrown utm system that no one really understands anymore, so analytics insights are greatly hampered. This article inspired me to try to overhaul them entirely. It’s a very complex topic, but by the time I’d reached the end of the article (all the while toggling Google’s URL builder tool and a word processor document where I was taking notes), I already had the first level of a guidelines outline and a possible format to start using ASAP. Thank you!

    • http://www.terminusapp.com/ Puru Choudhary

      Thanks for the compliment Ramsay. I really appreciate it.

  • Ramsay Leimenstoll

    I’ve actually got a question for you, Puru: Say I’m trying to define utm variables for one link in the first of a series of drip campaign emails.

    Would you suggest adding a “1” or “day1” to utm_source or utm_campaign? I’d want to be able to compare its click-through rates to those of the 2nd email in the series, etc.

    A 2nd Q: if I wanted to try leading the series with different topics (e.g. in one series day1 is about balloons, and in the other day1 is about cookies) where would you suggest adding a phrase that would help me compare those?

    • http://www.terminusapp.com/ Puru Choudhary

      Ramsay,

      For the first question, I would suggest using “1″ instead of “day1″ since the interval between emails can vary. Also, I would suggest adding it to utm_campaign. When adding additional information to any UTM parameter, I like using dash “-”. e.g “how_to_make_coffee-1″. This way you have all the “how_to_make_coffee” campaigns next to each other in analytics and you can compare. If you want to get fancy later on with advanced features of Google Analytics (e.g using regular expressions), you also have a clean reference “-” to separate the information.

      For the second question, it seems that you want to be able to easily compare 1st email of balloon with 1st email of cookies. One option is to use, “learn_stuff-1-balloons” and “learn_stuff-1-cookies” for utm_campaign for the first email and so on. But you could also use “learn_stuff-balloons-1″ and “learn_stuff-cookies-1″. I personally would prefer the second approach since all the balloons campaigns will be together and so will be the cookies campaigns.

      Hope this helps. Thank you very much for the questions, Ramsay. It also helps me think through new scenarios.

      Best,
      Puru

      • Ramsay Leimenstoll

        Thank you so much for this detailed response, Puru. It really helped. I guess it all comes down to what is most important to us to be able to compare most readily/easily. I think we might try out one way of defining our utm parameters for a week or so, and if we realize that they’re missing something crucial, or making something important too difficult, we can change them up. I’m confident that any strategy that incorporates what I’ve learned from this article will be an improvement over our current strategy, which currently makes traffic source analysis slow going.

  • Pingback: How to Use UTM Parameters in Drip Email Campaigns for Best Results - Terminus Blog

  • Lucy

    Great post! Quick question: for the source parameter, do you recommend using the site’s general name or URL? Example: “utm_source=website” or “utm_source=website”

    • http://term.li/1eFEesN Puru Choudhary

      In the past, I have preferred the name of the website e.g. utm_source=twitter since it’s clear and simple.

      But also consider that the referral traffic has source as “twitter.com”. So there’s an advantage in using something like utm_source=twitter.com. This allows you to see all the traffic from Twitter in one place. Therefore, I am now slowly inclining toward using the domain name as utm_source. It could help you build cleaner reports.