How to Track Your Social Media Campaigns in Google Analytics

Campaign tracking is one of Google Analytics’ most valuable features, allowing you to narrow down exactly which post, tweet, or banner ad drove traffic to your website. Although Analytics will track the source of your visits automatically, it can only tell you the website your visitors came from, like Facebook or Pinterest – meaning for all the work you invest into social media every day, you have no idea what’s actually effective at driving visitors back where you want them. Until now of course. Google Analytics campaign tracking is so easy to set up that there is really no reason not to use it. So let’s dive in, shall we?

01. Step Away from the Google Analytics Dashboard...

A common misconception about campaign tracking is that it requires any extra setup in Google Analytics itself. It doesn’t: if you have the basic tracking code installed and functioning correctly, you already have everything you need to start tracking individual posts and campaigns online.

So instead, go to your website and choose your destination URL. Maybe it’s simply your homepage, or perhaps a particular article you’ve written, or maybe you run a store and are sending visitors to a specific collection. So long as it’s a link on your own website, you will be able to track it.

02. ...and Head Over to the Google URL Builder

So now you have the URL you want to track. Copy the full URL, and paste it into the box provided in Google’s URL builder form. Now there are three pieces of information our tagged URL has to have to function properly, and to keep things clear, let’s say it’s the URL of this very article: We’re going to need to add:

Our campaign Source: basically the website where this URL will be shared. I’ll start with Facebook, so in the box provided I’ll write “”. Now all we’re doing, is giving ourselves a way to identify the source in our Google Analytics reports later on, so you could put anything you want here: “FB”, “facebook, “home-of-mark-zuckerberg” – so long as you know what the source refers to, otherwise in a couple weeks you’ll be scratching your head as you try to figure out what website “fdhkghreoiuth4oiu” was meant to be.

Our campaign Medium: in this case, since Facebook is a social media site, I’ll write “social”, so when I’m analysing traffic in my reports later on, I can see at a glance whether my “social” channels are driving more traffic than straightforward website “referrals”, or whether “email” still rules the roost. To keep things simple for myself, I try to follow the naming structure Google Analytics already uses to break down your traffic channels for you.

Just as with the Source, I could name my medium any thing I want, but let’s say instead of just “social” I decide to be more detailed, and call my medium “social-media-website”. When I go to analyse my traffic channels, I’m now going to have two entries for my social traffic: Google Analytic’s default “social” channel, and my own “social-media-website” channel, even though they both refer to the same type of traffic: visitors from social media. Whereas by using “social” all my social traffic is grouped together by medium, which is much more convenient.

Our campaign Name. In our example, I’ll want to remember which of my articles drove the traffic to my website, so I’d probably call something like “ga-campaign”. Again, as with all the fields, you can call your campaign whatever you want, but it helps to make it something identifiable in your reports later on: “EmailA” is definitely not going to be as informative as “MaySale16” for example.

And that’s it! You’ll see there are a couple of other values you could add in there but these are really only intended for running paid ad campaigns. So let’s go ahead and hit that “Generate URL” button, and you will see a long link that looks like this:

Now you have your first campaign tagged URL. See? Told you it was easy!

Final Campaign Tracking Tips

One thing I’ve noticed some of my clients get very confused about, is how this actually works. I’ve even created tagged URLs for clients before, only to have them leave out the “?” part when they share their link on social media, and just share the URL part: “”.

You know what that does? That’s right, nothing! Google Analytics will read that link the same as any other link without those UTM tags added. See, you’re not changing anything about your website or about your Google Analytics setup. You are just creating a uniquely tagged URL, that you can use to identify a particular social media post or banner ad. And although “tagged URL” sounds fancy and complicated, all it means is you’ve added some extra text information to the end of it. So, Rule Number One: make sure your link contains those all important “utm_source”, “utm_medium” and “utm_name” parameters.

Now I’ve also had clients make the opposite mistake: I’ve sent clients a tagged URL, like our example, for them to share on Facebook. And they remember to include the tags when they share it on Facebook, but unfortunately, they also share the exact same link on Twitter, and LinkedIn, and Pinterest…

Which means that now every visitor who clicks on one of those links, whether LinkedIn or Twitter, is going to be shown in Google Analytics as coming from “”. That’s right, those UTM parameters will override the usual “Source / Medium” data in your reports. I’m betting you’re ahead of me here with Rule Number Two: ALWAYS remember to update your utm_source when sharing the same campaign on different websites.

Finally, we come to Rule Number Three: be consistent. Those UTM values you provide are case-sensitive, so say this week I call my source “”, but next week, I type “”. Yep, now that traffic will be split up in my reports, and although of course you can always go through and manually filter for “FB”, “fb” “FaceBook”, “facebook” and so on, wouldn’t it be easier if I’d just used the same source name all along?

That’s why I strongly recommend using a simple URL tagging spreadsheet when setting up your campaigns. Just jot down the campaign sources, mediums, and names as you go, and then it’s really easy to keep everything consistent. It also has the added advantage of making sure you don’t accidentally use the same campaign name for different campaigns, which is surprisingly easy to do after you’ve created several hundred of them!


I’ve made a simple URL tagging spreadsheet that you can use to build your URLS, as well as automatically tracking all your campaign names. Just sign up to my mailing list to access the download link!