# UTM builder & campaign URL parser

> Build UTM campaign links one at a time or in bulk, read the tags in any tagged URL, and see which Google Analytics 4 channel the visits will land in. Free.

Canonical: https://cromagnon.app/tools/utm-builder
Last updated: 2026-10-27

- Category: SEO
- Formats: URL · CSV · GA4
- Use it: https://cromagnon.app/tools/utm-builder (free, runs in the browser)

## What it does

UTM tags are short labels added to the end of a link, such as ?utm_source=newsletter&utm_medium=email&utm_campaign=autumn-sale. When someone clicks the link, Google Analytics, Matomo, Plausible, HubSpot and most other analytics tools read the labels and credit the visit to that source and campaign, instead of lumping it in with direct or unknown traffic. This tool builds tagged links one at a time or in bulk, keeps your link's own parameters and #anchor intact, and reads and checks the tags in links you already have.

## How to use it

1. Paste the page address you want people to visit.
2. Choose a preset such as Newsletter or Google Ads, or type a source, medium and campaign.
3. Add term, content or campaign ID if you need them, for paid keywords, A/B tests or GA4 cost imports.
4. Read the checks, including which GA4 channel the visits will be grouped in, then copy the link.
5. For many links, switch to Many links and paste a list or a CSV with a header row; download the result as CSV.
6. To check an existing link, switch to Read a link and paste it.

Tip: Write your naming rules down once (lowercase, hyphens, which mediums you use) and share them with everyone who makes links. Consistent tags are what make campaign reports readable a year later.

## The five tags (and a sixth)

- **utm_source**: Where the visitor comes from: google, newsletter, facebook, a partner's name. Required.
- **utm_medium**: The kind of traffic: cpc, email, social, paid_social, referral, display, affiliate. GA4 uses it, with the source, to sort visits into channels.
- **utm_campaign**: The campaign or promotion: autumn-sale-2026, product-launch, webinar-oct.
- **utm_term**: For paid search, the keyword. Google Ads fills this in automatically when auto-tagging is on, so you rarely need it.
- **utm_content**: Tells apart two links in the same campaign: header-button and footer-link, or ad-a and ad-b.
- **utm_id**: A campaign ID that GA4 uses to join visits with cost data you import from ad platforms that it doesn't link to directly.

## How GA4 groups your tags into channels

Google Analytics 4 sorts every visit into a default channel group using the source and medium. A medium matching cpc, ppc, paid-anything or retargeting is a paid channel: Paid Search when the source is a search engine, Paid Social when it's a social network, otherwise Paid Other. email or e-mail in the source or medium means Email; social, social-network or social-media means Organic Social; display, banner and cpm mean Display; affiliate means Affiliates; referral means Referral.

A medium GA4 doesn't recognise, such as newsletter, qr or offline, puts the visits in Unassigned. They're still recorded with your source and campaign, but they won't appear in the channel reports most people look at. The tool shows the likely channel for every link and warns when it would be Unassigned. The rules here follow Google's published definitions in simplified form; GA4 also uses its own lists of known search, social and video sites.

## Tagging many links at once

Paste plain addresses, one per line, and each gets the shared tags. For more control, paste a spreadsheet or CSV with a header row: a url column plus any of source, medium, campaign, term, content and id. Each row's own values win, and empty cells fall back to the shared values. Download the result as a CSV with the original and tagged link side by side, ready to paste into an email tool or ad platform.

## Reading and fixing tagged links

Read a link shows every parameter in a tagged address and catches the mistakes that quietly break tracking: tags written in capitals (UTM_Source isn't read), the same tag twice, made-up tags such as utm_foo, mixed case values that split one source into two rows, and tags placed after the #, which analytics never sees. It also points out click IDs such as gclid and fbclid, which ad platforms add automatically and shouldn't be copied into new links. Edit these tags loads the link into the builder so you can fix it.

## Tips

- **Never tag internal links**: UTM tags on links between your own pages start a new session and overwrite the real source. Use them only on links from outside your site.
- **Lowercase everything**: Facebook, facebook and FB become three sources in reports. The builder lowercases by default.
- **Hyphens, not spaces**: Spaces become %20 and look messy. Use hyphens or underscores and stick to one.
- **Leave auto-tagged ads alone**: Google Ads and Microsoft Ads auto-tagging (gclid, msclkid) already credits clicks; adding UTMs is optional and must match.
- **Shorten for print**: For QR codes and printed material, put the tagged link behind a short redirect on your own domain.
- **Keep a log**: Record every campaign link in a spreadsheet: date, channel, tags and where it was used.

## Questions

### Do UTM tags affect SEO?

No. Search engines ignore them for ranking, and a canonical tag on the page points to the clean address. Just don't use tagged links for internal navigation.

### Are UTM tags case-sensitive?

The names must be lowercase (utm_source). The values are case-sensitive in most analytics tools, which is why lowercasing matters.

### What's the difference between source and medium?

Source is who sent the visit (newsletter, facebook); medium is how (email, social, cpc). Together they decide the channel.

### Can I use UTM tags with a #anchor?

Yes. The tags go before the #, which the builder handles. Tags after the # are never seen by analytics.

### Do other analytics tools read UTM tags?

Yes. Matomo, Plausible, Fathom, Adobe Analytics, HubSpot and most email and ad platforms understand them.

### Is what I type sent anywhere?

No. The checks and previews run in your browser, on your device. Nothing you type or paste is uploaded, stored or logged.

## Related

- [SERP Preview](https://cromagnon.app/tools/serp-preview)
- [Open Graph Generator](https://cromagnon.app/tools/open-graph-generator)
- [Redirect Generator](https://cromagnon.app/tools/redirect-generator)
- [URL Encoder & Decoder](https://cromagnon.app/tools/url-encoder)
- [All tools](https://cromagnon.app/tools)
