How to use it
- 1Paste the page you want people to land on. Existing query parameters and #anchors are kept.
- 2Click a preset — Product Hunt, X, LinkedIn, Newsletter — or type your own source and medium.
- 3Name the campaign once and reuse it for every channel of the same launch, e.g.
launch-oct-2026. - 4Copy the link. For many pages at once, switch to Bulk, paste one URL per line, and download a CSV.
Examples
Product Hunt launch link
Destination https://acme.ai/pricing?ref=nav#plans, preset Product Hunt, campaign launch-oct-2026 gives https://acme.ai/pricing?ref=nav&utm_source=producthunt&utm_medium=referral&utm_campaign=launch-oct-2026#plans — your ref parameter and the #plans anchor stay intact.
Same launch, several channels
Keep utm_campaign=launch-oct-2026 fixed and change only the preset: X (social), LinkedIn (social), newsletter (email). In GA4, filter by the campaign and you see each channel side by side for the same launch.
Telling two links apart in one post
Your maker comment and your first reply both link to the site. Give them utm_content=maker-comment and utm_content=reply; everything else stays the same, and GA4 shows which one people clicked.
What the builder does to your link
The URL is parsed with the browser's standard URL parser. Each utm_* value you fill in is set on the query string — replacing an existing value of the same name rather than adding a duplicate — and empty fields are removed. Values are percent-encoded automatically, and the #fragment is moved back to the end where it belongs.
With auto-clean on, values are trimmed, lower-cased and have spaces replaced with hyphens before encoding. The checks flag a missing source, medium or campaign, capital letters, spaces, and non-https destinations.
Limitations
- infoIt can't tell whether the destination page exists or whether its redirects keep the query string — open the finished link once to confirm.
- infoMedium values follow GA4's default channel grouping. If your GA4 property uses custom channel groups, match your own naming instead.
- infoBulk mode applies one set of tags to every URL, up to 500 lines. Different tags per row need separate batches.
Questions people ask
Which UTM parameters are required?
add
Only utm_source is strictly required for Google Analytics to attribute a visit. In practice always add utm_medium and utm_campaign too: without a medium, GA4 puts the visit in the Unassigned channel, and without a campaign you can't compare launches.
Are UTM parameters case-sensitive?
add
Yes. GA4 treats “ProductHunt”, “producthunt” and “Product Hunt” as three different sources, which splits your data into separate rows. Keep every value lower case — the auto-clean option does this for you.
What medium should I use for Product Hunt, X or a newsletter?
add
Use the medium that matches GA4's default channel groups: “social” for social networks like X, LinkedIn and Reddit, “email” for newsletters, and “referral” for sites such as Product Hunt, Hacker News or directories. The presets fill these in.
Do UTM parameters hurt SEO?
add
Not if your page has a canonical tag pointing to the clean URL, which most frameworks and CMSs add by default. Never put UTM tags on internal links between your own pages — they overwrite the original source of the visit.
What's the difference between utm_term and utm_content?
add
utm_term was designed for paid-search keywords. utm_content tells apart links that share everything else — for example the link in your Product Hunt maker comment versus the one in your gallery description.
Will UTM tags survive a redirect?
add
Usually, if the redirect keeps the query string. Some http-to-https or domain redirects drop it. Tag the final https URL, and test the tagged link once before you share it widely.
