A free UTM link generator adds tracking parameters to a web address so Google Analytics 4 can tell you which campaign, source and medium sent each visitor. You paste your page URL, fill in source, medium and campaign, and copy the tagged link. My free tool at /tools/utm-builder does this in your browser. The tool is the easy part; the naming rules you apply decide whether your reports are usable six months later.
This guide covers what UTM parameters are, a naming convention with concrete examples, a step-by-step on using the builder, the mistakes that most often corrupt reports, and how the data appears in GA4. For the deeper naming discussion, I have a separate piece: UTM parameters guide and naming conventions.
What UTM parameters are
UTM parameters are short labels added to the end of a URL, after a question mark. They do not change the page the visitor sees. They tell your analytics tool where the click came from. A tagged link looks like this:
https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=diwali_sale_2026
There are five standard parameters:
| Parameter | Required? | What it answers | Example |
|---|---|---|---|
| utm_source | Yes | Where the visitor came from: the platform, publisher or list | newsletter, linkedin, google |
| utm_medium | Yes | The type of channel | email, paid_social, cpc, referral |
| utm_campaign | Yes (in practice) | The campaign, promotion or initiative | diwali_sale_2026 |
| utm_term | Optional | The paid keyword, mostly for search ads | seo_consultant_delhi |
| utm_content | Optional | Which variant, creative or link position | header_button, video_ad_a |
Strictly, only source is needed for the tag to register, but in GA4 you should treat source, medium and campaign as a set. Leaving out medium or campaign leaves you with rows that are hard to group.
When to use UTMs, and when not to
Use UTMs on links you place in other environments, where the analytics tool cannot otherwise tell the origin:
- Email newsletters and campaigns
- Social posts, bio links and paid social ads
- QR codes and printed material that point to a web address
- Links in PDFs, WhatsApp broadcasts and SMS
- Partner, influencer or guest-post links you are paying for or arranging
- Paid campaigns where auto-tagging is not available
Do not use UTMs on links between pages of your own website. This is the most damaging mistake, covered below.
For Google Ads, auto-tagging normally handles attribution through the click ID. Adding manual UTMs on top can be useful in some set-ups but needs care. If you are unsure, test with one campaign and compare what GA4 shows.
A naming convention that holds up
A convention is a short set of rules that everyone who creates links follows. Without it, the same email campaign arrives as "Email", "email", "e-mail" and "newsletter", and each becomes its own row. Here is a practical one.
The rules
- All lowercase. GA4 treats "Email" and "email" as different values.
- Underscores instead of spaces. Use festive_offer, never "festive offer". Hyphens work too; pick one and keep it.
- No special characters. Avoid ampersands, slashes, commas and non-English characters inside values.
- A fixed list of mediums. Use a small set such as email, paid_social, organic_social, cpc, referral, qr, sms, partner. Do not invent new ones for each campaign.
- Source is the specific place (linkedin, instagram, newsletter, google), medium is the type of channel.
- Campaign names carry a pattern: what + when. For example webinar_seo_nov2026 or diwali_sale_2026.
- Use content to separate variants of the same campaign, not to repeat the campaign name.
- Keep a shared sheet listing every link created, by whom and when.
Concrete examples
| Where the link sits | utm_source | utm_medium | utm_campaign | utm_content |
|---|---|---|---|---|
| Monthly newsletter, main button | newsletter | monthly_update_oct2026 | main_button | |
| Same newsletter, text link | newsletter | monthly_update_oct2026 | footer_link | |
| LinkedIn organic post | organic_social | seo_checklist_launch | post_carousel | |
| Instagram bio link | organic_social | always_on_bio | bio_link | |
| Paid social ad, variant A | paid_social | lead_gen_nov2026 | video_a | |
| Printed brochure QR code | brochure | qr | trade_show_delhi_2026 | back_cover |
| WhatsApp broadcast | message | festive_offer_2026 | broadcast_1 | |
| Guest article on a partner site | partner_blog | referral | guest_post_analytics | author_bio |
Notice how each campaign has the same medium value every time. That consistency is what lets you later ask "how did all email perform?" in a single click.
Step by step: using the free UTM builder
- Open the tool at /tools/utm-builder.
- Enter the destination URL. Use the full address including https://. Paste the final page the visitor should land on, not a redirect or a shortened link.
- Fill in source. The specific place: newsletter, linkedin, instagram.
- Fill in medium. Choose from your fixed list: email, paid_social, referral and so on.
- Fill in campaign. Follow the what-plus-when pattern from your convention.
- Add term or content only if you need them. Content is useful for A/B variations and for telling apart two links in one email.
- Copy the generated link. Open it once in a browser to confirm the page loads and the parameters remain in the address bar.
- Record it in your tracking sheet with the date, owner and where it was placed.
- Shorten it if needed. If you use a link shortener for social posts, build the UTM first, then shorten the full tagged link, and test that the redirect keeps the parameters.
The tool is free to use and does not require sign-up. Because it only assembles text, you can also check the output by reading the link: everything after the question mark should be lowercase, with no spaces, and each parameter separated by an ampersand.
Common mistakes
1. Mixed upper and lower case
GA4 is case sensitive for these values. "Newsletter" and "newsletter" appear as separate sources, splitting your totals. Settle on lowercase and enforce it, which is the reason the convention starts there.
2. Spaces and special characters
Spaces get converted to %20 or a plus sign, producing messy values such as "festive%20offer". Ampersands and similar characters can break the link. Use underscores and plain letters and numbers.
3. UTMs on internal links
If you tag a button on your own homepage that links to your own contact page, GA4 starts a new session and overwrites the original source with your internal tag. The visitor who arrived from a search result now looks like an "internal banner" visit. You lose the real source of the conversion. Use event tracking for internal clicks instead, not UTMs.
4. Inventing a new medium every time
If one person writes "email", another "e-mail", another "mailer", your channel report fragments. Keep a locked list and review it quarterly.
5. Using the same campaign name across unrelated activity
A campaign called "promo" used in March and again in September merges two different efforts. Include a time or version marker.
6. Tagging links the platform already tags
Some platforms and tools add their own parameters. Check what they do before adding yours so the two do not conflict.
7. Forgetting that the tag travels
If someone copies a tagged link from their browser bar and shares it, every share carries your campaign tag. This is common with newsletter links. It cannot be fully prevented, so treat campaign data as a good guide rather than perfect truth.
8. Not testing the final link
Redirects, link shorteners and some landing page builders strip parameters. Always click the final link and check the address bar, then confirm in GA4 Realtime.
How UTMs show up in GA4
When a visitor lands on a tagged link, GA4 records the values and uses them to populate session and user-level source, medium and campaign dimensions. You can see them in a few places:
- Reports, Acquisition, Traffic acquisition: change the primary dimension to "Session source / medium" or "Session campaign" to see your tagged traffic.
- Realtime: useful for testing a link right after you build it. Open it in a private window and watch for the source and campaign appearing.
- Explore: build a free-form report with session campaign, source and medium as rows and conversions or key events as values.
- Default channel grouping: GA4 sorts traffic into groups such as Email, Paid Social or Organic Social partly by your medium values. If your medium is not recognised, the traffic can land in "Unassigned" or "Referral". This is why standard medium names matter.
Data does not appear instantly in all standard reports, and it may take some time to process. Realtime is the quickest way to confirm that a tag is working.
One more practical point: UTMs tell you where a visit came from, not whether the visit was valuable. Pair them with properly set up key events so that you can compare campaigns by enquiries or sales, not just sessions. If traffic is arriving but nothing converts, the issue may be elsewhere; see website traffic but no leads.
Reusable naming template
Copy this table into a shared sheet and fill it for every link. It doubles as your record of what each tag means.
| Field | Rule | Pattern | Example |
|---|---|---|---|
| utm_source | Lowercase; specific platform, publisher or list | platform_or_list | newsletter |
| utm_medium | One value from your locked list | channel_type | |
| utm_campaign | What + when, underscores, no spaces | topic_period | webinar_seo_nov2026 |
| utm_term | Paid keyword only, underscores | keyword_phrase | seo_consultant_delhi |
| utm_content | Variant or position, not the campaign name | placement_or_variant | header_button |
| Owner | Person who created the link | name | marketing_lead |
| Date created | YYYY-MM-DD | date | 2026-10-20 |
| Where placed | Plain description | text | Oct newsletter, top banner |
Suggested locked medium list: email, organic_social, paid_social, cpc, display, referral, qr, sms, message, partner. Add to it only by agreement, and write down when and why.
If your team is larger, the deeper material on governance, approvals and cleaning up historical data is in the naming conventions guide.
A quick checklist before you publish a link
- The destination page loads correctly and is the right final URL.
- Source, medium and campaign are present.
- Everything is lowercase, with no spaces.
- The medium is from your approved list.
- The link is not on an internal page of your own site.
- The parameters survive any shortener or redirect.
- It has been logged in your tracking sheet.
- You have seen it register in GA4 Realtime.
Frequently asked questions
Is a UTM link generator really free?
Yes. My UTM builder is free to use. A UTM link is only text added to a URL, so generating one costs nothing. The value lies in the consistency of how you name things.
Do UTM parameters affect SEO?
They do not change rankings, but tagged URLs can be indexed as duplicates if they are linked from places crawlers can reach. Pages should carry a canonical tag pointing to the clean URL, which a technical review can confirm. See technical SEO if you want that checked.
Are UTM values case sensitive?
In GA4, yes. "Email" and "email" are recorded separately. Use lowercase across the board to keep totals together.
Can I use UTMs for offline campaigns?
Yes, if the offline material points to a web address. Use a QR code or a short, memorable URL that redirects to a tagged link, and label the medium as qr or print. Test the redirect keeps the parameters.
Why does my tagged traffic show as Unassigned or Direct?
Common causes are a medium that GA4 does not map to a channel group, a redirect that strips the parameters, or apps that hide the referrer. Check the final link, test it in Realtime and review your medium names.
Should I put UTMs on Google Ads links?
Auto-tagging usually handles Google Ads attribution. Add manual UTMs only if you have a reason and have checked how they interact with your GA4 and Ads linking.
Next step
Build your first set of links with the free UTM builder. If your reports already look inconsistent or you are unsure whether your tracking can be trusted, you can book a call. A 30-minute strategy session is ₹2,999 + GST (intro offer), and we can review your analytics set-up together.



