UTM Builder

Build a correctly-tagged campaign URL in seconds. Right joins, encoded values, no broken links.

Building the campaign name too? Use the Campaign Name Generator

Platform Presets

Fills utm_source and utm_medium with each platform's conventional values.

Required Fields

The page the link should land on
Where the traffic comes from, e.g. facebook, google
The marketing medium, e.g. cpc, paid_social
Should mirror your campaign name exactly

Optional Fields

For deeper tracking
Differentiate similar content or links in the same ad
Paid search keyword, if relevant

Your Tagged URL

https://example.com/landing?utm_source=facebook&utm_medium=paid_social&utm_campaign=RuckPack_Conv_2026-07_BOF_RTG_US

How It Works

Paste your URL

Drop in your landing page URL, with or without an existing query string.

Fill in UTM fields

Use a preset or type your own source, medium, and campaign values.

Copy the URL

We join with ? then &, and encode every value, correctly, every time.

Tips & Insights

  • 📊 Fact: a common spreadsheet-building mistake is joining every parameter with ?, producing broken links like ...?utm_source=x?utm_medium=y. Only the first parameter gets a ?; every one after that needs &.

Need a campaign name first?

Build a consistent campaign name, then bring it here to match your utm_campaign.

Open Campaign Name Generator

Want the full method?

Read the guide on keeping campaign names and UTM tags in sync.

Read Naming Conventions Guide

Frequently Asked Questions

What is a UTM parameter?

A small tag added to the end of a URL that tells your analytics tool where a visitor came from. The five standard ones are utm_source, utm_medium, utm_campaign, utm_content, and utm_term.

Should utm_campaign match my campaign name?

Yes, exactly, same fields, same order. When they match, your ad platform data and your analytics data agree at the campaign level. Build a matching name with our Campaign Name Generator.

Why does joining with ? vs & matter?

Only the first parameter after a URL gets a ?, every parameter after that needs &. This is a famous source of broken links: some spreadsheet-based builders (Supermetrics' template being a well-known example) join every parameter with a repeated ?, which most servers and analytics tools fail to parse correctly.

What if my URL already has a query string?

We detect it automatically and switch to & instead of a second ?, so your existing parameters keep working alongside the new UTM tags.

What if my URL has a #fragment?

We insert the UTM parameters before the fragment, not after it. A UTM tag appended after a # is invisible to the server and to most analytics tools, since everything after # never gets sent in the request.

Are utm_content and utm_term required?

No. utm_source, utm_medium and utm_campaign cover most reporting needs. utm_content differentiates similar creatives or links in the same ad, and utm_term is mostly used for paid search keywords. Leave them blank if you don't need that level of detail.

Do UTM parameters affect ad delivery or SEO?

No. UTM parameters are purely for analytics tracking. They don't affect ad delivery, bidding, or search rankings. Some tools treat tagged and untagged URLs as different pages for SEO purposes, so keep canonical tags in mind if that matters for your site.