7 ms·
How to use UTM parameters to grow your audience
- petercooper 6y agoI run a newsletter company with almost 500k subscribers. When I started out 10 years ago, I was a fan of Google Analytics so added these parameters to all links in my newsletters. This was uncommon at the time and it turned out to have a huge impact on our growth as lots of webmasters were glued to their analytics at the time, wondered who we were, and Googled the name of our newsletters! I got emails or tweets every week saying as much and thanking us for linking to them, etc. In the last five years it hasn't come up at all as everyone is doing it and people seem to dig through their analytics less than ever before, but if it helps you track links to your own content, as being shown in the article, it's certainly worth a go. Another amusing point is that HN didn't used to strip these parameters, so sometimes I could see when people had reposted things from our newsletters on to HN (and kept the utm params in) which was always a buzz :-)
- deleted 6y ago[deleted]
- duck 6y agoJust to add to Peter's comment, the one issue with links via email/newsletters is that they show up as 'direct' traffic with no referral, so they are about impossible to link back to anything w/o the utm params.
- kirillzubovsky 6y agoYeah, "direct" traffic is so elusive. It's just a big bucket of visitors. It's a pity because I would have loved to reach out to folks who send this traffic and thank them, or ask for their thoughts on the product...etc. Mailchimp adds their own trackers on top of the links you insert into the newsletter, which they use for tracking open/click rates, but that's almost less interesting than the source. Why does it matter that I have a 36% click rate on the last issue, is it good? What if instead I have 10% click rate, but 1 of those people shared it with 10k more? I understand why in general people don't like tracking, especially here on Hacker News, but I think some of it could lead to much better outcomes for all parties involved. I wonder what other solutions there are to help piece together your audience, and their interests.
- personjerry 6y agoYou can make a dummy page for each email link that simply redirects to the correct page with the proper tracking information.
- duck 6y agoI think that is exactly what Peter ended up doing for his newsletters.
- petercooper 6y agoWe have a redirect so we can measure traffic in aggregate (we don't track who clicks what) to refine our content over time. But.. I don't believe we get set as the referrer the way we do it (30x redirects). I believe this is why Twitter's t.co redirector DOES use a true "dummy page" as then they get the referral. It's something that might be worth trying though..
- duck 6y agoAh, okay... that makes sense and is a great setup. Did you run into any issues with spam filters when you made that switch?
- petercooper 6y agoNope, it's what Mailchimp, etc., do. All the outgoing links just fly through their server on the same hostname. We do the same with our hostname. I have evidence that Google follows these links though, because if you link to a "bad" site even through a redirector, Google notices and will throw you into spam or say you're phishing, etc :-)
- shostack 6y agoJust about any email platform that does link tracking uses this approach and many can set custom UTMs for you automatically with those tracking redirects.
- stanislavb 6y agoThanks Peter, I'm wondering, why did you stop using UTM params?
- petercooper 6y agoA handful of reasons all sorta collided. First, we had some issues with certain sites not working at all if we added them and since our link forwarder was doing it automatically, it made life difficult. We came up with a way to turn them off on an adhoc basis but it was annoying. Second, I didn't feel they were really moving the needle in any useful way. I don't think people are looking at their stats every day like they used to. Third, it just felt like more litter/junk for tracking purposes. While there's no privacy aspect to it, I just felt like going a little cleaner in this regard. But.. I can't say they won't ever come back :-)
- gk1 6y ago“Grow your audience” is a stretch here. Better to say “...to see where traffic comes from.” If you want to go a step further and see which traffic sources lead to form completions (like newsletter or app signups), I made a utility that captures UTM parameters and then inserts them into any form submitted during that session: https://github.com/gkogan/sup-save-url-parameters https://github.com/gkogan/sup-save-url-parameters
- kirillzubovsky 6y agoThat's really useful! It's actually surprising that something like this doesn't come as a default with Mailchimp forms. Just forked it and will give it a try. Thank you!
- gk1 6y agoI’ve used multiple marketing platforms, some costing $xx,000/year, and still haven’t seen this feature.
- redis_mlc 6y agoWell, those parameters are intended for GA to parse, so there's several reasons for analytics competitors to not add those: 1) they make it easier for the marketer to setup campaigns with a paid competitor, and then drop the subscription for that software and monitor them with GA only 2) they make GA top-of-mind for marketers every time they look at a link with UTM in it, even in somebody else's marketing dashboard (free advertising for GA) 3) GA gets to collect campaign data, freeriding on the analytics competitor
- medius 6y agoYou can also check out https://github.com/medius/utm_form https://github.com/medius/utm_form which can handle a lot of use cases. (Disclosure: I created this to help my customers at https://www.terminusapp.com https://www.terminusapp.com)
- deleted 6y ago
- monadic2 6y agohttps://addons.mozilla.org/en-US/firefox/addon/utm-tracking-token-stripper/ https://addons.mozilla.org/en-US/firefox/addon/utm-tracking-... I have never observed a “utm” query param actually improve the quality of the response. We all know why this obviously positive functionality isn’t built into the browser: because browser vendors rely on hostile business practices to survive. Still no technology to transact with the site you’re visiting for their content....
- redis_mlc 6y ago> I have never observed a “utm” query param actually improve the quality of the response. You have it backwards. It's more tracking for the webmaster/marketer to know what was popular and what wasn't.
- monadic2 6y agoYes, and despite being easily strippable this functionality is preserved, intentionally, by browsers.
- spike021 6y agoReminds me of a time at my previous job where I was asked to add a utm_source to API client calls for one specific type of client. Less for marketing, more for just the product management side.
- _jal 6y agoI occasionally change them to something random, like "potato_world_weekly_back_cover". Figure it might provide a little entertainment to bored marketeers.
- dmkii 6y agoBored marketeer here. It’s much appreciated :-D.
- anigbrowl 6y agoNeat URL is a Chrome extension that automatically removes all that cruft from URLs. Not affiliated with the author, just sick of people like this author littering in my address bar. https://chrome.google.com/webstore/detail/neat-url/jchobbjgibcahbheicfocecmhocglkco?hl=en https://chrome.google.com/webstore/detail/neat-url/jchobbjgi...
- tangue 6y agoI was looking for that. Now and then I manually add "Your_Mum" as a campaign and other profanities as utm_source
- hbcondo714 6y agoI came across another article[1] on this and they state to "Never use UTM parameters on internal links (e.g., homepage sliders, internal banners, or internal links on blog posts). Clicking on those internal links will cause the current session to end and a new session to start—attributing the new session to the source/medium used on the internal link." [1] https://cxl.com/blog/utm-parameters/ https://cxl.com/blog/utm-parameters/
- cosmie 6y agoThat's definitely a really common issue. And correcting internal links when that happens is always a painful process - the artificially inflated site traffic figures it creates have likely been celebrated and publicized internally, and correcting the analytics (and the subsequent drop in traffic stats) gets treated as if you actually killed real traffic to the site in the process.
- kirillzubovsky 6y agoCan you use your own domain as the `utm_source` and therefore, even if the session is being reset by an update in source, you will know that the sources is your own domain? Might even be good, as a way to calculate how well your internal links are working in keeping the users within the property. For example, put a link at the end of the blog post, and then track how many users clicked it, vs. how many exited on that page.
- cosmie 6y agoThe two issues you run into are: - The primary attribution model in Google Analytics is last non-direct visit prior to <conversion/goal/significant event>. Leveraging the source tracking parameters (utm_*) on internal links obliterates the usefulness of much of the built in attribution-related reporting. Relatively recent enhancements do provide visibility into multi-channel funnel flows, but the capability is compartmentalized into a few purpose-built views and don't filter back to most of the core reporting. - It also drastically skews engagement-related reporting, overall and at a source level. A new session in GA constitutes a completely new visit. So metrics like visits per user, new vs existing users, average visit duration, pages per visit, etc all get whacked in the process. And understanding user behavior and conversion paths from any given channel becomes somewhere between torturous and impossible, as the actions performed in the "new" session aren't visible when looking at the user flow of the original session. What you're describing is possible and commonly done, you just can't do it with the utm parameters intended for source tracking without having disastrous side effects. Custom dimensions/metrics[1] or event hits[2] are the intended ways of doing that. For developers, Google's autotrack[3] library is useful for implementing that with fairly minimal dev overhead (mainly, seeding your markup with relevant data- attributes so event hits can be auto-populated and sent). There are also a lot of third party libraries for framework-specific integrations. And for non-developers, Google Tag Manager (or any other tag manager) makes event tracking pretty straightforward to implement without dev coordination. [1] https://support.google.com/analytics/answer/2709828?hl=en https://support.google.com/analytics/answer/2709828?hl=en [2] https://support.google.com/analytics/answer/1033068?hl=en https://support.google.com/analytics/answer/1033068?hl=en [3] https://github.com/googleanalytics/autotrack/#overview https://github.com/googleanalytics/autotrack/#overview
- zamalek 6y agoI don't understand why we have to store the entire dataset in the URL, when something like ?utm_id=1 (mapped to the others in some database) would do. It's stuff like this that prevents average users from "getting" URLs; they don't know what UTM is and assume it is important to get to the information. This garbage breaks the UX of the internet.
- hnick 6y agoThere is no need to, but doing it with id numbers would add a lot of friction on the content creator's side so that's why it isn't like that. The 'some database' is the problem - who owns it? Right now I can add whatever UTM parameters to any links I send without keying it into a database system, submitting a CR to the IT team, submitting it to Google, or any other nonsense. Details will be collected immediately whether through web logs, google analytics, or something else. If one email that I send has links to multiple domains (some of which I don't control due to SaaS eating the web) then we'd either have to track and manage multiple IDs which change for each link or use a scary looking GUID generated by a centralised system (no thanks). That sounds like a real headache. Hiding it behind an ID would make it prettier but it also reduces transparency to the end user of what is being collected. I think if it's going to be there anyway, I'd rather see it.
- zamalek 6y agoThank you for explaining the verbosity in more detail.
- cosmie 6y agoYou don't have to; GA actually does support precisely the scenario you're proposing - you can use a random campaign key/identifier in a utm_id field, and upload a custom dataset mapping to GA that contains the details to map to the other utm fields. This[1] support article walks through the process. You just rarely ever see it because marketing execution is already an operational nightmare at most places (even more so at scale), and the centralized coordination required to leverage the campaign key method introduces a lot of friction, overhead, and potential bottlenecks into processes with little perceived gain. The decentralized model (i.e. entire dataset in the url) is far easier to enforce compliance with between all parties, as you can providing tooling (i.e. a link builder spreadsheet) that allows each party to integrate the usage into their workflows with minimal overhead or ongoing coordination required. [1] https://support.google.com/analytics/answer/6066741?hl=en https://support.google.com/analytics/answer/6066741?hl=en