What’s not to love about learning from others’ mistakes in life? That’s what I aim to help you do in this post.
I know I hit on campaign tagging and channels A LOT. Here are my resources to date:
- Campaign tagging guide
- Channels guide
- Post with guidance on how to tag social ads
- Post on customizing channel groups
So you may be asking yourself, “Why can’t she let this go?”
Why? I’ll tell you why. Because campaign tagging is the number one cause I see for serious issues in Google Analytics audits.
You might ask yourself, in followup, “Then why would she keep writing about this since campaign tagging disasters are her job security?”
Yeah, I don’t really have an answer for that one.
Anywho, let’s kick off with mistakes I’ve seen from publishers.
Publisher Errors
I keep a note in my Evernote of campaign tagging issues I see as I’m out and about roaming the web. I’ve been holding onto it for a few years, so some of the examples were dated. But I pulled up each of the site’s Facebook pages, and if they corrected the errors of their ways, I didn’t use them as a cautionary tale.
With each link, I’ll share what’s wrong with it and how I would recommend fixing it. Of course, these sites might have already implemented the fixes I recommend, but that would be rare. And publishers are the worst offenders I’ve found to date of campaign tagging disasters. However, I’ll share some examples of campaign tagging disasters I’ve found on other sites.
Gawker
Gawker is now defunct, but before it went under, their social team made plenty of gaffes of their own.
Example Link
http://gawker.com/how-things-work-1785604699?utm_campaign=socialflow_gawker_facebook&utm_source=gawker_facebook&utm_medium=socialflow
What’s Wrong
- Google doesn’t recognize ‘socialflow’ as a medium, so all of this tagged traffic would show up in Google’s (Other) channel. I see this issue quite frequently with tools that use Social Flow. Check out my latest post on channels to find out which mediums you can use. (I share a resource from Google’s site that’s pure gold.)
- Source should be ‘facebook.com’.
- Campaign feels like a lost opportunity in that ‘facebook’ is already included in the source. It’s up to a social team to decide how granular they want to get with their campaign names, but none of these elements scream campaign to me.
How To Fix
- Change medium to ‘social’ or a medium Google recognizes. (‘social’ is the easiest.)
- Change source to ‘facebook.com’.
- Customize Social channel to include ‘socialflow’.
The Independent
Example Link
http://www.independent.co.uk/arts-entertainment/films/news/hugh-jackman-wont-join-mcu-wolverine-x-men-disney-fox-deal-a8111726.html?utm_campaign=Echobox&utm_medium=Social&utm_source=Facebook
What’s Wrong
- Google Analytics engineers made the tragic decision to make campaign parameters case sensitive and didn’t account for the very real possibility that marketers would capitalize their mediums. Ergo, Google has no idea what ‘Social’ is and files it in its junk drawer — the (Other) channel. ?
- I would tag the source as ‘facebook.com’, not ‘Facebook’. The reason is you should ideally mimic how sources naturally appear in Google Analytics. For referrals it’s just the domain, with the exception of Google Plus. Then it shows up as plus.google.com or plus.url.google.com.
How To Fix
- If you’re using a campaign tagging resource like the Google Doc I’ve made publicly available, force mediums to lowercase.
- Add a line item in your channel definitions that use ‘matches regex’ to make them not case insensitive.
BuzzFeed
Example Link
https://www.buzzfeed.com/claudiarosenbaum/dustin-hoffman-new-sexual-misconduct-allegations?utm_term=.hhbxeDQLK0&utm_source=bffbbuzzfeed&ref=bffbbuzzfeed#.viqYELNOKD
What’s Wrong
- It’s missing the most important parameter: medium! This traffic will show up in BuzzFeed’s (Other) channel because there’s no medium telling Google to send it to their Social channel.
- utm_source should be set to a real source: facebook.com.
- Any extra details (like what they have in source) should be put into the content parameter.
- There should be a campaign name.
How To Fix
- Set medium to ‘social’.
- Set source to ‘facebook.com’.
- Customize Social channel to include sources that match ‘bffbbuzzfeed’ to future proof the channel.
- Create a custom channel grouping that they can use to see how their historical data would be impacted.
Pro Tip: One serious benefits to custom channel groupings is they are available in the Channels report as well as your Multi-Channel Funnels reports. Your customized Default Channel Grouping isn’t available to your in your MCF reports. The sad thing about the custom channel groupings is that they have to be shared (even among users in the same organization), and they’re not available to you through the API. ?
Bustle
Example Link
https://www.bustle.com/p/perms-are-making-a-comeback-you-may-actually-want-one-7607452?utm_source=facebook&utm_medium=owned&utm_campaign=bustle
What’s Wrong
- Google doesn’t recognize ‘owned’ as a social medium.
- ‘facebook’ isn’t how this referral shows up in GA reports.
- ‘bustle’ isn’t a very useful campaign name.
How To Fix
- Set medium to ‘social’.
- Add ‘.com’ to source.
- Consider using a campaign name a little more insightful than the name of your organization.
Errors on Other Sites
Publishers aren’t the only ones messing up their campaign tagging. Let’s pick on learn from some other sites’ mistakes.
nj.com
Example Link
http://www.nj.com/hunterdon/index.ssf/2017/07/no_bull_landmark_nj_country_western_club_suddenly.html?utm_source=dlvr.it&utm_medium=twitter
What’s Wrong
- ‘twitter’ isn’t a medium; it’s a source.
- ‘dlvr.it’ isn’t a source; it’s a social media automation tool.
- There’s no campaign.
How To Fix
- Set medium to ‘social’.
- Set source to ‘twitter.com’.
- Add dlvr.it to content if you want to include that detail.
- Include an intuitive campaign name.
iskn
Example Link
https://store.iskn.co/products/slate?utm_source=Facebook&utm_medium=Video&utm_content=Web_Serie_e01_&utm_campaign=Consideration
What’s Wrong
- This link was shared on Facebook so the medium should set to ‘social’, not ‘Video’.
- ‘Facebook’ isn’t how this source shows up in Google Analytics.
- Campaign name seems pretty vague.
How To Fix
- Set medium to ‘social’.
- Set source to ‘facebook.com’.
- Consider creating a more intuitive campaign name.
Product Hunt
Example Link
https://www.producthunt.com/posts/api-list?utm_source=browser_notification&utm_medium=browser_notification&utm_campaign=api-list
What’s Wrong
- You don’t want to use the same value for multiple parameters.
- Google doesn’t recognize ‘browser_notification’ as a medium.
- Source should be the site this links lives on. Since this link was sent to me over Slack, I don’t know where it originated. If it’s a browser notification that can pop up on any site, they’ll need to be creative as to the source, much like we have to do with email (which I explain in my campaign tagging guide)
How To Fix
- I actually like browser notification as a medium. I would use a plus sign instead of an underscore so that it shows up as a space in your GA reports. (Again, I demonstrate this technique in my campaign tagging guide and my most recent post on channels. But that’s just a styling preference on my part.
- Create a Browser Notification custom channel to rescue this traffic from your (Other) channel. If you want to learn how to use regex in Google Analytics like a baws, check out my super nerdy regex post. (I break it down in the simplest terms.)
Hipmunk
Example Link
https://www.hipmunk.com/hotels?variant=cnntravel&utm_source=cnntravel&utm_campaign=cnn&utm_medium=search_partnership&utm_content=30perc4starnycsave1#w=New+York+City,+NY;i=2016-01-08;o=2016-01-10
What’s Wrong
- Google doesn’t recognize the medium ‘search_partnership’.
- ‘cnntravel’ isn’t a valid source. Source should be the domain the link lives on. Additional details can be dropped into the content parameter.
- ‘cnn’ isn’t a good campaign name.
How To Fix
- Create a custom Partner channel for links of this nature. Include any other mediums you want to use to populate this channel, separating them with a pipe character (above the backslash character on the keyboard).
- Use ‘cnn.com’ as the source. Drop travel into the content parameter.
- Give the campaign a more intuitive name, like ‘travel link’ or whatever makes sense to the team.
Find Your Disasters
There’s an often overlooked channel in Google Analytics’ Channels report (Acquisition > All Traffic > Channels) called (Other). This is where good data goes to die. It’s a barren land filled with social, retargeting, email, and other precious marketing data. It’s time to turn that around. (Annie, what are you blathering on about?)
You’ll want to click on that line item and then change the primary dimension in the subsequent report to Medium by clicking on Other and typing “med” in the filter to pull it up. If you’re a visual learner, follow the animated gif below.
Need More Help?
If you’re still unsure about how to fix your campaign tagging issues and create custom channels that work for your business, I offer several options to help get you out of a rut:
- Hangouts: Grab an hour or two to pepper me with your campaign tagging issues. I use a conferencing service that also allows us to share screens easily. So I can make changes while you watch or vice versa. Then I send you a copy of the video of our session.
- Analytics Audit: These are comprehensive deep dives into your analytics issues that include an investigation of your campaigns and channels.
- Analytics Tuneups: These are pared down analytics audits that include the most common issues I see in audits. Not a guarantee these will be your account’s biggest issues, but it’s a good option for startups and smaller sites.
- Analytics Audit Template: On a really tight budget or want to learn to do your own DIY analytics audit? It doesn’t get less expensive than this. For $295 you get a 200+-page illustrated template that walks you through how to perform your own analytics audit. You can also use it to train new analysts on how to customize (or fix) your Google Analytics implementations.
Matt Kirk says
Hey Annie,
I’m wondering: do you think it would be valuable to also put nginx / apache rewrite rules on a server to fix these campaign tracking mishaps. It seems like a lot of these are pretty simple fixes that could be automated as an nginx module. For years I’ve been harping on people about tagging correctly (I’m a developer not a marketer) but it still happens.
I’ve also seen some pretty awful tagging campaigns like the one time I saw 1k of text in utm_* parameters :-D.
Best,
Annie Cushing says
It’s a really creative idea, but … I wouldn’t recommend it. Only because there wouldn’t be any transparency around it. I mean you’ll know you set it up, but months or years down the road someone else might come along and be completely flummoxed by the disparity between your tags and your data. At minimum, I’d add an annotation to your account (in each of the views that would be impacted by this change) alerting marketers downstream of the change. But most marketers don’t look in the annotations to see changes. So it’s still a risky move, even if it would work well. My $0.02.
Annie Cushing says
That said, my inner scientist is DYING to know if it works. DY. ING. So if you DO set this up, even as a test, I’d love to know the result!
Brett says
Hi Annie!
I think I can give some insight on why tracking codes might be setup like your examples (to some extent anyway).
I usually see tracking like these examples because the data is being pulled from GA to a database to be sorted and organized later. For instance, I can see Bustle using the medium as owned so they can sort all of their owned vs paid social traffic separately in a third party reporting tool or an analysis tool.
When this happens, I usually create a custom channel grouping (I don’t like to edit the default grouping because other users may not realize it has been edited) that reorganized this data to how it is reported in any third party tool. But, the best solution IMO is to create a custom parameter with a unique ID that can be connected to an unlimited number of variables in a third party database.
Annie Cushing says
Hi Brett,
Thanks for stopping by! I agree that there could be any number of reasons sites use custom mediums. But my experience is that they usually DON’T create custom channels for it. Publishers typically have robust (Other) channels with a lot of their tagged traffic and don’t know to check it to rescue that data. Using ‘owned’ is a particularly bad option, imo, b/c it’s very broad. Owned is anything that’s not paid, so organic search traffic falls into that category. In any case, they just need to make adjustments to ensure it’s in the proper channels in their reports.
One huge disadvantage to relying on custom channel groupings is that they’re not available in the API. That’s fine for mom and pop shops who typically aren’t using dashboards to track their traffic. But most publishers are. So I use them for forensic purposes, but for anything that needs to show up in their dashboards, modifying the DCG is a must.
Jeremy says
Doesn’t traffic from Facebook without UTM tags get sorted into “facebook.com / referral”? Your advocate using “social” for the medium, is that to sort out tagged Facebook traffic from non-tagged?
Annie Cushing says
Yes, exactly. This way you can segment organic social from social traffic that’s a result of your social shares.
Scott Thomas says
Do you have any advice for tagging Google my Business links with UTM tagging? I’ve seen some folks claim a lot of GMB listing traffic gets dumped into direct / none.
Annie Cushing says
I know bigger companies like PetSmart have been doing it for years (link to screenshot: https://www.screencast.com/t/PQ3n4HJr0oo). Personally, I would create a custom channel for it (google / local for source / medium). But I understand why they used google / organic for source / medium. But I’m a huge fan of custom channels.
John Hughes says
Annie, what are your thoughts on using a GA filter to force the utm_medium to lowercase?
Annie Cushing says
Google uses the raw, prefiltered campaign data, so a lowercase filter has no effect. I was very surprised to find this out a few years ago doing an analytics audit.