UTM Decision Cheat Sheet
15 copy-paste scenarios for the most common campaign types.
On this page
- Scenario 1: Google Ads Search Campaign
- Scenario 2: Meta (Facebook/Instagram) Paid Ad
- Scenario 3: LinkedIn Paid Ad
- Scenario 4: Email Newsletter (Recurring)
- Scenario 5: Promotional Email (One-Off Campaign)
- Scenario 6: Organic Social Post (Facebook, LinkedIn, X, etc.)
- Scenario 7: QR Code on Physical Material
- Scenario 8: YouTube Video Description / Cards
- Scenario 9: Podcast Show Notes
- Scenario 10: Affiliate / Partner Link
- Scenario 11: Retargeting Ad
- Scenario 12: Display / Banner Ad
How to use this: Find your scenario below. Copy the values. Adjust utm_campaign to match your specific campaign name. Done.
All values follow the conventions from this guide: lowercase, underscores within values, hyphens between segments, utm_campaign in [initiative]-[product]-[yyyy_mm] format.
Scenario 1: Google Ads Search Campaign
| Parameter | Value | Notes |
|---|---|---|
utm_source | google | |
utm_medium | cpc | Matches GA4’s paid rule; with a search source it lands in “Paid Search” |
utm_campaign | spring_sale-shoes-2025_03 | GA4 ignores this: auto-tagging uses your Google Ads campaign name instead. Still set it for non-GA4 platforms |
utm_term | {keyword} | ValueTrack parameter: auto-populates with the matched keyword |
utm_content | {creative} | ValueTrack parameter: auto-populates with the ad creative ID |
Set via: Google Ads tracking template at account, campaign, or ad group level.
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale-shoes-2025_03&utm_term={keyword}&utm_content={creative}
Remember: GA4 uses your Google Ads campaign name, not
utm_campaign. Govern your campaign naming in Google Ads (see Chapter 7b).
Scenario 2: Meta (Facebook/Instagram) Paid Ad
| Parameter | Value | Notes |
|---|---|---|
utm_source | facebook or instagram | Use the platform where the ad is served |
utm_medium | paid_social | Matches GA4’s paid rule; with a social source it lands in “Paid Social” |
utm_campaign | {{campaign.name}} | Dynamic: pulls from your Meta campaign name |
utm_term | {{adset.name}} | Dynamic: captures ad set (audience/targeting) |
utm_content | {{ad.name}} | Dynamic: captures individual ad creative |
Set via: URL Parameters field at the ad level in Meta Ads Manager.
utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}
Use governed campaign/ad set/ad names in Meta (see Chapter 7b): dynamic insertion means your Meta naming is your UTM data.
Scenario 3: LinkedIn Paid Ad
| Parameter | Value | Notes |
|---|---|---|
utm_source | linkedin | |
utm_medium | paid_social | Same medium as other paid social platforms |
utm_campaign | webinar-product_demo-2025_04 | Your campaign name, hardcoded; or insert it dynamically with LinkedIn’s {{CAMPAIGN_NAME}} macro (see the Recipes appendix) |
utm_term | Audience or targeting description | e.g., enterprise-cmo-us |
utm_content | Ad variant identifier | e.g., single_image-version_a |
Set via: Tracking parameters field in Campaign Manager, at the account or campaign level. Static parameters can also go on individual ads; dynamic macros like {{CAMPAIGN_NAME}} can’t.
utm_source=linkedin&utm_medium=paid_social&utm_campaign=webinar-product_demo-2025_04&utm_term=enterprise-cmo-us&utm_content=single_image-version_a
Scenario 4: Email Newsletter (Recurring)
| Parameter | Value | Notes |
|---|---|---|
utm_source | newsletter | |
utm_medium | email | On GA4’s Email channel list |
utm_campaign | newsletter_weekly-2025_03 | Include date so you can compare issues |
utm_content | hero-cta, article-1-readmore, footer-link | Different per link: this is how you learn which placements drive clicks |
Example (hero CTA):
https://yoursite.com/feature?utm_source=newsletter&utm_medium=email&utm_campaign=newsletter_weekly-2025_03&utm_content=hero-cta
Example (third article link):
https://yoursite.com/blog/post?utm_source=newsletter&utm_medium=email&utm_campaign=newsletter_weekly-2025_03&utm_content=article-3-title
See Chapter 4’s ESP section for how to handle auto-tagging conflicts with Mailchimp, HubSpot, Klaviyo, etc.
Scenario 5: Promotional Email (One-Off Campaign)
| Parameter | Value | Notes |
|---|---|---|
utm_source | promotional_email | Distinct from newsletter so you can compare recurring vs. one-off email performance |
utm_medium | email | |
utm_campaign | spring_sale-shoes-2025_03 | Same campaign name used across all channels for this initiative |
utm_content | cta-primary, banner-hero, text-link-mid | Per-link differentiation |
https://yoursite.com/sale?utm_source=promotional_email&utm_medium=email&utm_campaign=spring_sale-shoes-2025_03&utm_content=cta-primary
Scenario 6: Organic Social Post (Facebook, LinkedIn, X, etc.)
| Parameter | Value | Notes |
|---|---|---|
utm_source | facebook, linkedin, twitter, tiktok | Platform name |
utm_medium | social | Not paid_social: organic uses social for correct GA4 channel grouping |
utm_campaign | spring_sale-shoes-2025_03 | Same campaign name as other channels |
utm_content | post-image, bio-link, story-swipeup | Placement within the platform |
https://yoursite.com/sale?utm_source=linkedin&utm_medium=social&utm_campaign=spring_sale-shoes-2025_03&utm_content=post-image
Shorten with Bitly or a branded shortener before posting: long UTM URLs look bad in social posts.
Scenario 7: QR Code on Physical Material
| Parameter | Value | Notes |
|---|---|---|
utm_source | qr_code-[location] | Be specific: qr_code-conference_booth, qr_code-product_packaging, qr_code-store_window |
utm_medium | offline | |
utm_campaign | spring_sale-shoes-2025_03 | |
utm_content | poster-version_a, flyer-discount | Use for A/B testing printed variants |
Process: Build the full UTM URL → shorten it → generate QR code from the short URL.
Full: https://yoursite.com/sale?utm_source=qr_code-conference_booth&utm_medium=offline&utm_campaign=spring_sale-shoes-2025_03&utm_content=poster-version_a
Short: https://yourbrand.co/conf25 (redirects to full URL above)
QR: [encode the short URL]
Always shorten before generating the QR code. Dense QR codes from long URLs are harder to scan.
Scenario 8: YouTube Video Description / Cards
| Parameter | Value | Notes |
|---|---|---|
utm_source | youtube | |
utm_medium | video | |
utm_campaign | product_demo-enterprise-2025_04 | |
utm_content | description-link-1, end-screen-cta, card-mid-video | Differentiate placements within the video |
https://yoursite.com/demo?utm_source=youtube&utm_medium=video&utm_campaign=product_demo-enterprise-2025_04&utm_content=description-link-1
Scenario 9: Podcast Show Notes
| Parameter | Value | Notes |
|---|---|---|
utm_source | podcast-[show_name] | e.g., podcast-marketing_over_coffee |
utm_medium | podcast | |
utm_campaign | brand_awareness-2025_q2 | |
utm_content | show-notes-link, episode-42-cta |
For spoken CTAs: Use a vanity URL (yoursite.com/podcast) that redirects to the full UTM-tagged destination. Listeners can’t click a UTM string they hear.
Vanity URL: yoursite.com/podcast
Redirects to: https://yoursite.com/landing?utm_source=podcast-marketing_over_coffee&utm_medium=podcast&utm_campaign=brand_awareness-2025_q2&utm_content=spoken-cta
Scenario 10: Affiliate / Partner Link
| Parameter | Value | Notes |
|---|---|---|
utm_source | affiliate-[partner_name] | e.g., affiliate-acme_corp |
utm_medium | affiliate | |
utm_campaign | spring_sale-shoes-2025_03 | |
utm_content | sidebar-banner, text-link-review | Placement on the partner’s site |
https://yoursite.com/sale?utm_source=affiliate-acme_corp&utm_medium=affiliate&utm_campaign=spring_sale-shoes-2025_03&utm_content=sidebar-banner
Always generate affiliate links yourself and distribute them to partners. Never let affiliates create their own UTM values: you’ll get inconsistent data.
Scenario 11: Retargeting Ad
| Parameter | Value | Notes |
|---|---|---|
utm_source | facebook, google, etc. | Platform running the retargeting |
utm_medium | retargeting | Separates retargeting from prospecting in reports |
utm_campaign | cart_abandoners-shoes-2025_03 | Include the audience segment |
utm_content | dynamic-product-ad, static-banner-10pct-off | Creative variant |
utm_source=facebook&utm_medium=retargeting&utm_campaign=cart_abandoners-shoes-2025_03&utm_content=dynamic-product-ad
Scenario 12: Display / Banner Ad
| Parameter | Value | Notes |
|---|---|---|
utm_source | [network_name] | e.g., gdn (Google Display Network), taboola, outbrain |
utm_medium | display | On GA4’s Display channel list |
utm_campaign | brand_awareness-enterprise-2025_q2 | |
utm_content | 300x250-sidebar-version_a | Include ad size, placement, and variant |
https://yoursite.com/landing?utm_source=gdn&utm_medium=display&utm_campaign=brand_awareness-enterprise-2025_q2&utm_content=300x250-sidebar-version_a
Scenario 13: Direct Mail Piece
| Parameter | Value | Notes |
|---|---|---|
utm_source | direct_mail | |
utm_medium | offline | |
utm_campaign | spring_sale-shoes-2025_03 | Same campaign as other channels |
utm_content | postcard-version_a, catalog-page-3 | Variant or placement |
Use a short URL or QR code on the mail piece that redirects to the full UTM-tagged destination.
Scenario 14: Webinar / Virtual Event Registration Page
| Parameter | Value | Notes |
|---|---|---|
utm_source | Varies by where you promote it | linkedin, newsletter, promotional_email, partner-acme |
utm_medium | Varies by channel | paid_social, email, social, referral |
utm_campaign | webinar-product_demo-2025_04 | Same across all promotion channels |
utm_content | linkedin-post-1, email-cta, partner-banner | Specific promotion variant |
The campaign name stays the same everywhere. What changes is the source and medium based on where you’re promoting it. This is how you answer “which channel drove the most webinar registrations?”
Scenario 15: Bing / Microsoft Ads
| Parameter | Value | Notes |
|---|---|---|
utm_source | bing | |
utm_medium | cpc | Same as Google: both are paid search |
utm_campaign | spring_sale-shoes-2025_03 | |
utm_term | {keyword} | Dynamic: auto-populates with the matched keyword. Microsoft uses single braces, not Meta-style double braces |
utm_content | {AdGroup} | Dynamic: captures the ad group name |
Set via: Microsoft Ads tracking template.
{lpurl}?utm_source=bing&utm_medium=cpc&utm_campaign=spring_sale-shoes-2025_03&utm_term={keyword}&utm_content={AdGroup}
Quick Decision Rules
Choosing utm_source:
Source = the specific platform or property sending the traffic. Use the platform name (google, facebook, linkedin), not the channel type. For non-platform sources, be descriptive (newsletter, partner-acme, qr_code-conference_booth).
Choosing utm_medium:
Medium = the marketing channel type. Use values recognized by your analytics platform’s channel grouping rules (GA4 examples shown below: most platforms use similar conventions):
| Medium value | GA4 Channel Group (or equivalent) | Use for |
|---|---|---|
cpc | Paid Search | Google Ads, Bing Ads search campaigns |
paid_social | Paid Social | Facebook Ads, LinkedIn Ads, TikTok Ads |
social | Organic Social | Organic posts on any social platform |
email | Newsletters, promotional emails, drip campaigns | |
display | Display | Banner ads, GDN, programmatic display |
affiliate | Affiliates | Affiliate and partner links |
video | Organic Video (video never matches GA4’s paid rule) | Organic video links: YouTube descriptions, video embeds. Paid video ads need a paid-rule medium (paid_video) |
retargeting | Paid Search / Paid Social / Paid Other (matches GA4’s paid rule; the source decides the channel) | Retargeting campaigns on any platform |
offline | Unassigned: map it with a custom channel group | QR codes, print, direct mail, events |
Choosing utm_campaign:
Campaign = the specific initiative. Keep it consistent across all channels promoting the same thing. Format: [initiative]-[product]-[yyyy_mm].
Choosing utm_content:
Content = the specific link variant. Use it when multiple links point to the same destination within a single source/medium/campaign combination. Format: [placement]-[variant].
Choosing utm_term:
Term = keyword or targeting info. Primarily used for paid search keywords (often via dynamic parameters). In paid social, sometimes used for ad set or audience segment.