Quick answer: source vs medium
Use utm_source for the platform, sender, or referrer. Use utm_medium for the channel category. Keep medium on a short controlled list so paid social, email, and CPC stay comparable across campaigns.
| Field | Question it answers | Good examples | Poor examples |
|---|---|---|---|
utm_source | Where did this visit come from? | linkedin, customer-newsletter, partner-acme | paid, social, email alone |
utm_medium | What kind of channel was it? | email, paid-social, cpc, referral | One-off labels like li-ads-q3 or blast2 |
Put the platform in source
If the click came from LinkedIn, the newsletter platform, a partner site, or a QR landing host, that identity belongs in utm_source. Source should stay specific enough that two different senders do not collapse into one bucket.
Keep medium as a controlled vocabulary
Pick a small set of medium values and reuse them: email, paid-social, organic-social, cpc, referral, affiliate, and qr-offline cover most marketing-ops needs.
Do not encode the whole story in one field
Values like utm_source=linkedin-paid-social-q3 push campaign and channel details into the wrong place. Split platform, channel, and initiative across source, medium, and campaign.
Side-by-side examples
| Scenario | utm_source | utm_medium | utm_campaign |
|---|---|---|---|
| Customer newsletter hero link | customer-newsletter | email | q3-product-launch |
| LinkedIn sponsored post | linkedin | paid-social | q3-product-launch |
| Google Ads search campaign | google | cpc | q3-product-launch |
| Partner blog referral | partner-acme | referral | q3-product-launch |
Notice the campaign token stays stable while source and medium change with the placement. That is what makes cross-channel reporting useful.
Common source vs medium mistakes
- Using
utm_source=emailinstead of naming the list, ESP, or sender. - Inventing a new medium for every launch instead of reusing a controlled list.
- Mixing separators and casing:
paid_social,Paid Social, andpaid-socialbecome separate mediums. - Putting the campaign name into medium, which breaks channel rollups in GA4.
Read the full source, medium, and campaign guide for field-by-field naming rules.
Build and validate the pair
Create one tagged URL, scale the same naming across placements, then check the final link before publishing.
Build a GA4 campaign URL · Generate naming tokens · Check source and medium
Last reviewed September 6, 2026.
Continue the campaign workflow
Define consistent names, build one GA4 campaign URL, scale it in bulk, then check the final link before publishing.
Build a GA4 campaign URL · Define campaign names · Scale in bulk · Check the result
FAQ
What is the difference between utm_source and utm_medium?
utm_source names the platform, sender, publication, or referrer. utm_medium names the broad channel type, such as email, paid-social, cpc, referral, or affiliate.
Can source and medium use the same value?
Avoid it. Values like utm_source=email and utm_medium=email hide the actual sender and make channel reporting less useful. Name the sender in source and keep medium as the controlled channel label.
Should paid LinkedIn traffic use source=linkedin or medium=linkedin?
Use utm_source=linkedin and utm_medium=paid-social (or your team's controlled paid-social token). Put the platform in source and the channel type in medium.
Where should I check source and medium before publishing?
Build the URL with the Google Analytics URL Builder, then open the UTM Checker to confirm source, medium, and campaign values before links go live.