← Back

UTM Link Generator

Build a marketing link with tracking parameters

UTM parameters are a standard tracking convention supported by Google Analytics and other major web analytics tools. Adding them to a link lets you distinguish, in your analytics dashboard, which channel or campaign a visit came from.

About UTM Link Generator

The UTM Link Generator combines your destination URL with a few pieces of campaign information (source, medium, campaign name and so on) into one tracking link. The parameters are appended after the question mark, and when a web analytics tool such as Google Analytics reads them, it can tell you which channel and which campaign a visit came from. To be clear about its scope: this tool only builds the link. It doesn't connect to your analytics account, doesn't count clicks and can't shorten URLs. The actual numbers appear in your own analytics dashboard.

How to use

  1. In 'Base URL', enter your landing page address. It's required and must start with http:// or https://, for example https://qgjtools.com.
  2. Fill in utm_source (the traffic source, such as wechat or weibo). This is the place you want to tell apart in reports.
  3. Fill in utm_medium (the channel type, such as social or email). It describes the broad category of the channel.
  4. Fill in utm_campaign (the campaign name, such as spring_sale), which groups traffic belonging to the same campaign.
  5. If needed, add utm_term (a paid search keyword) and utm_content (to tell creatives within a campaign apart, such as two banners). Both are optional.
  6. The 'Generated Tracking Link' appears below as you type. Click 'Copy' on its right (it shows 'Copied' on success) and use the link in your ad, email or social post.

Worked examples, computed from real input

These results were produced by the same assembly logic the page uses. With base URL https://qgjtools.com, source 'wechat', medium 'social', campaign 'spring_sale' and the other two fields empty, the link is https://qgjtools.com/?utm_source=wechat&utm_medium=social&utm_campaign=spring_sale. Notice the slash added at the end of the domain: that's the browser's standard URL normalization and still points to the same home page. A more complex case: base URL https://example.com/shop?ref=abc&utm_source=old#pricing, source 'newsletter', medium 'email', campaign '春季促销 2026' and content 'banner top' gives https://example.com/shop?ref=abc&utm_source=newsletter&utm_medium=email&utm_campaign=%E6%98%A5%E5%AD%A3%E4%BF%83%E9%94%80+2026&utm_content=banner+top#pricing. You can see that the existing ref=abc is kept, the old utm_source value is overwritten by the new one, non-ASCII text is percent-encoded, spaces become plus signs, and the #pricing anchor stays at the very end.

Supported range and known limits

  • The base URL must be a full URL the browser can parse. Something like example.com without http:// or https:// shows the red message 'Invalid URL format — make sure it includes a full http:// or https:// prefix'.
  • The only test is whether it can be parsed as a URL, so addresses with other schemes such as ftp:// may be accepted too; make sure you're entering an ordinary web page address. The tool doesn't check whether the address actually exists or loads.
  • None of the five UTM parameters is mandatory, and empty ones are left out of the link. If you leave them all empty, the output is just the original URL in normalized form.
  • If the original URL already contains a utm_ parameter with the same name, your new value replaces it rather than being added twice. A field you leave empty keeps the original value.
  • Leading and trailing spaces are trimmed, but capitalization is left as typed. Many analytics tools treat 'Email' and 'email' as different values, so agree on lowercase with underscores across your team.
  • Spaces become plus signs and non-ASCII characters become percent-encoded. The link works but looks long; for readable reports, prefer plain English words and underscores.
  • There's no bulk generation, history, saved templates or short links, and your input is cleared when you reload.
  • Don't add UTM parameters to links between pages of your own site; that can make analytics re-attribute the visitor's session source and distort your data. They're meant for external channels.

FAQ: How do source, medium and campaign differ?

Think of source as 'who sent the traffic' (wechat, newsletter), medium as 'by what means' (social, email, cpc), and campaign as 'for which promotion' (spring_sale). Together they let a report answer 'during the spring sale, how many visits came from social posts on WeChat?'

FAQ: Does adding UTM parameters change the page?

No. Web servers normally ignore these parameters, so visitors see the same page as without them; only the address bar gets longer. A very small number of sites handle unknown query parameters strictly, so open the link yourself before publishing to confirm it loads.

FAQ: I don't see any data in my reports.

This tool only creates links. Whether data shows up depends on your destination site having analytics code installed and on the analytics tool's processing delay. Visit the generated link once, then look at the real-time report in your analytics tool.

FAQ: Does the # part of a link affect tracking?

Everything after # is an in-page anchor. The tool keeps it at the end and puts the UTM parameters before it, which is the correct position. Parameters placed after the # generally can't be read by servers or by most analytics code.

Privacy and processing

The link is assembled in your browser. The URL and parameters are used only for the preview and the clipboard copy; they aren't sent to a server, and the tool never visits the address you enter. Clicking 'Copy' just writes the text to your clipboard and gives no message if it fails. Once you publish the link, who clicks it and what data results is recorded by your own analytics tool, not by this one.