UTM URL Generator Free UTM builder

Guide

When you should not use UTM parameters

A campaign URL is for a click that starts somewhere else. Tagging everything “so we have data” is how paid search becomes utm_source=homepage and a spring sale becomes nineteen campaigns.

Do not tag links on your own site

Internal UTMs overwrite the session source. A person arrives from Google Ads, clicks “See pricing” in the header, and GA4 now thinks the source is the homepage. That is not a richer report. That is a lie with a query string. Leave site nav, hero blocks, app menus, and in-article CTAs alone. If you need on-site path analysis, use events — not campaign tags.

Do not invent a campaign per button

utm_campaign is the initiative. The button, the subject line, the creative belong in utm_content or utm_term. A newsletter with eight campaign names is eight rows you will add by hand in a slide. Keep one name for the send or the flow. Details: UTM for email.

Do not strip Google click IDs to look tidy

Auto-tagging adds gclid. A tracking template can add UTMs next to it. Deleting the click ID so the URL “looks clean” breaks import into a linked GA4 property. Inspect what is already on the URL with the click ID inspector. Policy: UTM vs auto-tagging.

Do not tag pages that are not campaigns

Password reset, cookie settings, invoice PDFs, and “unsubscribe” are not media. If a vendor forces a tagged link on a system email, keep utm_medium=email and a boring campaign such as account-transactional — or ask them to stop. Transactional noise in Paid Social is how people lose trust in the property.

Do not tag because a tool offered a field

ESPs, QR generators, and “smart links” will happily fill source with your company name and medium with link. That is Unassigned with extra steps. If you cannot name the platform and the channel in one breath, do not ship the tag. Use the launch checklist or skip the parameters.

Worked example: the homepage hero

Someone arrives from google / cpc / brand-search. They click a hero button tagged utm_source=homepage&utm_medium=internal&utm_campaign=see-pricing. GA4’s session source becomes homepage. Paid Search looks like it bounced. The hero “converted.” That is the whole case against internal tags. Path analysis belongs in events (click_header_pricing), not campaign parameters.

A quick filter: starts off-site?

If the click starts in an ad account, an inbox, a social app, a partner site, an SMS, or a printed code — tag it. If the click starts on a page you already tagged or on a page the person typed — do not. When the answer is fuzzy, skip the UTM. A missing tag on an internal link is harmless. A present tag on an internal link is not.

When you should tag

Ads, email, social posts, partner placements, SMS, and print that open a browser. That list is in why you should track campaign traffic. How to write the values: best practices. The error catalog: common mistakes.

FAQ

UTM builder questions

When should I not add UTM parameters?

Do not tag links that already live on your site. Do not tag every button with a new campaign name. Do not replace Google Ads auto-tagging with a handmade URL that drops gclid. Do not tag logins, password resets, or legal pages that are not campaigns.

Is it bad to UTM every link “just in case”?

Yes. Extra tags on internal pages overwrite the original source. Extra campaign names on every CTA split one program into noise. Tag the click that starts off-site.