How to Create a UTM Link in Google Analytics (Step-by-Step With a Real Example)

You launched a campaign. You shared the link in an email, a few Instagram posts, and a paid ad. A week later you open Google Analytics and every click is lumped together. You have no idea which channel actually worked.
I have been there. Early on, I sent the same plain URL everywhere and prayed GA4 would sort it out. It never did.
The fix is a UTM link. And the question I get most often is where you actually create one inside Google Analytics. So let me clear that up first, then walk you through building a real UTM link step by step. By the end, you will have a tagged link, and you will know how to confirm it works in GA4.
What a UTM Link Actually Is
A UTM link is a normal web address with extra tracking tags bolted onto the end. Those tags tell Google Analytics where a click came from.
Here is a real one I built for a recent email campaign:
https://linkutm.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=may_pricing_update
Everything before the ? is the destination page. Everything after it is the tracking. When someone clicks, GA4 reads those tags and files the visit under the right source, medium, and campaign.
I am not going to re-explain all five parameters here. I wrote a full breakdown in our guide to UTM parameters, and if you want the raw syntax of how ?, =, and & fit together, how to add URL parameters covers that piece. This article is about one thing: creating the link through Google’s own tool and checking it in GA4.
One honest limitation up front. UTM links only track digital clicks. If someone types your URL from memory or a printed flyer without scanning a code, the tags never load.
Does Google Analytics Have a UTM Link Builder?
Short answer: not inside the GA4 dashboard itself. This trips up almost everyone.
You will not find a “create UTM link” button when you log into Google Analytics. GA4 reads UTM data, but it does not build the links for you. Instead, Google offers a separate free tool called the Campaign URL Builder. It lives on Google’s developer tools site, not in your analytics account.
Real talk: the naming is confusing. People search “google analytics UTM builder” expecting a dashboard feature. What they actually want is the Campaign URL Builder. There are two versions on that page, one for GA4 (web) and one for apps. Use the GA4 tab for website links.
So the workflow is: build the link in the Campaign URL Builder, use it in your campaign, then read the results back in GA4. Let me show you exactly how.
How to Create a UTM Link With Google’s Campaign URL Builder
Here is the full process. I will build a real example as we go: a link for a Diwali sale, promoted through an Instagram bio link.
Step 1: Open the Campaign URL Builder.
Go to the GA4 Campaign URL Builder on Google’s developer tools site. Make sure you are on the “GA4” tab, not the iOS or Android tabs.
Step 2: Enter your website URL.
This is the page you want people to land on. For my example, that is the sale page:
https://linkutm.com/diwali-sale
Use the full address, including https://. Skip the trailing slash unless your page needs it.
Step 3: Fill in the three required fields.
These are the tags GA4 cares about most.
- Campaign source (
utm_source): where the traffic comes from. I useinstagram. - Campaign medium (
utm_medium): the channel type. For a bio link, I usesocial. - Campaign name (
utm_campaign): the promotion itself. I usediwali_sale_2026.
Step 4: Add the optional fields only if you need them.
The builder also has campaign term and campaign content fields.
- Campaign content (
utm_content): use this to tell two links in the same place apart. I setbio_linkso I can separate it from a Story link later. - Campaign term (
utm_term): mostly for paid keywords. I leave it blank here.
Step 5: Copy the generated URL.
The tool builds the full link automatically as you type. Mine came out as:
https://linkutm.com/diwali-sale?utm_source=instagram&utm_medium=social&utm_campaign=diwali_sale_2026&utm_content=bio_link
Hit the copy button. That is your UTM link, ready to share.

Step 6: Shorten it before you share (optional but smart).
That link is long and ugly. For an Instagram bio, it looks spammy. The builder has a “convert URL to short link” option, but it needs a connected account. I usually run mine through a branded shortener instead so the link shows my own domain. More on that later.
One trade-off with the Campaign URL Builder: it builds one link at a time. Fine for a single campaign. Painful when you are tagging 40 links for a product launch.
A Real UTM Link Example, Broken Down
Let me take that exact link apart so every piece makes sense. This is the part most people skip, and it is why their data gets messy.
https://linkutm.com/diwali-sale?utm_source=instagram&utm_medium=social&utm_campaign=diwali_sale_2026&utm_content=bio_link
| Part | Value | What it tells GA4 |
|---|---|---|
| Base URL | https://linkutm.com/diwali-sale | The page to load |
utm_source | instagram | The specific platform |
utm_medium | social | The channel category |
utm_campaign | diwali_sale_2026 | The promotion |
utm_content | bio_link | Which link inside that placement |
Notice three things. Every value is lowercase. Every space is an underscore, not a real space. And the medium is social, a value GA4 recognizes for its default channel grouping.
That last point matters more than people think. If I had typed medium=insta instead of social, GA4 would not know how to bucket it, and the traffic could land in Unassigned. I dig into why that happens in our post on fixing Unassigned traffic in GA4.

For the full list of dos and don’ts on naming, our UTM best practices guide has 12 rules I follow on every link. The big one: pick a convention and never deviate. GA4 treats Instagram and instagram as two different sources.
How to Verify Your UTM Link Works in GA4
Building the link is half the job. You need to confirm GA4 is actually catching it. This is the step almost everyone skips, and then they wonder why a campaign shows zero traffic.
There are three ways to check, from fastest to most thorough.
Use the Realtime Report
This is my go-to for a quick gut check.
- Click your own UTM link in a private browser window.
- In GA4, open Reports > Realtime.
- Find the card titled “Session source / medium” or add a comparison.
- Look for
instagram / social.
If it shows up within a minute, your tags are firing. If you see (direct) / (none) instead, something stripped the parameters.
Use DebugView for a Detailed Check
DebugView shows the exact parameters on each event. Turn on debug mode (the GA Debugger Chrome extension is the easy way), then open Admin > DebugView. Click an event and you can see the source, medium, and campaign values attached. This is how I confirm a tricky link before a big send.
Use the Traffic Acquisition Report (After 24 Hours)
For the real numbers, wait a day. Open Reports > Acquisition > Traffic acquisition and set the primary dimension to “Session source / medium.” Your campaign traffic appears here once data processes. Google explains how GA4 collects this campaign data in its official documentation.

If your link shows up as (not set) instead of your campaign name, that is a known GA4 quirk with its own causes. I broke down all seven of them in why your GA4 source/medium shows (not set).
Common Mistakes When Creating UTM Links in Google Analytics
I have made every one of these. Here are the ones that cost me clean data.
- Mixing capital letters.
utm_source=Instagramandutm_source=instagramsplit into two rows in GA4. Always lowercase. - Using spaces. A raw space breaks the URL. Use underscores or hyphens, and stay consistent across every link.
- Inventing random mediums. Stick to standard values like
email,social,cpc, andreferral. Made-up mediums land in Unassigned. - Tagging internal links. Never put UTM tags on links between pages of your own site. It resets the original source and corrupts attribution. Only tag links that point to your site from outside it.
- Forgetting to test. Send yourself the link and click it before the campaign goes live. Thirty seconds of checking saves a week of bad data.
- Skipping a naming standard. When two teammates tag the same campaign differently, your report fragments. Validate links with a tool like our UTM checker before they ship.
A Faster Way to Build UTM Links at Scale
Google’s Campaign URL Builder is fine for one link. It falls apart when you are tagging dozens.
Here is the honest comparison. The Campaign URL Builder is free, official, and has zero setup. But it builds one link at a time, it does not enforce your naming rules, and it does not remember past campaigns. So the same typos keep happening.
That gap is why I built linkutm. Our UTM builder does the same job, then adds the parts the Google tool skips:
- Naming enforcement. It auto-lowercases and blocks spaces, so the
Instagramversusinstagramproblem disappears. - Reusable templates. Save your medium and source values once. Stop retyping them.
- Bulk creation. Tag hundreds of links from a CSV in one go.
- Branded short links. The tagged URL hides behind your own domain instead of a long, ugly string.
You can see the full UTM builder feature for how the naming rules and team controls work together.
One trade-off, to be fair: a dedicated tool is overkill if you run two campaigns a year. If that is you, the free Google builder is genuinely all you need. The value shows up when volume and team size grow, and consistency starts to matter more than convenience.
Frequently Asked Questions
How do I create a UTM link in Google Analytics?
You create it with Google’s free Campaign URL Builder, not inside the GA4 dashboard. Enter your website URL, then fill in the source, medium, and campaign fields. The tool generates the tagged link automatically. Copy it, use it in your campaign, then read the results back in GA4.
Where is the UTM builder in Google Analytics?
There is no UTM builder inside the GA4 interface. Google hosts a separate Campaign URL Builder on its developer tools site. GA4 only reads the UTM data once people click your tagged links. It does not create the links for you.
What does a UTM link look like?
A UTM link is your normal page URL followed by a ? and a set of tracking tags. For example: https://yoursite.com/sale?utm_source=instagram&utm_medium=social&utm_campaign=diwali_sale_2026. Each tag is a key=value pair, and they are joined with &.
How do I check if my UTM link is working in GA4?
Click the link in a private browser window, then open Reports > Realtime in GA4 and look for your source and medium. For deeper checking, use DebugView to see the exact parameters on each event. The full numbers appear in the Traffic acquisition report after about 24 hours.
Are UTM parameters case sensitive in Google Analytics?
Yes. GA4 treats utm_source=Facebook and utm_source=facebook as two separate sources. This splits your data across duplicate rows. Always use lowercase for every parameter value to keep reports clean.
Do UTM links hurt my SEO?
No. UTM parameters do not affect how search engines rank your pages. They only label traffic for analytics. The one caveat is duplicate URLs, which a canonical tag handles cleanly.
Start Tracking Your Campaigns the Right Way
Creating a UTM link in Google Analytics comes down to three moves. Build the link in Google’s Campaign URL Builder. Keep every value lowercase and consistent. Then verify it in GA4 before the campaign goes live.
Do that, and your next report will tell you exactly which channel earned the click. No more guessing. No more lumping everything under direct traffic.