Product Hunt's "Visit website" link hides where your sign-ups came from

After our launch on Nov 3 I went looking for how many sign-ups Product Hunt sent us. Our analytics said zero. That seemed wrong, so I checked: the "Visit website" link is marked noreferrer, so visitors arrive without telling your site where they came from. They land in "direct" traffic instead.

If you launched recently, you can't tell your Product Hunt sign-ups apart from people who typed your URL. The fix takes a minute: add ?utm_source=producthunt to your website link. There are two places to change: the launch's links and the product page's website link, which is what the "Visit website" button uses.

We're building NEXUPIRA, an AI team for small businesses, so every sign-up matters to us. Once we looked properly, search turned out to bring us more sign-ups than launch day did.

How do you track where your sign-ups come from? Did launch day or search do more for you?

Edit: Product Hunt does add ref=producthunt to these links (thanks, Mike from the Product Hunt team). Our tracking ignored it, so adding utm_source is still the easy fix if your analytics only reads UTM.

31 views

Add a comment

Replies

Best

We append a `ref=producthunt` query param to each of the "Visit website" links automatically, too. What could we do here that would feel more intuitive to you?

 Thanks Mike! you're right, and that one's on us. The ref=producthunt is there. Our sign-up tracking only reads utm_ parameters and the referrer, so it dropped ref, and GA4 ignores ref by default too, which is why it looked like direct traffic. Two things would have saved us: adding utm_source=producthunt next to ref, or

showing the final outgoing URL beside the website field in the launch editor. We're updating our tracking to read ref as well.

yeah we recognize `ref` isn't a standard, and I'd guess that's the reason it was chosen in the first place since it won't conflict with any tracking you already provide in your links (the true rationale has likely been lost to history). maybe a default utm_source like the kind you suggest is a good solve, and if your link provides a different one it'll always take precedence.