Skip to content
Get a free quoteGet a quote
Published
Byline
GoHighLevel Partners Editorial

A working definition of the five UTM parameters, how a tagged click ends up on a contact record, and the places the tag quietly disappears.

What Is a UTM Parameter, and What It Actually Records

A UTM parameter is a name-and-value pair bolted onto the end of a link so that the page receiving the click can read where the click came from. It lives in the query string — everything after the question mark — and it changes nothing about the page. The server ignores it, the layout stays the same, and a visitor who never looks at the address bar never knows it is there. The letters stand for Urchin Tracking Module, after the analytics product the convention grew out of, and the shape has not changed since.

That description already contains the limits. A UTM parameter does not track a person and does not measure anything. It labels a link. Whatever it is worth as evidence depends on two things: whether the label was applied consistently across every channel, and whether something on the landing side read the value and wrote it down before the visitor clicked through to the next page.

The five parameters and the question each one answers

Five names are conventional. Nothing in a browser enforces them — a query string will happily carry any key you invent — but reporting tools and CRM attribution fields are built to look for these five. Invent your own and you have also volunteered to write the thing that reads them.

Parameter The question it answers A sensible value How it is usually treated
utm_source Which platform or list sent the click? newsletter, partner-site, facebook Required
utm_medium What kind of traffic is this? email, cpc, social, referral Required
utm_campaign Which push does the click belong to? spring-audit-offer Required in practice
utm_content Which version of the creative or placement? headline-a, footer-button Optional
utm_term Which paid keyword bought the click? agency crm setup Optional, paid search only

Source and medium do the structural work, and they are the pair people confuse. Source is the place: a named list, a named site, a named ad platform. Medium is the mechanism: email, paid click, organic social, referral. Keep that split and a report groups itself. Blur it — by putting the client name in the medium slot, for instance — and every roll-up across accounts turns into manual sorting.

How the value gets from a link into a contact record

The chain is short, and each link in it can fail quietly:

  1. Someone clicks a tagged link.
  2. The browser requests the page and carries the query string with it.
  3. The landing page reads the query string.
  4. Something on that page copies the values into a field — a hidden form field, or the platform attribution capture.
  5. The submission creates or updates a contact, and the values land on the record.
  6. A workflow, a report or a pipeline view reads the stored field.

Inside a GoHighLevel sub-account, steps three to five are largely handled for you when the page and the form are both hosted in that sub-account: attribution is captured on the contact as a first-touch and a last-touch set, alongside the click identifiers that ad platforms append. Once the value sits on the record it behaves like any other field — a workflow can branch on it, or feed it into a math operation that builds a lead score, or stamp it onto an opportunity so the pipeline report inherits it.

A redirect carries what it is told to carry, and nothing else

Link shorteners, vanity domains and bulk redirect rules rebuild the destination URL. Unless the rule is written to append the original query string, everything after the question mark is discarded on the way through and the landing page sees an untagged visit. This is the failure behind the complaint that all the traffic shows up as direct: nothing is broken, the label was simply thrown away in transit. Test every shortened link by clicking it and reading the address bar on arrival.

The tag dies at the first page unless something stores it

A query string belongs to one request. Navigate from the landing page to a second page without the parameters and they are gone. If your form sits two or three clicks past the entry page, the value has to be carried forward deliberately — session storage, a cookie, or a hidden field populated on arrival — or the form records nothing.

Naming rules that keep a report readable

  • Lowercase everything. Reporting tools treat Email and email as two separate mediums, and the split stays invisible until a monthly roll-up disagrees with itself.
  • One delimiter, used everywhere. Hyphens are the safer choice; spaces are re-encoded and underscores read badly in exports.
  • Write the campaign so it still means something in six months. A date fragment plus the offer beats a slug that made sense during launch week and nowhere else.
  • Never put personal data in a UTM. An email address in a query string ends up in server logs, referrer headers and third-party analytics, none of which you control.
  • Write the convention down before the second campaign. Tagging is a shared vocabulary, and vocabularies drift the moment a second person starts using them.

Where agency setups usually go wrong

  • Tagging internal links. A tagged link from one of your own pages to another restarts the visit as a fresh campaign and overwrites the real acquisition source. Tag inbound links; leave navigation alone.
  • Re-tagging one link per channel and calling it a test. Two variants that differ in utm_content but sit in different emails, sent at different hours, do not compare anything.
  • Letting each sub-account invent its own vocabulary. Portfolio reporting collapses as soon as the same channel is called social in one account and organic-social in another.
  • Reading last touch as if it were the cause. A branded search that closes the loop is usually the receipt for work another channel did weeks earlier.
  • Tagging email links without checking what the sending setup does to them. Click tracking rewrites URLs, so confirm the parameters survive that rewrite — the same care you would take when setting up a dedicated workflow sender domain.

What a UTM parameter cannot tell you

It cannot tell you why someone clicked, whether the lead was any good, or what happened in the conversations, referrals and word of mouth that preceded the click. It cannot see a visit that started on a phone and finished on a desktop. It cannot follow a person who typed the address by hand, opened your site from a saved bookmark, or arrived through an app that strips query strings. Each of those becomes untagged traffic, so a channel report is a floor on what a channel contributed rather than a full account of it.

The useful posture is to treat tagging as bookkeeping rather than measurement. It tells you which link a click came through, accurately and cheaply. Everything about value has to come from what the contact record does afterwards — whether it booked, whether it bought, whether it stayed — which is why the tag is worth far more once it is stored on the record than while it is sitting in a browser bar.

A routine you can run per sub-account

  1. List every place an inbound link is published for that client: ads, email footers, partner pages, printed material, social bios.
  2. Decide the source and medium vocabulary once, and write it somewhere both you and the client can see.
  3. Build the links from that vocabulary rather than by hand each time. Hand-typed tags drift within a fortnight.
  4. Click each finished link and read the address bar on arrival. Redirects are where tags disappear.
  5. Submit one test form per entry path and confirm the attribution actually landed on the contact record.
  6. Re-check after any change to the sending setup — a new domain, a new shortener, a rebuilt email sequence — because those are the changes that silently rewrite links.

None of this is difficult. It is unglamorous, and it decays if nobody owns it. An hour spent agreeing the vocabulary and walking the paths is the difference between a source report a client can act on and a column labelled direct that swallows half the year.

See also: Google Analytics Funnel Exploration: Steps and Drop-off

Frequently Asked Questions

What is a UTM parameter in plain terms?

It is a label added to the end of a link, after the question mark, that tells the receiving page where the click came from. It does not change the page and it does not identify a person. It is a tag on the link rather than a tracker on the visitor.

Which UTM parameters do I actually need?

Source and medium carry the structure, and campaign groups the push they belong to. Content and term are optional: content separates two versions of the same creative, and term records a paid search keyword. Three tags used consistently are worth more than five used loosely.

Why does my tagged traffic still show up as direct?

Usually a redirect. Shorteners, vanity domains and bulk redirect rules rebuild the destination URL, and unless the rule is written to append the original query string the parameters are dropped in transit. Click the finished link and read the address bar on the page you land on.

Should I tag links between my own pages?

No. A tagged internal link restarts the visit as a fresh campaign and overwrites the source that actually brought the person in. Tag links arriving from outside your site, and leave internal navigation untagged.

Do UTM parameters hurt SEO?

They create a second address for the same page, which is why a canonical tag matters on pages you tag heavily. Search engines handle query strings routinely, so the practical risk is duplicate reporting rather than ranking damage. Keep them off your own site navigation, which is where the confusion tends to start.

Where do the values end up in a GoHighLevel sub-account?

When the landing page and the form are both hosted in the sub-account, attribution is captured onto the contact as a first-touch and a last-touch set, alongside the click identifiers ad platforms append. From there a workflow can branch on the value or copy it onto an opportunity.

Can I put a contact email address in a UTM value?

Do not. Query strings are written into server logs, passed in referrer headers and read by any analytics script on the page, so personal data placed there travels to systems you do not control. Pass an opaque identifier instead if you need to link a click back to a record.

We build your GoHighLevel account for you

CRM, pipelines, funnels, SMS and automation — configured for your business, not left for you to figure out.

  • Setup (one-time)$850
  • Ongoing (per month)$38.80
Get my free setup quote

No obligation quote · reply within 1 business day

This site is independently operated and is not officially affiliated with, endorsed by, or sponsored by HighLevel LLC. We do not receive referral commissions — this is our own flat-fee implementation service.

$850 setup, $38.80/mo ongoingGet a quote