To set up UTM tracking, append utm_source, utm_medium and utm_campaign to every external campaign URL. These three parameters are non-negotiable; leave one out and your analytics platform can't group traffic properly. Use Google's Campaign URL Builder for a fast, reliable link rather than typing one by hand. Two more parameters are optional: utm_term for paid keyword tracking utm_content for distinguishing ad variants or A/B tests Consistency matters more than completeness. A tidy three-parameter link beats a five-parameter one riddled with typos.
Key Takeaways
Correct UTM tracking depends on three required parameters, a consistent lowercase naming convention, and hidden-field capture that carries campaign data into your CRM.
Point Details Three required parameters Always include utm_source, utm_medium and utm_campaign on every external campaign link. Use a URL builder Google's Campaign URL Builder generates correctly formatted links faster than manual typing. Lowercase everything Case sensitivity splits identical campaigns into separate rows; enforce lowercase and one separator. Capture UTMs in forms Hidden fields matching UTM keys, populated by JavaScript, carry campaign data into your CRM. Project-pixel builds it in Project-pixel configures UTM capture and GA4 checks as part of every website build.
How do you build a UTM tracking link manually or with a tool?
A UTM link is just your normal URL with a query string bolted on. Here's a working example:
https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale
Break that down and you'll see the pattern: a question mark starts the query string, then each key=value pair joins the next with an ampersand.
Pro Tip: *Never type spaces into a UTM value by hand. "Spring Sale" needs to become "spring_sale" or it'll render as %20 in the URL and confuse anyone auditing your links later.*
- 01Take your destination URL (the exact page you want traffic to land on).
- 02Decide your source, medium and campaign values using your naming convention.
- 03Either type the parameters manually, following the format above, or paste your URL into Google's Campaign URL Builder, fill in the fields, and copy the generated link.
- 04Check the order. Convention places utm_source, utm_medium and utm_campaign first, with utm_term and utm_content after, though most platforms read them regardless of sequence.
Which UTM tool fits your team's size?
The right workflow depends on volume, not ambition. A solo marketer sending one newsletter a month needs something different from an agency running fifteen concurrent campaigns.
Most small businesses never outgrow the spreadsheet stage. The failure point isn't the tool, it's the absence of a rule everyone actually follows.
- 01Single links or quick tests: Google's Campaign URL Builder handles this in under a minute, with no setup or account required.
- 02Small teams needing consistency: a shared spreadsheet with dropdown lists for approved source and medium values stops five people inventing five different spellings of "facebook".
- 03High-volume or agency-scale tagging: third-party bulk builders generate and validate hundreds of links at once, catching encoding errors before they ship.
What UTM naming conventions actually prevent bad data?
Fragmented UTM data almost always comes down to one thing: nobody agreed on the rules before the first link went live. Fix that and most tracking headaches disappear.
Consistent naming matters more than exhaustive tagging. A three-parameter link that follows the rules beats a five-parameter one that doesn't.
Pro Tip: *Put your naming rules in a single shared document, not in someone's head. The moment a new hire has to guess whether it's "email" or "newsletter", your data starts fragmenting again.*
- 01Lowercase everything. UTM values are case-sensitive, so Newsletter and newsletter show up as two separate rows in your reports, splitting traffic that should be counted together.
- 02Pick one separator and stick to it. Underscores or hyphens, doesn't matter which, but never mix them across a team.
- 03Maintain a controlled vocabulary for utm_source and utm_medium. Decide once whether your email platform is called "mailchimp" or "newsletter" and write it down.
- 04Document your campaign naming pattern, such as season_year_offer (spring_2026_sale), so anyone can predict a campaign name without asking.
- 05Only add utm_term and utm_content when they earn their place. If you're not going to look at which ad creative won, don't bother tagging it.
How do you pass UTM data into forms and your CRM?
A UTM tag that dies on the landing page is only half useful. You want it riding along until it reaches a lead record, especially now that third-party cookie restrictions make UTM tagging one of the more dependable first-party attribution methods left standing.
Skip this step and every campaign report tells you where traffic arrived, but not who actually converted.
- 01Add hidden fields to your forms that match each UTM key exactly (utm_source, utm_medium, and so on), then populate them with JavaScript that reads the URL on page load.
- 02Persist the values across pages using a cookie or localStorage, so a visitor who lands on a blog post and converts three pages later still carries their original UTM data.
- 03Consider server-side capture as a backup when client-side scripts get blocked by ad blockers or strict browser privacy settings, particularly for high-value lead forms.
What should you check before a UTM link goes live?
A launch-day scramble to fix broken tracking is entirely avoidable with five minutes of testing. Run through this before any campaign link goes out the door.
A five-minute redirect trace catches the kind of silent data loss that otherwise takes weeks to notice, usually only after a campaign report looks suspiciously thin.
- 01Check for unencoded characters. Spaces, ampersands and other special characters need proper URL encoding, or the parameter breaks partway through.
- 02Trace the full redirect chain. Some link shorteners and CDN setups strip query parameters along the way, so confirm the UTM tag survives to the final landing page.
- 03Confirm capture in GA4 DebugView. Load your tagged URL and check that the session_start event actually contains your UTM values rather than showing blank fields.
- 04Avoid hard-coding UTMs into Google Ads final URLs. Google's own guidance recommends a Final URL suffix or tracking template instead, to avoid clashing with auto-tagging.
Where do you view UTM data in GA4?
Once tagged links start driving traffic, GA4 puts the results in Reports > Acquisition > Traffic acquisition. Look at the session source/medium and session campaign dimensions to see exactly which tagged link brought each session in.
Most "not set" cases trace back to a shared link posted without tags at all, not a technical fault in GA4 itself.
- 01Default channel grouping depends on utm_medium. Values like "cpc" or "email" map to recognised channels automatically; invented mediums like "promo1" get dumped into "Unassigned" or "Other".
- 02"Not set" usually means one of two things: either the link never carried a UTM tag, or a redirect stripped the parameters before the visitor reached the landing page.
- 03Cross-check against your naming document. If "Facebook" and "facebook" both appear as separate rows, that's a case-sensitivity fix, not a data problem.
How does Project-pixel handle UTM setup for client campaigns?
Project-pixel runs the same three-step process on every client site, because skipping a step is exactly how naming conventions fall apart within a month.
Client form fields capture UTM data on submission and feed straight into GA4 reporting, so a lead's original campaign source is never lost between click and enquiry.
- 01Naming document first. Source, medium and campaign vocabulary gets agreed and written down before a single link is generated.
- 02Shared sheet second. Every live campaign link lives in one place, so nobody retypes a URL from memory and introduces a typo.
- 03QA checklist third. Encoding, redirect behaviour and GA4 DebugView all get checked before a link goes into an ad, email or social post.
What most UTM advice gets wrong
Most guides to UTM tracking treat every parameter as equally important, which is precisely how small teams end up drowning in utm_term and utm_content values nobody ever queries. The research is fairly blunt on this: a controlled, consistent naming system beats an exhaustive one every time. Five parameters tagged inconsistently produce worse data than three tagged the same way every single time.
The bigger gap is between tagging and capture. Plenty of businesses get the link-building step right, generate perfectly formatted URLs, then lose all of it because nobody built the hidden form fields to carry that data into a CRM. The campaign source dies on the landing page, and three weeks later someone asks why the sales team can't tell which channel produced which lead.
If you're setting this up for the first time, prioritise in this order: agree your naming vocabulary before you tag anything, get form capture working before you launch paid traffic, and only then worry about utm_term and creative-level granularity. Case sensitivity and encoding matter, but they're QA steps, not the foundation. Get the foundation wrong and no amount of careful lowercase formatting saves the report.
Get your UTM tracking built properly, once
Project-pixel is the alternative to piecing together spreadsheets and hidden-field scripts yourself: every website package includes UTM-ready form capture and GA4 configuration built in from launch, not bolted on afterwards. Instead of hunting for a naming-convention template and hoping your developer wires up the hidden fields correctly, you get it done as part of the build.
That matters because most tracking failures aren't tagging mistakes, they're capture gaps between your landing page and your CRM. Project-pixel's web design process sets up the hidden form fields, persistence logic and GA4 checks alongside your site's launch, so campaign source data survives all the way to your lead records. If you want a done-for-you setup rather than a DIY project squeezed between other tasks, check Project-pixel's packages and pricing for a fixed-price option with a clear deadline.
Sources
FAQ
How do I create a UTM tracking link?
Add utm_source, utm_medium and utm_campaign to your destination URL, either by typing them manually or using Google's Campaign URL Builder to generate the link automatically.
How do I set up UTM tracking properly?
Agree a naming convention first, generate tagged links with a builder tool, add hidden form fields to capture the values into your CRM, then verify capture in GA4 DebugView before launch.
What is UTM tracking used for?
UTM tracking identifies which specific link, channel or campaign brought a visitor to your site, so analytics platforms like GA4 can attribute sessions and conversions to the right source.
Can you give me an example of a UTM source?
Yes: utm_source=newsletter identifies traffic from an email newsletter, while utm_source=facebook would identify traffic from a Facebook post or ad.
Why does GA4 show "not set" for some UTM data?
This usually means the link was shared without any UTM tags, or a redirect stripped the parameters before the visitor reached the final landing page.