UTM Builder
Build campaign URLs that your analytics tool can attribute correctly. Fill in the fields below and copy the finished link.
The page people should land on. Existing parameters are kept.
Where the traffic comes from, such as newsletter, google or twitter.
The channel type, such as email, cpc, social or referral.
The specific campaign this link belongs to.
Paid keyword, if this is a search ad.
Distinguishes two links to the same place in the same campaign.
Enter a destination URL and at least one parameter to build your campaign link.
What each parameter is for
utm_source — the specific origin of the traffic: newsletter, twitter, partner-blog. Answers "which property sent this person?"
utm_medium — the category of channel: email, social, cpc, referral. Answers "what kind of marketing was this?"
utm_campaign — the initiative the link belongs to: spring-sale, product-launch. This is what groups links together in reports.
utm_term — the paid keyword, for search advertising only.
utm_content — distinguishes variants pointing at the same page in the same campaign, such as header-button versus footer-link.
Consistency matters more than the scheme
The most common UTM problem is not choosing the wrong values — it is choosing them inconsistently. Email, email and e-mail become three separate mediums, and the traffic that should be one row in your report is spread across three.
Write down your conventions before running campaigns: a fixed list of mediums, a naming pattern for campaigns, and a rule about hyphens. Keeping that list somewhere shared is worth more than any tooling.
UTM tags and short links together
These measure different things and work well in combination. A short link counts clicks — it knows a redirect was served, regardless of whether the destination has analytics. UTM parameters tell the destination’s analytics where the visitor came from, so it can attribute what they did afterwards.
The practical workflow is to build the campaign URL here, then shorten it. You get a clean link to share, click counts from Zurl analytics, and full attribution in your own analytics tool.
Shortening also solves the presentation problem: a URL with five UTM parameters is long and visibly tagged, which looks worse in a social post and invites people to strip the parameters.
Frequently asked questions
- What are UTM parameters?
- UTM parameters are query values appended to a URL that tell your analytics tool where a visitor came from. They are read by the analytics on the destination site, not by the link itself. The five standard ones are utm_source, utm_medium, utm_campaign, utm_term and utm_content.
- Which UTM parameters do I actually need?
- Source, medium and campaign cover almost every case. Term is only relevant for paid search keywords, and content is for distinguishing two links to the same page within one campaign, such as a header button versus a footer link.
- Why does the builder lowercase everything?
- Analytics tools treat utm_source=Newsletter and utm_source=newsletter as two different sources. Mixed capitalisation quietly splits one campaign across several rows in your reports, and it is difficult to repair afterwards. Lowercasing everything prevents it.
- Should I use hyphens or underscores in values?
- Either works, but pick one and apply it consistently, because spring-sale and spring_sale are different values. Avoid spaces — they become %20 and are awkward to read in reports.
- Can I shorten a URL that has UTM parameters?
- Yes, and this is the usual workflow. Build the campaign URL here, then shorten it. Zurl preserves your query string exactly, including parameter order and duplicates, so the tags reach the destination unchanged.
- Do UTM parameters affect SEO?
- They are for inbound campaign links and are not intended for internal navigation. Using them on links between pages of your own site overwrites the original attribution of the session, making your reports less accurate rather than more.