Here’s what I believe – most campaign tracking on social media sucks. Heavily!

Whether you’re a Google Analytics power-user, or perhaps you only use it occasionally, you know that campaign tracking can be a lifesaver to manage your owned traffic. You wouldn’t send a monthly newsletter without properly tagging your links, right? You wouldn’t advertise your site on a magazine or a TV ad without campaign tracking, right?

Campaign tracking helps you assign traffic to your specific campaigns. Failure to do so means that not only will you not be able to properly segment your owned traffic, but you’ll also make it difficult to get actionable insight from your campaigns. (And you’ll also make a social analyst very unhappy.)

At the moment, Google Analytics lets you apply up to 5 campaign tracking parameters. For instance, if you’ve ever clicked on a link that was shared via Buffer, you’re probably familiar with the following pattern:


If you’re wondering what all that means, here’s a quick breakdown:

  • utm_campaign: campaign tracking: this lets you group all the links from one campaign in your analytics tool. Imagine all your campaign links in one big folder – the campaign tracking name is the name of that folder;
  • utm_source: source tracking: this helps you track which website is sending you traffic. So, going back to my Buffer example, I can see that this link comes from Twitter (;
  • utm_medium: medium tracking: this lets you track the marketing medium the links is featured in. So, utm_medium=social tells me that this link was shared on social media, while utm_medium=sms tells me that this link was used in an SMS marketing campaign;
  • utm_content: content tracking: if you have more than one link pointing to the same destination, this tag lets you differentiate the links or entry points bringing traffic to that destination. So, if your homepage has two links to your contact page, yet one is in thesidebar, one is in the header, and one is in the footer, you may want to useutm_content=sidebar, utm_content=header, utm_content=footer This is commonly used on pay-per-click (PPC) ads and A/B testing;
  • utm_term: term tracking: while you might not see this often, this parameter is used to track what keywords you’ve paid for in a pay-per-click (PPC) ad.

As for the ampersand (&), that’s only used to join these parameters together, hence why you end up with long strings of parameters in a URL.

So, what’s the problem? It’s twofold:

  • A lot of social campaigns are often carried out without thinking of these parameters. Sure, you have Google Analytics on your site, and sure you can have a referrals report through Google Analytics, to see which sites are referring traffic to your own site. However, this isn’t always effective – what if someone clicks on your link from a Twitter client (e.g. Tweetdeck)? What if someone cicks on your link from an email client, or a Facebook client etc.? They’re not clicking from a website, so they’ll normally show up under “direct traffic”. That aside, campaign tracking makes it infinitely easy for you to see the impact of your campaign on your website;
  • A lof of social publishing tools aren’t conducive to writing parameters properly. So, for instance, you’ll have tools that promise to shorten and schedule links for you, when instead their default parameters aren’t helpful when it’s time to report on traffic. This will then leave you with unhelpful and ambiguous parameters.

If you need help in creating custom campaign parameters for your links, Google Analytics have a handy tool that can help you with thatclick here to access it.