Free UTM builder

This free UTM builder adds campaign tags to a destination URL. It lowercases and hyphenates every value, so one campaign reports as one row in your analytics.

Last reviewed 27 October 2026 by the CTAurl team

Where the traffic comes from.
The type of channel.
Which push it belongs to.
Which creative or placement.
Paid keyword, if any.

What is a UTM builder for?

A UTM builder adds the standard campaign tags to a URL in the right format, so nobody mistypes one at 11 pm. The format matters because Google Analytics treats tag values as case-sensitive: "Instagram" and "instagram" report as two different sources, and Google recommends a strict naming convention for every field (Google Analytics Help).

Google also says every tagged link should carry utm_source, utm_medium and utm_campaign, and a missing value shows up as "(not set)" in reports. This builder warns you when one of those three is empty. It cannot stop four colleagues spelling one campaign four ways, which is why a written naming convention matters too.

On CTAurl, the tags live in the link's destination. Every short link answers with a 302 to the destination exactly as you saved it, UTM tags included, so your analytics sees the same tags you built here.

What does each UTM parameter mean?

Each UTM parameter answers one question about a visit: utm_source says where it came from, utm_medium the type of channel, utm_campaign which push it belongs to, utm_content which creative or placement, and utm_term the paid keyword. Source, medium and campaign are the three Google says to use on every tagged link.

TagMeaningExample
utm_sourceWhere the traffic came frominstagram
utm_mediumThe type of channelsocial, email, qr
utm_campaignThe campaign namespring-drop
utm_contentThe creative or placementstory-b
utm_termPaid keywordrunning-shoes

Questions about this tool

Does the UTM builder store my links?

No. The UTM builder runs in your browser, and nothing you type is sent to or stored by CTAurl. Copy the finished URL into your own campaign sheet, or paste it as the destination of a CTAurl link, which keeps the tags exactly as you saved them.

Why does the UTM builder lowercase and hyphenate my values?

Google Analytics treats UTM values as case-sensitive, so Instagram and instagram split into two rows, and Spring Drop and spring-drop split the same way. Lowercase words joined by hyphens keep one campaign as one row. The builder also turns spaces and underscores into hyphens, so everyone on the team ends up with the same spelling.

Make a link you can change later

Free on ctaurl.me. No card.