Free tool
UTM link builder for GA4 campaigns
A UTM link is your normal URL with utm_source, utm_medium and utm_campaign added, so GA4 can tell which campaign sent each visit. This builder keeps the naming consistent and adds a QR code for print.
- Free
- No sign-up
- Runs in your browser
Your link
We add https:// if it’s missing. Existing parameters and #anchors are kept.
Term and formattingTerm: none · Lower case · Spaces to hyphens
Your tagged link
https://example.ae/summer-sale?ref=menu&utm_source=facebook&utm_medium=paid_social&utm_campaign=summer-sale-2026&utm_content=carousel-a#offers
Ready to use. Copy the link, or download the QR code for print.
- utm_source
- utm_medium
- paid_social
- utm_campaign
- summer-sale-2026
- utm_term
- —
- utm_content
- carousel-a
Everything runs in your browser. Nothing is saved, shortened or tracked by us.
How the link is built
- URL pattern
https://your-site.ae/page?utm_source=…&utm_medium=…&utm_campaign=…&utm_term=…&utm_content=…- Cleaning values
Trim spaces → lower case (optional) → spaces become - or _ → URL-encode- Existing parameters
Kept in place; any old utm_* values are replaced by the new ones- #Anchors
Moved to the very end, after the UTMs, so the page still jumps to them
Which UTM parameters should you fill in?
Source, medium and campaign go on every link. Term and content are optional, and earn their place when you test several ads or placements in one campaign.
| Parameter | What it records | Example |
|---|---|---|
| utm_source (required) | The site or sender | facebook, google, newsletter |
| utm_medium (required) | The type of traffic | paid_social, cpc, email |
| utm_campaign (required) | The promotion or launch | white-friday-2026 |
| utm_term | Keyword or audience | lookalike-1pct |
| utm_content | Which ad or link | video-a, header-button |
What naming convention should you use for UTMs?
The convention matters less than sticking to it. Write it down in a shared sheet and give it to everyone who builds links, including your agency and influencers.
- Lower case only. GA4 is case-sensitive, so Instagram, instagram and INSTAGRAM become three rows.
- One separator. Hyphens or underscores, never spaces, which turn into %20 or + and are easy to mistype.
- Source is the platform, medium is the type. facebook / paid_social, not paid_social / facebook.
- Campaign names you can read in a year. ramadan-2026-offer beats test3.
| Channel | utm_source | utm_medium |
|---|---|---|
| Meta ads (Facebook, Instagram) | facebook or instagram | paid_social |
| Google Ads (auto-tagging off) | cpc | |
| TikTok ads | tiktok | paid_social |
| Snapchat ads | snapchat | paid_social |
| LinkedIn ads | paid_social | |
| Organic social posts and bios | instagram, tiktok | social |
| Email newsletter | newsletter | |
| WhatsApp broadcast or status | social | |
| Influencer or creator | creator handle | social or affiliate |
Do you need UTMs if Google and Meta auto-tag clicks?
Google Ads adds a gclid that GA4 reads directly once the accounts are linked. Meta’s fbclid doesn’t name your campaigns in GA4, so untagged Meta clicks tend to show up as referral or organic social.
| Channel | Add UTMs? | Why |
|---|---|---|
| Google Ads | Usually not | With auto-tagging on, campaign, ad group and keyword come straight from Google Ads |
| Meta, TikTok, Snapchat, LinkedIn | Always | Set them once per ad in the ad manager’s URL parameters field |
| Email, WhatsApp, influencers, QR codes | Always | Otherwise these visits blend into direct and referral traffic |
What are the most common UTM mistakes?
- UTMs on internal links. Tagging a banner on your own site starts a new session and overwrites where the visitor really came from.
- Source and medium swapped. paid_social / facebook files Meta traffic under the wrong channel.
- Missing campaign. Without utm_campaign, GA4 can’t tell your Eid sale from your always-on ads.
- Tagging a link that already has UTMs. Copying a tagged URL and adding new tags leaves duplicates. The builder replaces old ones.
- UTMs after a #anchor. They stop being read. The builder always puts the anchor last.
Check it before you launch
Open your tagged link, then look at GA4’s Realtime report. If source and medium appear as you typed them, the link works. Fixing a typo after the budget is spent is much harder.
If GA4, Meta and your CRM still disagree, our marketing technology service sets up tracking and consent properly. The glossary explains the terms.
FAQ
UTM questions, answered

In the Traffic acquisition report, under Session source / medium and Session campaign. utm_source and utm_medium become the session’s source and medium, and utm_campaign becomes the campaign.
GA4 sorts sessions into default channel groups mostly by medium. A medium it doesn’t recognise, such as qr or flyer, lands in Unassigned unless you create a custom channel group for it.
No. The page is exactly the same; the tags only tell your analytics where the visit came from. Existing parameters and #anchors keep working.
Use the print / QR quick fill, name the campaign after the piece and download the QR code as PNG or SVG. Give each printed item its own utm_content to compare them.
No. The link and QR code are built in your browser and nothing is saved or tracked by us. If you shorten the link elsewhere, the UTMs still work as long as the shortener redirects to the full URL.
Next step
Tags in place, but the numbers still don’t add up?
Book a free 30-minute intro call and we’ll tell you plainly what needs fixing in how your GA4, ad platforms and CRM track campaigns.
