FREE utm builder tool

Campaign URL Generator

Generate clean, validated UTM-tagged URLs in seconds. Build the link, copy it, ship it — without the typos, capitalization mismatches, or missing parameters that quietly break campaign attribution downstream.

Add UTM parameters to a URL

Green price tag icon on a light circular background.

Our UTM builder tool is designed for ease and accuracy. Simply fill in each field, and get a custom campaign URL that helps you track where your traffic is coming from.

Build URL
Copy URL
Oops! Something went wrong while submitting the form.

Only use alphanumeric characters, underscores or hyphens to separate words. Don't use special characters and spaces as they can cause UTM tracking issues. For more best practices, refer to our section “Common Mistakes and Best Practices in UTM Tracking”.

List of values to validate

Oops! Something went wrong while submitting the form.

What is a UTM parameter?

A UTM parameter is a tag added to a URL to tell analytics tools where a click came from. Each parameter has a name (like utm_source) and a value (like newsletter). When someone clicks the link, your analytics platform records those values and attributes the visit to the right campaign, channel, and creative.

UTMs originated with Urchin, the analytics company Google acquired in 2005 to build what became Google Analytics. The parameter names have not changed since.

How to build a UTM URL

  1. Paste your destination URL — the page you want users to land on.
  2. Set the campaign source — where the traffic is coming from (e.g., newsletter, linkedin).
  3. Set the campaign medium — the channel type (e.g., email, cpc, social).
  4. Name the campaign — a unique identifier you will recognize in reports (e.g., q2_product_launch).
  5. Add term and content if needed — only for paid search keywords (utm_term) or A/B test variants (utm_content).
  6. Click Build URL, copy, and use it in your campaign.

A correctly built UTM looks like this:

https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=q2_launch

UTM parameters explained

Parameter Required Purpose Example value
utm_source Yes The specific origin of the traffic newsletter, linkedin, partner-blog
utm_medium Yes The marketing channel type email, cpc, social, referral
utm_campaign Yes The campaign name q2_launch, black_friday_2025
utm_term No Paid search keyword utm-builder-tool
utm_content No A/B test or creative variant cta_blue_v1, headline_b
utm_id No Campaign ID (required for GA4 data import) ga_camp_482

utm_source, utm_medium, and utm_campaign are mandatory in Google Analytics 4. Without them, sessions get lumped into "direct" or "(not set)" and your attribution is gone.

The 5 UTM mistakes that break campaign attribution

Note for implementation: This is the unique angle of the page. If Trackingplan has internal stats on the most common UTM errors seen across customer accounts, replace the placeholder percentages below with real numbers. Even rough numbers like "in roughly 1 in 4 client implementations we audit" are stronger than generic best-practice lists.

1. Inconsistent capitalization

Email and email are two different sources to Google Analytics. Mixing them splits one campaign across two rows in your reports, and neither row tells the full story.

Fix: Lowercase everything. Set a rule and enforce it.

2. Spaces and special characters

A space inside utm_campaign becomes %20 in the URL. Some platforms strip it, some don't, and the result is silent data corruption.

Fix: Use hyphens or underscores. Never spaces. No &, ?, #, or accented characters.

3. Swapping source and medium

We see this constantly: utm_source=email&utm_medium=newsletter. It's backwards. Source is where specifically (a vendor, a partner, a publication). Medium is what type of channel (email, cpc, social).

Fix: Source answers "from whom?". Medium answers "through what?".

4. UTMs on internal links

Tagging links inside your own site with UTMs overwrites the original session attribution. A user who arrived from a paid ad ends up credited as internal_promo once they click the homepage banner.

Fix: UTMs are for inbound traffic only. For internal CTAs, use a different mechanism (custom event, button click tracking).

5. One-off naming

spring-promo, Spring_Promo_2025, springpromo25 — three campaigns or one campaign tracked three different ways? In your analytics dashboard, three rows. In reality, the same effort.

Fix: Define a naming convention before the first campaign goes out. Document it. Validate against it automatically if you can.

UTM naming convention cheat sheet

A workable convention has four properties: lowercase, no spaces, descriptive, and consistent across the team.

Recommended structure:

Parameter Convention Examples
utm_source vendor or platform name linkedin, hubspot, partner-acme
utm_medium channel type email, cpc, social, organic-social, affiliate
utm_campaign campaign-name_year-quarter product-launch_2026-q2
utm_content creative-variant_format hero-blue_static, hero-red_video
utm_term paid-keyword utm-builder-tool

Rules to enforce:

Good Bad Why
linkedin LinkedIn, Linkedin, LI Mixed case + abbreviation = three rows
paid-social Paid Social Space breaks the URL
q2-launch_2026 Q2 Launch 2026! Special characters and spaces
email Email, e-mail, EDM Pick one, stick to it

When a UTM builder is not enough

A free builder works for a solo marketer building five links a month. It stops working when:

At that point, the bottleneck is not URL generation — it's validation and monitoring. Trackingplan watches every UTM hitting your analytics in real time and alerts you when one breaks your convention, before it pollutes the report your CMO sees.

See how Trackingplan validates UTMs

Frequently asked questions

What does UTM stand for?

UTM stands for Urchin Tracking Module. The name comes from Urchin Software, the analytics company Google acquired in 2005 to build what is now Google Analytics. The parameters added to URLs (utm_source, utm_medium, utm_campaign, etc.) carry that name today, even though the original Urchin product no longer exists.

Are UTM parameters case-sensitive?

Yes. Google Analytics treats Email and email as different sources, splitting your campaign data across multiple rows. The UTM parameter names (utm_source) are not case-sensitive, but the values you assign to them are. Use lowercase consistently across every campaign to avoid fragmented reports.

Do UTM parameters affect SEO?

No. Search engines understand that UTM parameters are for tracking and ignore them when indexing. Pages with UTMs are not penalized, deduplicated, or treated as separate URLs for ranking purposes. The canonical version of the page still receives all SEO signals.

Can I edit a UTM parameter after sharing the link?

No. Once a URL with UTM parameters has been distributed, the parameters cannot be changed without breaking the link. Editing them server-side does not retroactively fix the data already collected. The only fix is to generate a new URL and replace the old one wherever you can.

What is the difference between utm_source and utm_medium?

utm_source identifies who sent the traffic (a specific platform, partner, or publication: linkedin, the-verge, acme-newsletter). utm_medium identifies how the traffic was delivered (the channel type: social, referral, email, cpc). Source is granular; medium is the category that source belongs to.

Should I use UTMs on internal links?

No. Adding UTMs to links inside your own website overwrites the original attribution stored in the user's session. A visitor who arrived from a paid Google ad will be re-attributed as the internal campaign the moment they click an internal link. Use UTMs only on inbound external links.

Why do my UTM campaigns show as "(not set)" in Google Analytics?

This usually means one of the three required parameters (utm_source, utm_medium, or utm_campaign) is missing or malformed. Check that all three are present, that there are no spaces or special characters, and that the URL uses ? for the first parameter and & between subsequent ones.

Is there a maximum length for a UTM URL?

There is no formal UTM-specific limit, but browsers and platforms enforce general URL length limits (typically 2,048 characters). Long parameter values rarely cause issues in practice. If a URL gets unwieldy, use a link shortener after generating the UTM, not before.

Ensure error-free UTM
tracking with Trackingplan

Define custom UTM naming conventions rules and let Trackingplan take care of the rest. Get instant alerts whenever UTM parameters don't follow your standards to address issues before they affect your campaign performance.
Discover how
Tablet screen showing a campaign management dashboard with campaign list and a pop-up about campaign naming conventions highlighting rules against leading/trailing whitespaces and special characters.

Preventing UTM Naming Convention Errors with Trackingplan

Trackingplan helps you ensure consistency and accuracy in the naming conventions used across your campaigns, mediums, and sources by detecting and highlighting discrepancies, such as duplicate or improperly formatted names, that may compromise data quality and campaign attribution.

For it, Trackingplan enables you to create customized naming convention rules for your UTMs to seamlessly validate that your campaigns consistently adhere to your established naming standards.

With them, any element—whether it's a campaign name, medium, or source—that breaches the rules will be highlighted, providing you with instant visibility into where corrections are needed. Think of it as a “spellchecker” for your campaign data that visually pinpoints which elements are not meeting the required standards.

To learn more, visit our documentation.

Deliver trusted insights, without wasting valuable human time

Your implementations 100% audited around the clock with real-time, real user data
Real-time alerts to stay in the loop about any errors or changes in your data, campaigns, pixels, privacy, and consent.
See everything. Miss nothing. Let AI flag issues before they cost you.
Frequently Asked Questions About UTM Parameters
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.