A trackable UTM link is a normal web address with up to five trailing parameters — utm_source, utm_medium, utm_campaign, utm_term, and utm_content — that Google Analytics and other analytics platforms read to attribute incoming traffic to a specific campaign, referrer, or creative. To create one, you append a question mark followed by key-value pairs to your destination URL, making sure the first three parameters are always populated with consistent, lowercase values. Using a dedicated UTM Link Builder removes the risk of typos, double question marks, and broken parameters, and it produces a clean, copy-ready URL in a single step.
Anyone running email blasts, social posts, paid ads, QR-code campaigns, or newsletter CTAs needs a way to tell Google Analytics exactly where each click came from. Without UTM parameters, every external visit shows up as a generic referral or a mysterious "direct" visit, and the campaign that drove real revenue gets no credit. The challenge is not the concept but the execution: hand-typing `?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale` is error-prone, and one missing ampersand silently breaks attribution for the entire link. A browser-based builder takes that manual risk off the table.

The Five UTM Parameters and What Each One Means
Google's Urchin Tracking Module specification defines five parameters, and every analytics platform that supports UTM codes uses the same names. The first three are mandatory in practice because Google Analytics ignores campaign rows missing any of them. The last two are optional refinements you add only when you actually need that level of granularity.
| Parameter | Required? | Purpose | Example value |
|---|---|---|---|
| utm_source | Required | Where the click came from (the referrer) | google, newsletter, facebook |
| utm_medium | Required | The marketing channel or category | cpc, email, social, qr |
| utm_campaign | Required | The specific promotion, launch, or initiative | spring_sale, june_webinar |
| utm_term | Optional | Paid keyword (mainly for Google Ads) | running+shoes |
| utm_content | Optional | Differentiates creatives or links in the same campaign | hero_banner, cta_button |
Keeping these roles straight is the difference between clean reporting and a spreadsheet of mystery rows. Source answers "who sent it?", medium answers "what kind of channel is this?", and campaign answers "which promotion does it belong to?". If you mix those up — for example, putting "newsletter" in medium instead of source — your traffic still tracks but the dimensions no longer roll up the way your reports expect.
Common Use Cases for Trackable Campaign URLs
UTM links show their value anywhere a click leaves a system that already records a referrer, or where the referrer gets stripped. Email is the classic case: most email clients rewrite or hide the original referrer, so the only way to know a click came from a specific newsletter blast is the utm_source and utm_medium pair. Social media posts need UTMs because multiple posts in the same week would otherwise all report as "facebook" or "twitter" with no way to compare which post actually converted.
Paid campaigns beyond Google Ads — anything on LinkedIn, Reddit, or a display network — also depend on UTMs to tie spend to outcomes. QR codes on print materials, conference badges, or product packaging are another strong fit, because the scanner becomes the user agent and the QR itself never carries referrer data; the UTM parameters are the only signal you have. Internal links between properties you own can also carry UTMs, though for those you may prefer cross-domain tracking instead.
Build a Trackable UTM Link Step by Step
The UTM Link Builder handles every parameter and preserves any query string already attached to your destination URL, so you do not have to hand-assemble the final string. Follow these concrete steps in your browser.
- Paste the complete destination URL into the URL field. It must start with http:// or https://; the tool does not add or rewrite the protocol.
- Enter the campaign source in the utm_source field — the site, platform, or sender driving the click, in lowercase (for example, "newsletter" or "linkedin").
- Enter the campaign medium in the utm_medium field — the channel category, in lowercase (for example, "email", "social", or "cpc").
- Enter the campaign name in the utm_campaign field — a short, descriptive label for the specific promotion (for example, "spring_sale_2026").
- Add utm_term only when you are tagging paid keywords, typically to mirror Google Ads landing-page parameters.
- Add utm_content only when you need to split-test two or more links inside the same campaign — for example, "header_cta" versus "footer_cta".
- Click the build button and review the result. The tool preserves any existing query parameters and the page fragment (the #anchor portion), so your original tracking and deep links stay intact.
- Copy the resulting URL and paste it into your email platform, social scheduler, ad manager, or QR code generator.
For example, starting from the destination `https://example.com/landing` and adding utm_source=qr, utm_medium=print, utm_campaign=june_event produces the final link `https://example.com/landing?utm_source=qr&utm_medium=print&utm_campaign=june_event`. The builder outputs this exact string with a single question mark and correctly escaped ampersands, ready to paste into your campaign.
Naming Conventions That Prevent Reporting Chaos
UTM values are case-sensitive inside the analytics pipeline, even though most tools lowercase them on display. "Facebook", "facebook", and "FaceBook" will land as three different sources and quietly fragment your data. The simplest convention is to commit to lowercase for every value across source, medium, and campaign, and to use underscores or hyphens instead of spaces. Spaces are technically legal in UTM values but require URL encoding (%20), which makes raw links harder to read and easier to mis-copy.
Document a short value map before your first campaign goes live, even if it is just a shared spreadsheet. Decide what counts as "email" versus "newsletter", what "social" covers, and how campaign names encode the year or quarter. Teams that skip this step usually find themselves renaming historical data with regex filters months later, which is far more work than writing the rules up front.
Pairing UTMs With QR Codes and Barcodes
When you generate a QR code for a printed flyer or a product sleeve, the link behind it should be a trackable UTM URL — otherwise you have no way to count scans. The workflow is straightforward: build the UTM link with the UTM Link Builder, then paste that final URL into a QR code generator such as the QR Code Generator so the printed code points at a fully attributed address. You can apply the same pattern to barcode-driven workflows where the resolved link carries UTMs, or simply keep a reusable UTM link per asset and let the QR/barcode handle the scan step.
If you want a deeper look at end-to-end workflows, the guide on building UTM links quickly with a browser-based tool covers the same builder from a speed-focused angle, and the guide on building UTM links in your browser without spreadsheets is useful if your team is moving away from a shared UTM spreadsheet. For QR-code specifics, see the complete guide on how to generate a QR code.
Verifying That Your Links Will Actually Track
Before pushing a campaign live, run a quick smoke test: paste the finished URL into an incognito window, click through, and check your analytics real-time report for the expected source, medium, and campaign row. If the row does not appear, the most common culprits are an extra question mark (which terminates the query string early), a missing ampersand between parameters, or a typo in the parameter name itself. The browser-based builder eliminates all three of these by construction, but a manual final check still catches mistakes made before the URL was pasted into the tool.
Watch out for URL shorteners, which can swallow or rewrite UTM parameters depending on the service. Some shorteners preserve everything; others strip query strings entirely. If you must use one, verify a shortened example in your analytics first. For maximum control, many teams skip shorteners and rely on branded short domains or on the UTM link itself, especially when the link will sit in a QR code where character count does not matter.