UTM Link Builder
Add campaign tracking tags to any URL so your analytics show where each visit came from.
What UTM parameters do
UTM parameters are short tags added to the end of a link. When someone clicks it, analytics tools such as Google Analytics read the tags and report which source, medium and campaign sent the visit. Without them, traffic from email, social posts and ads is often lumped together as direct or referral.
| Tag | What it answers | Example |
|---|---|---|
utm_source | Where the click came from | newsletter, facebook |
utm_medium | The type of channel | email, cpc, social |
utm_campaign | Which campaign it belongs to | fall_sale |
utm_id, utm_term, utm_content | Optional: campaign ID, paid keyword, which ad or link | blue_button |
Pick one naming style and stick to it, because analytics treats "Email" and "email" as different values. The lowercase and underscore options help with that. Any parameters already in your URL, and any #fragment, are kept. Only use UTM tags on links that point to your own site, never on internal links within it, since they can overwrite the visit's original source. The link is built in your browser and nothing is sent anywhere.
Frequently asked
Which UTM parameters are required?
Source, medium and campaign are the three most tools expect. Term and content are optional, and campaign ID is used by some reports in Google Analytics 4.
Should I use UTM tags on internal links?
No. Tags on links within your own site can start a new session and replace the real source of the visit. Use them only on links from outside, such as emails, social posts and ads.
Do UTM tags hurt SEO?
They do not affect ranking on their own, but they make a second address for the same page. A canonical tag pointing at the clean URL keeps search engines from treating them as separate pages.
Are UTM values case sensitive?
Yes, in most analytics tools. "Email" and "email" show up as two separate rows, so keep to one style such as lowercase.
Is my link uploaded?
No. The link is built in your browser and nothing is sent to a server.