Free online tool

UTM Link Builder

Add UTM parameters to any URL for accurate campaign tracking in Google Analytics and other tools.

Generated URL
https://example.com/product?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale

Why UTM parameters matter

UTM parameters are tags added to the end of a URL that tell your analytics tool where a visitor came from. Without them, all "external" traffic gets lumped into a single "direct" or "referral" bucket, and you lose the ability to measure which specific campaign, email, or ad drove each visit. With them, you can prove ROI and iterate quickly on what's working.

Field cheat sheet

Source is where the click came from (google, newsletter, twitter). Medium is the type of channel (cpc, email, social, referral). Campaign is a name that groups everything under one initiative. Keep values lowercase and use underscores for consistency — analytics tools treat "Email" and "email" as different sources.

+Do UTMs affect SEO?

They shouldn't be added to internal links or links you want indexed. Use them only on external, campaign-driven URLs.

+Should I use a link shortener?

Optional. Long URLs work fine, but shorteners are helpful in printed material and social posts with character limits.

Tagging campaign links so analytics can actually attribute them

UTM parameters are query string values, utm_source, utm_medium, utm_campaign, and optionally utm_term and utm_content, that Google Analytics and most other platforms parse to attribute traffic to a specific campaign rather than lumping it into generic referral or direct traffic.

This builder assembles those parameters into a clean, correctly ordered query string appended to your destination URL, so every link from a given campaign follows the same format instead of drifting into inconsistent capitalization or missing fields over time.

Keeping naming consistent across a team

utm_source should identify the platform, like newsletter or facebook, utm_medium the channel type, like email or cpc, and utm_campaign the specific initiative, like spring-launch. The values are case-sensitive in most analytics tools, so Newsletter and newsletter get reported as two separate sources, which quietly fragments your data if different people on a team aren't following the same casing convention.

Avoid tagging your own internal links

Adding UTM parameters to links between pages on your own site is a well-known mistake because it overwrites the original session's attribution data in Google Analytics, making a visitor who arrived from an ad look like they arrived from whatever internal link they clicked next. UTMs belong only on links that live outside your own domain, such as in emails, ads, or social posts.

When to use utm_term and utm_content

utm_term is traditionally reserved for paid search keyword tracking and is often left blank outside that context, while utm_content is the field that distinguishes between two versions of essentially the same link, like a header button versus a footer link in the same email, so you can tell which placement actually drove the click rather than just knowing the email drove it.

Keeping a shared log of past campaigns

Because campaign names accumulate over months or years, teams that don't keep a shared reference of what's already been used tend to end up with near-duplicate campaign names like spring-sale, spring_sale, and springsale2024 all referring to related but separate efforts, splintering reports that should have been comparable. A simple shared spreadsheet listing every campaign name used to date solves most of this before it happens.

Special characters and spaces break the query string

Spaces inside a campaign name need to become hyphens, underscores, or percent-encoded characters before the link is usable, since a raw space in a query string value gets interpreted as the end of that parameter by some platforms and mail clients, silently truncating everything typed after it. This builder encodes each value automatically so the final link is copy-paste safe regardless of which field contains punctuation.

People also search for

  • utm builder tool
  • utm parameter generator
  • utm_source utm_medium utm_campaign explained
  • campaign url builder google analytics
  • utm tagging best practices
  • utm_content vs utm_term
  • google analytics campaign tracking url
  • consistent utm naming convention