UTM Parameters — Complete Reference
The five parameters, the source/medium conventions, and how GA4 turns them into channels.
No signup, no trackingUTM parameters are five short tags appended to a URL that tell your analytics tool where a click came from. The tags themselves are trivial — the hard part is the conventions: which value goes in source versus medium, why "Email" and "email" become two different rows, and why a perfectly tagged campaign still lands in "Unassigned" in GA4. This page is the lookup table for all of it.
Everything here follows Google’s documented behavior as of August 2026 and works identically in most other analytics tools (Matomo, Plausible, Mixpanel) that read the same parameters. To build a tagged link interactively, the UTM link builder on this site does it in your browser — free, nothing logged.
The five classic parameters
| Parameter | What it answers | Example | GA4 dimension it fills |
|---|---|---|---|
| utm_source | Who sent the click — a site, app or list | google, newsletter, linkedin | Session source |
| utm_medium | What kind of channel carried it | cpc, email, social, qr | Session medium |
| utm_campaign | Which promotion or push | black_friday_2026, launch_v2 | Session campaign |
| utm_term | Which paid keyword (search ads) | crm+software | Session manual term |
| utm_content | Which specific link or creative | header_cta, variant_b | Session manual ad content |
Source and medium are required by convention — without both, analytics tools cannot classify the traffic. Campaign is strongly recommended. Term and content exist for A/B detail and paid search; skip them when they add nothing.
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=march_digestutm_source vs utm_medium — the conventions matrix
The eternal confusion: source is the specific place (a site, an app, a list); medium is the category of channel. "facebook" is a source; "social" is its medium. These are the conventions that keep reports consistent:
| Where the link lives | utm_source | utm_medium | Note |
|---|---|---|---|
| Google Ads | cpc | Usually unnecessary — Google Ads auto-tagging (gclid) covers it; manual tags override it. | |
| Facebook / Instagram ad | facebook / instagram | paid_social | Some teams use cpc; paid_social maps cleanly to GA4’s Paid Social channel. |
| Organic Facebook post | social | Same for instagram, linkedin, tiktok — source names the network. | |
| Newsletter | newsletter (or the list name) | medium=email is what GA4’s Email channel matches on. | |
| Partner or guest blog | partner-site.com | referral | Names the actual site so it separates from organic referrals. |
| Display / banner ad | network or site name | display | GA4’s Display channel matches display, banner, cpm. |
| QR code on print | flyer_march (what the print piece is) | qr | Print is invisible to analytics; the QR link is its only voice. |
| WhatsApp / SMS blast | whatsapp / sms | messaging | Keeps chat blasts out of your social numbers. |
| Podcast show notes | show name | podcast | Or referral if you prefer fewer mediums. |
How GA4 turns UTMs into channels
GA4 reports traffic in default channel groups, and each group is defined by rules over source and medium. Simplified, the ones that matter for manual tagging:
| GA4 channel | Matches when (simplified) |
|---|---|
| source or medium is email (also e-mail, e_mail). | |
| Paid Search | medium matches cpc, ppc or paid* and the source is a search engine. |
| Paid Social | medium matches cpc/ppc/paid* and the source is a known social site. |
| Organic Social | source is a known social site, or medium is social / social-network / social-media. |
| Display | medium is display, banner, expandable, interstitial or cpm. |
| Affiliates | medium is affiliate. |
| Referral | medium is referral. |
| Direct | source is (direct) and medium is (none) — i.e. no information at all. |
The debugging rule worth memorizing: traffic lands in "Unassigned" when the source/medium pair matches none of the rules. A medium of "newsletter", "e-blast" or "social-ads" is not wrong per se — it just matches nothing, and GA4 will not guess. Stick to the mediums in the table above and Unassigned stays empty.
The GA4-era parameters
| Parameter | What it does | Worth using? |
|---|---|---|
| utm_id | A campaign ID that ties clicks to imported cost data (e.g. a spreadsheet of ad spend). | Yes, if you import cost data into GA4; otherwise optional. |
| utm_source_platform | The platform that managed the buy (e.g. Google Ads, DV360). | Mostly set automatically by ad platforms; rarely needed by hand. |
| utm_creative_format | The ad format (video, banner, carousel). | GA4 collects it, but reporting support is limited — check before you depend on it. |
| utm_marketing_tactic | The targeting tactic (remarketing, prospecting). | Same caveat: collected, thinly reported. |
Naming rules that save your reports
- Lowercase everything, always. UTM values are case-sensitive: "Email", "EMAIL" and "email" become three separate rows that you will be manually adding together forever.
- Pick one separator — underscore or dash — and never mix. spring_sale and spring-sale are two different campaigns to every analytics tool.
- Never put UTM parameters on internal links. A visitor clicking from your homepage to your pricing page with UTMs starts a new attributed session in GA4, erasing where they really came from.
- No spaces in values. A space becomes %20 in one tool and + in another, splitting your data. Use the separator instead.
- Keep parameters before any #fragment: page.html?utm_source=x#section works; page.html#section?utm_source=x silently loses the tags.
- If the URL already has a query string, append with & instead of a second ? — two question marks break the URL.
- Keep a shared registry (a spreadsheet is fine) of every source, medium and campaign value the team has used. Consistency is the entire value of UTMs.
Copy-paste templates
Newsletter:
https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=april_digest
Organic social post:
https://example.com/?utm_source=linkedin&utm_medium=social&utm_campaign=feature_launch
Paid social ad:
https://example.com/?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_promo&utm_content=video_a
QR code on a flyer:
https://example.com/?utm_source=flyer_expo2026&utm_medium=qr&utm_campaign=booth_visitsThe UTM link builder on this site assembles and URL-encodes these interactively, and the QR code generator turns the result into a print-ready code — both run entirely in your browser, with no account and nothing logged.