# UTM Parameter

> A tag added to a URL's query string — utm_source, utm_medium, utm_campaign, utm_id, and others — that labels where a click came from, which AnyTrack reads as first-party data to attribute conversions across channels.

A UTM parameter is a tag appended to a URL's query string — `utm_source`, `utm_medium`, `utm_campaign`, `utm_id`, `utm_term`, `utm_content` — that labels where a click came from. UTM parameters are an industry-standard convention; AnyTrack reads them off the landing-page URL, stores them as first-party data on the session, and uses them to attribute the eventual [conversion](/glossary/conversion) to the right campaign across every channel.

## The standard UTM parameters and what each one means

| Parameter | Required | What it labels | Example |
| --- | --- | --- | --- |
| `utm_source` | Yes | The traffic source — the specific site, platform, or referrer the click came from | `google`, `facebook`, `newsletter` |
| `utm_medium` | Yes | The marketing channel type. Keep to standard values; unique values break channel grouping | `cpc`, `email`, `organic`, `social` |
| `utm_campaign` | Yes | The specific campaign name | `summer_sale_2026` |
| `utm_id` | Recommended | The unique campaign ID that GA4 and AnyTrack use to match a session to campaign-level data | `123456789` |
| `utm_content` | No | Differentiates ad variations, ad sets, or links pointing to the same URL | `banner_ad`, `sidebar_cta` |
| `utm_term` | No | Labels the keyword or ad name | `running_shoes`, `ad_v1` |

UTM values are case-sensitive — `utm_source=Facebook` and `utm_source=facebook` count as two different sources, so use lowercase consistently. The three required parameters are the minimum any analytics platform needs; add `utm_id` for ad campaigns so AnyTrack can align spend and revenue at the campaign level.

## How UTM parameters fit into a tracking template

You rarely type UTM parameters by hand. On each ad platform you set a [tracking template](/glossary/tracking-template) once — a single URL string that lists every UTM parameter paired with the platform's dynamic token (its placeholder). A tracking template is defined per ad platform, **not** per campaign: one template serves all of that platform's campaigns, and the platform substitutes each token with real values at runtime, the moment the ad is clicked.

For example, AnyTrack's recommended Google Ads tracking template — pasted once at the account level — is:

```
{lpurl}?utm_source=google&utm_medium={ifsearch:cpc}{ifcontent:display}&utm_id={campaignid}&utm_content={adgroupid}&utm_term={keyword}
```

`utm_source` is a fixed value (`google`), while `{campaignid}`, `{adgroupid}`, and `{keyword}` are Google ValueTrack tokens that Google fills in on every click. So the UTM parameters are the labels, the tokens are what let one template cover every campaign, and the [tracking template](/glossary/tracking-template) is the field that assembles and writes them onto the landing-page URL.

## What UTM parameters power in AnyTrack

UTM parameters carry the one signal that ad platforms and on-site events don't: *how* a visitor reached your site. AnyTrack uses that signal for three things:

- **Attribution reports.** AnyTrack builds its [attribution](/glossary/attribution) and [Campaign Report](/docs/campaign-report) from UTM values. This is the job that genuinely depends on UTMs — no UTMs, no source/campaign breakdown.
- **Channel categorization.** UTMs tell AnyTrack which channel a visit belongs to — paid, referral, affiliate, AI, email, social, organic. Without them, traffic can't be grouped into channels in your reports.
- **Audience building.** Because the UTMs are on the URL at the moment a session starts, AnyTrack can build audiences from them. Example: visitors who arrived with `utm_source=google&utm_campaign=discovery` but didn't buy can be pushed to Meta as a retargeting audience.

## What UTM parameters are not required for

- **Sending conversions to ad platforms.** No ad platform requires UTM parameters to accept a conversion. A Conversion API ([CAPI](/glossary/conversion-api)) ties a conversion to a user through the platform's own [Click ID](/glossary/click-id), not UTMs — e.g. a visitor lands with `fbclid=…` and, on conversion, AnyTrack sends Meta's CAPI the conversion data plus the matching `fbc` value derived from it.
- **Tracking sessions and conversions.** AnyTrack tracks every session and every [conversion](/glossary/conversion) whether or not UTMs are present. UTMs are what make those conversions *reportable by source and campaign* — without them the data is still collected, just not attributable in a report.

## How AnyTrack collects and resolves UTM parameters

UTM parameters matter most at one moment: when a visitor first lands from a campaign. The [Tracking Tag](/glossary/tracking-tag) collects the UTM values on that landing and stores them on the session — after which they drop out of the address bar as the visitor navigates deeper into the site. The values are already saved, so attribution never depends on the UTMs staying in the URL.

- **Returns via another campaign** — the new UTM parameters are collected and stored against that session, becoming the latest source.
- **Returns directly or via email** — the visitor may arrive with different URL parameters, or none at all; there are simply no new UTMs to collect on that visit.

AnyTrack does not rely on a single visit. It resolves attribution server-side and with browser signals and other identifiers, which lets it stitch a journey across devices and domains and perform identity resolution — so a UTM collected on the first touch can still be credited to a conversion that happens later, even on another device. Configure [Ignored Sources](/docs/ignored-sources) so intermediaries (PayPal, Mailchimp) don't overwrite your stored UTM values mid-journey and steal the credit.
