Live data from Hacker News

How to use UTM parameters to grow your audience

smashnotes.com

41–50 of 57 posts

Re: How to use UTM parameters to grow your audience

#41
post #34

Earlier quoted context omitted.

For purely analytics systems, it's already pretty easy to leverage server-side calls or an internal proxy service to route figures, which does truly mask where the data is going (but should still be disclosed in your privacy policy). And many of them offer a hybrid approach called CNAME cloaking[1], where you CNAME a subdomain on your host to the analytics/marketing system. That way you still leverage their infrastru…

How are you seeing companies solve for view through tracking in this landscape?

From which perspective?

For ad networks: the solve seems to be more disclosure from advertisers of customer PII[1]. All of the recent tracking prevention and cookie restriction measures are disruptive to last-mile analytics, but are far less disruptive to the overall strengths of device and identity graphs. Offline/out-of-band data feeds for click-through tracking don't require passing any identity data, since the click id acts as a key to connect the result to the associated click action. You don't have that for view-through, so instead you pass identity data and that's used to associate the result with the network's device/identity graph and attribute it to any relevant view through action that occurred. But because the advertiser is blind to which conversions/results may be relevant, they have to disclose all results and associated identity data in the process.

Caveat emptor: The above is based on my observations working in digital analytics in general, but my primary focus is in a different area. So there may be nuances or aspects that I'm not cognizant of.

For advertisers: The three main options tend to be either blissfully ignoring (or consciously accepting) the visibility gap, move towards the greater data disclosure of the above solution if you (and your lawyer) are comfortable doing so (which maintains the status quo for visibility while disclosing significantly more data to ad networks), or invest internally in the tech and resources to perform the tracking themselves (which gives the advertiser visibility, but keeps the ad network blind). For option three, you can self-host something like Snowplow[2] and abuse it as a poor-man's ad server for tracking purposes. The Cloudfront implementation model gives you the throughput and latency to allow you to use it as a view-through pixel, and you can then put it on any placements/networks that allow you to use an advertiser-provided tracking pixel.

[1] In hashed form, for what it's worth. The liability of disclosing raw PII is too black and white for comfort, but the security theater of obfuscated PII via hashing hasn't been tested in court well enough to put a dent in that practice.

[2] https://snowplowanalytics.com/

Re: How to use UTM parameters to grow your audience

#42
post #38

Earlier quoted context omitted.

One other thing to note is that there are a few alternatives which tend to be a bit more feasible to implement (and sustain). Namely, using a single campaign key but leverage an encoding scheme for the key/id rather than a randomly generated one. That way it can be parsed at collection time and every permutation doesn't have to be predefined in a dataset ahead of time. Then end users can still self-service link creat…

I've implemented this approach for my teams before. It's always a giant PITA without lots of effort around tooling to enforce conventions. It's useful though if you're trying to marry analytics tools without reinventing the wheel though because you can take out of the box UTMs and just transform them into some intelligible encoded format that first into some other tool's sole field for user-defined data.

Web analytics as a whole is a giant PITA without lots of effort around tooling. The default approach just has a silent failure state that is harder to detect, and becomes more of a hassle for the analyst that has to cope with the resulting data.

At least with this approach, the PITA becomes more explicit and easier to justify the tooling needs, allowing for it to be addressed and tackled at the outset by the upstream implementation team, rather than cascading to downstream consumers.

Re: How to use UTM parameters to grow your audience

#43
post #31

I 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/

That'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.

Can 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.

Re: How to use UTM parameters to grow your audience

#44
post #21

I 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.

Most browsers are switching to hiding the full page url from the user anyhow, so although the parameters are making the url ugly, it's not exactly breaking the UX.

The url is not the UX anymore.

This is why building "the obvious next steps" [1] is such an important concept. This is also why apps like Facebook or Pinterest have been so successful. Within this new UX, users are not looking to leave, they just want to find more information that is relevant to them.

[1] https://www.gkogan.co/blog/ridiculously-obvious-next-step/

Re: How to use UTM parameters to grow your audience

#45
post #31

Earlier quoted context omitted.

That'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.

Can 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…

The two issues you run into are:

- The primary attribution model in Google Analytics is last non-direct visit prior to . 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

[2] https://support.google.com/analytics/answer/1033068?hl=en

[3] https://github.com/googleanalytics/autotrack/#overview

Re: How to use UTM parameters to grow your audience

#46
post #22

Earlier quoted context omitted.

Nice work! Have you considered using localStorage instead of sessionStorage so it works across browser tabs as well?

Does thay difference have implications under GDPR or California's new law?

No, it’s stored on the user’s own computer only. You could put an expiry date in there as well so you don’t accidentally use it after, say, 90 days.

Re: How to use UTM parameters to grow your audience

#47

I 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…

Thanks Peter, I'm wondering, why did you stop using UTM params?

A 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 :-)

Re: How to use UTM parameters to grow your audience

#48
post #33

Earlier quoted context omitted.

You can make a dummy page for each email link that simply redirects to the correct page with the proper tracking information.

I think that is exactly what Peter ended up doing for his newsletters.

We 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..

Re: How to use UTM parameters to grow your audience

#49
post #22
post #3

“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

Nice work! Have you considered using localStorage instead of sessionStorage so it works across browser tabs as well?

I did consider it recently, but decided against it as it would mix last-touch with last-tagged-touch attribution. If you fail to tag a campaign link it would be good for the conversion to not have data, so you recognize the error and tag the link.

If I were to do localStorage I would only do it if the first touch and last touch tags (even if empty) were saved as separate values. That just means slightly more coding which I haven’t gotten around to. Pull requests welcome :)

Re: How to use UTM parameters to grow your audience

#50
post #31

I 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/

That'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.

Does it still get counted as a new session if the domain is an excluded referrer? I thought not.

In any case, I agree and these workarounds are never worth the data doubt they introduce. There are ways to track internal flows without utm tags.

Post reply on HN