Answer

What is UTM tracking?

A tagged link looks like /pricing?utm_source=linkedin&utm_medium=paid&utm_campaign=q4-launch. Analytics reads those parameters, the CRM captures them against the lead, and attribution math joins the two.

Short answer

UTM tracking is a method of tagging URLs with five standardized parameters, source, medium, campaign, term, and content, so analytics and CRM tools can tell which link, campaign, or ad brought a visitor to the site. UTM stands for Urchin Tracking Module, named after the Urchin Software analytics tool Google acquired in 2005. UTMs are how marketing proves which channels actually drive revenue.

Key points

What matters most.

The five parameters, what each one means, and why the taxonomy you pick on day one decides whether attribution ever works.

The acronym

UTM means Urchin Tracking Module.

Urchin was a web analytics product Google bought in 2005 and rebuilt into Google Analytics. The URL parameter format survived the rebrand. Every analytics tool, ad platform, and CRM in the world now reads the same five keys: utm_source, utm_medium, utm_campaign, utm_term, utm_content. The format is a de facto standard, not a Google-only thing.

Five parameters

Source, medium, campaign, term, content.

Source is where the click came from (linkedin, newsletter, google). Medium is the type of traffic (paid, email, social, cpc, organic). Campaign is the specific initiative (q4-launch, spring-webinar). Term is the paid keyword. Content is the creative variant (hero-banner, sidebar-cta). Source, medium, and campaign are mandatory. Term and content are optional.

Where it goes

Appended to the URL after a question mark.

A tagged link looks like strkr.io/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=october-launch. Order does not matter. Spaces are forbidden. Case matters in every analytics tool, which is why consistent casing is the first rule of a usable taxonomy. The parameters are read by analytics, stored by the CRM, and ignored by the destination page.

Why it exists

To prove which channel drove the revenue.

Without UTMs, every visitor shows up as "direct" or "referral" and marketing cannot tell which campaign produced the pipeline. With UTMs, the LinkedIn ad, the email send, and the podcast sponsorship each carry their own fingerprint through the funnel, from first click to closed deal. UTMs are the raw material of marketing attribution.

Where it fails

Governance, not technology.

The format is simple. The failure is almost always human: one team writes LinkedIn, another writes linkedin, a third writes LI. Three sources that should be one. Analytics splits what should be unified, campaigns look smaller than they are, and the roll-up report lies. A UTM program lives or dies on a shared taxonomy and a validator.

What captures it

Analytics for traffic, CRM for revenue.

GA4 reads UTMs on the page view and groups sessions by source and medium. The CRM reads the same UTMs from hidden form fields when a lead converts, stores them against the contact, and carries them forward to the opportunity. One tells you traffic quality. The other tells you revenue quality. You need both.

The five parameters, defined

What each UTM key actually represents.

Google uses deliberately generic names for the five parameters, which is why teams end up with wildly different interpretations of what belongs where. The useful rule is to pick a definition per parameter and write it down. Below is the pattern most B2B revenue teams converge on after a few quarters of trial and error. Treat these as defaults, document any deviation, and never let a new campaign ship without the first three filled in.

utm_source

The specific property that sent the click.

The named platform, publication, partner, or sender. Examples: linkedin, newsletter, techcrunch, g2, partner-acme, podcast-twenty-minute-vc. One source is one entity. Never use source to describe a type of traffic (that is medium) and never leave it blank. The source answers "which named property sent this visitor?"

utm_medium

The category of traffic.

A controlled vocabulary of about six to ten values the whole team agrees on. Common set: paid, email, social, organic, affiliate, display, referral, sponsorship. Medium is how the source reached the visitor. LinkedIn can be paid (ads) or social (organic post). The medium disambiguates them. Treat the vocabulary as sacred.

utm_campaign

The named initiative being measured.

The campaign is a time-bound, named marketing initiative that spans multiple sources and mediums. Examples: q4-launch, spring-webinar, abm-fortune-500, product-waitlist. The campaign answers "which effort is this spend tied to?" so leadership can look at one campaign across every channel and read a single P&L.

utm_term

The paid keyword, when relevant.

Historically used only for paid search, utm_term is the keyword that triggered the ad. Most ad platforms auto-populate it through dynamic insertion ({keyword}). If the campaign is not paid search, leave term blank. Overloading term with other data pollutes the field and breaks keyword-level reporting later.

utm_content

The creative or placement variant.

Used to distinguish variants that share the same source, medium, and campaign. Examples: hero-banner vs sidebar-cta, variant-a vs variant-b, headline-roi vs headline-time. Content answers "which specific creative did the click come from?" and powers A/B comparisons without creating duplicate campaigns.

The hierarchy

Source and medium are mandatory.

If source or medium is missing, analytics defaults the session to "direct" and the click is effectively untagged. Campaign is mandatory for any paid or named initiative. Term and content are optional but should be filled when they would answer a question the team actually plans to ask. Never populate a field with filler just to populate it.

Building the taxonomy

Naming conventions that survive the quarter.

A UTM taxonomy is a shared agreement about how values are written across every channel owner, every ad platform, and every email tool. Without one, the data in GA4 and the CRM becomes a mess of near-duplicates (LinkedIn vs linkedin vs Linked-In) and every monthly report starts with a cleanup project. The rules below are the ones that hold up across teams of any size, from a two-person growth team to a global demand gen org.

Lowercase

Always, no exceptions.

Analytics tools treat UTM values as case-sensitive. Linkedin and linkedin are two different sources. Standardize on lowercase for every value in every parameter. This single rule eliminates the most common data-quality problem in UTM programs. Document it in the taxonomy and enforce it in the link-builder tool.

No spaces

Use hyphens for word separation.

Spaces in URLs encode to %20 and look broken in reports. Use hyphens (q4-launch, product-waitlist) or underscores, but pick one and stick with it. Hyphens are the more common choice because they are SEO-friendly and more readable. Mixing hyphens and underscores creates duplicate campaigns that look the same but are not.

Controlled vocab

A short, fixed list for medium.

The medium parameter should pull from a published list of six to ten values and never improvise. The team-wide list typically covers paid, email, social, organic, display, affiliate, referral, and sponsorship. New mediums require review and documentation. If every channel owner invents their own values, roll-up reporting is impossible.

Campaign IDs

Prefix every campaign with a code.

Mature programs prefix campaigns with a short code (fy26-q4-launch, abm-001-fortune500, evt-002-dreamforce). The code links back to a central campaign record in the CRM or marketing calendar, so a UTM in GA4 can be cross-referenced to the real initiative. Without an ID, two teams can create "launch" and nobody can tell them apart.

Link builder

One tool, one source of truth.

A shared UTM builder (even a spreadsheet, better a form or a browser extension) is the single most effective governance tool. It validates against the controlled vocabulary, auto-lowercases values, warns on duplicates, and logs every generated link. Teams that build UTMs by hand produce bad data. Teams with a builder produce clean data.

Change log

Taxonomy decisions are documented.

The taxonomy itself needs version control. When a new medium is added, when a campaign code format changes, when a legacy source is retired, the change is logged with a date and an owner. A year from now, when a report looks weird, the change log is how analytics figures out what shifted and when.

Common mistakes

The failure patterns that kill attribution.

Most UTM failures are predictable. The same handful of mistakes show up across every team that has not formalized the program. Watching for them during the first few weeks of a campaign is the difference between an attribution model you trust and a dashboard the whole team quietly ignores. The pattern below is drawn from auditing dozens of marketing stacks before the first clean month of data.

Inconsistent casing

LinkedIn, linkedin, Linked-In.

The same source written three ways produces three rows in the report, each with a fraction of the real traffic. The campaign looks smaller than it is, the channel share is wrong, and the finance team gets a number that cannot be reconciled. Lowercase everything, validate at creation, and run a monthly audit to catch drift.

No governance

Every rep tags their own links.

When sales reps and marketing managers each generate their own UTMs without a shared builder or vocabulary, the data model explodes. Reports become unreadable in a quarter, and the first attempt at an attribution dashboard fails because the raw data cannot be grouped. Centralize link creation, even if it slows down campaigns slightly at launch.

Missing campaign IDs

Campaigns named after themes.

Calling a campaign "spring-promo" or "fall-launch" works for one quarter and breaks in year two when nobody remembers which spring. Campaign IDs (fy26-q2-promo-001) scale across years and link back to a canonical campaign record. The ID is also what finance uses to match marketing spend to pipeline for ROI math.

Tagging internal links

UTMs on same-domain navigation.

If an internal link on the site carries a UTM, GA4 restarts the session and the original source gets overwritten with the internal campaign. A visitor who arrived from LinkedIn and clicked an internal CTA now shows as sourced from the CTA, not LinkedIn. Never UTM internal links. Use event tracking for on-site interactions instead.

Overloading parameters

Stuffing data into content.

When teams run out of parameters, they start cramming multiple values into utm_content (hero-cta-variant-a-blue-button). The field becomes unparseable and no report can slice it. Use parameters as they were designed, add custom query parameters for the extras, and resist the urge to encode a whole taxonomy into one field.

No validation

Nobody audits the raw data.

A UTM program needs a weekly audit for the first month and a monthly audit forever after. The audit looks for new values in each parameter, flags inconsistent casing, and surfaces campaigns that should have been retired. Without the audit, drift accumulates until the next quarterly review surfaces an attribution model that no longer matches reality.

From UTM to attribution

How a tag becomes a revenue number.

A UTM parameter is just a string on a URL. The value shows up when analytics reads it on the page view, when the CRM captures it from a hidden form field at conversion, and when attribution math joins the two to answer which touchpoints produced revenue. The flow below is how a single click becomes a sourced opportunity, and it is the mechanical foundation every attribution model is built on, no matter how sophisticated the model gets.

The click

A tagged link lands on the page.

A visitor clicks a LinkedIn ad with utm_source=linkedin, utm_medium=paid, utm_campaign=q4-launch. The browser loads the page with those parameters in the URL. GA4 reads them on the first page view and attributes the session to the campaign. Nothing else is written to the URL for the rest of the session.

The capture

Hidden form fields read the URL.

When the visitor fills out a form, the form includes hidden fields named utm_source, utm_medium, and utm_campaign that are pre-populated from the URL via JavaScript. On submit, those values travel with the lead payload into the CRM and are stored on the contact record. The UTM is now a permanent property of the lead.

First touch

The original source is preserved.

The best CRMs store two sets of UTMs: first-touch (the parameters from the very first visit, captured in a cookie before the visitor was known) and last-touch (the parameters at the moment of conversion). First-touch tells you which channel started the relationship. Last-touch tells you which campaign closed it.

The deal

UTMs flow to the opportunity.

When the lead converts into an opportunity, the UTM fields on the contact copy over to the opportunity record. The deal now carries source, medium, and campaign through every stage. Pipeline reports can filter by UTM. Won-deal reports can roll up revenue by campaign. The marketing P&L is finally sourced from CRM data, not estimated.

The reconciliation

GA4 and CRM should agree.

GA4 counts sessions and conversions by UTM. The CRM counts leads and opportunities by UTM. The numbers should be in the same order of magnitude. When they diverge by more than ten or twenty percent, the usual culprits are form-capture bugs, cross-domain tracking, or GA4 session cutoffs. A quarterly reconciliation catches these before they rot the quarterly review.

The model

Attribution is UTMs plus math.

Last-touch attribution reads the last UTM. First-touch reads the first. Linear splits credit evenly across every UTM in the journey. Time-decay weights recent touches more heavily. Position-based gives 40% to first and last, 20% to middle. Every attribution model is a mathematical operation on the UTM history. If the UTMs are clean, the model works. If not, no model saves it.

Capture UTMs on every lead, from first touch to closed deal.

Strkr captures UTMs through hidden form fields, stores first-touch and last-touch against the contact, and carries both through to the opportunity so attribution reports pull from one source of truth instead of a spreadsheet reconciliation.

People also ask

Related questions.

What does UTM stand for?

UTM stands for Urchin Tracking Module. Urchin Software was a web analytics company Google acquired in 2005 and rebuilt into Google Analytics. The URL parameter format Urchin used (utm_source, utm_medium, utm_campaign, utm_term, utm_content) was carried forward and is now the de facto industry standard, read by every major analytics tool, ad platform, and CRM.

What are the five UTM parameters?

The five parameters are utm_source (the specific property that sent the click, like linkedin or newsletter), utm_medium (the category of traffic, like paid, email, or social), utm_campaign (the named initiative, like q4-launch), utm_term (the paid keyword, used mostly for search ads), and utm_content (the creative variant, used to distinguish A/B tests or placements). Source, medium, and campaign are mandatory for useful tracking.

Are UTM parameters case-sensitive?

Yes, every major analytics tool treats UTM values as case-sensitive. LinkedIn, linkedin, and Linked-In are counted as three separate sources. The industry best practice is to standardize on lowercase everywhere and validate at the point of link creation. Case inconsistency is the single most common cause of fragmented UTM reporting and makes campaign roll-ups look smaller than they really are.

Should I use spaces or hyphens in UTM values?

Never use spaces. Spaces encode to %20 and make reports look broken. Use hyphens or underscores as word separators, but pick one and stick with it across the whole taxonomy. Hyphens are the more common choice because they are more readable and align with SEO-friendly URL conventions. Mixing hyphens and underscores creates duplicate campaigns that look identical in reports but are counted separately.

Where should I NOT use UTM parameters?

Never put UTM parameters on internal links (links from one page of your site to another). Doing so resets the analytics session and overwrites the original traffic source with the internal campaign. A visitor who arrived from a LinkedIn ad and clicked an internal CTA with its own UTM would show as sourced from the internal CTA, not LinkedIn. Use event tracking for on-site interactions.

How do UTMs end up in the CRM?

The standard pattern is hidden form fields. Every form on the site includes hidden inputs named utm_source, utm_medium, and utm_campaign that are pre-populated from the URL via JavaScript when the page loads. On submit, those values travel with the lead payload and are stored against the contact record in the CRM. Good setups also capture the first-touch UTMs via cookies before the visitor is known.

What is the difference between first-touch and last-touch UTMs?

First-touch UTMs are the parameters from the very first visit a prospect made to the site, captured in a cookie before they filled out any form. Last-touch UTMs are the parameters at the moment of final conversion. First-touch answers which channel originally generated the lead. Last-touch answers which campaign closed it. Mature CRM setups store both so attribution models can compare how channels perform at the top versus the bottom of the funnel.

Do UTM parameters affect SEO?

UTMs do not directly hurt SEO because Google can canonicalize URLs with tracking parameters, but there are two side effects worth managing. First, uncanonicalized tagged URLs can appear as duplicate content in Search Console. Second, UTMs on internal links break session attribution and should never be used that way. Set rel="canonical" to the clean URL on every page, and reserve UTMs for inbound external links only.

Try it free. Bring your team next week.

No sales call, no migration consultant, no four-month implementation. Enter your card, get 14 days of the full Pro tier, cancel any time before day 14 with zero charge. Spin up a workspace, import your CSV, and have something useful before lunch.