UTM parameters are tags you add to URLs to track where your traffic comes from. Alpha Insights automatically detects and reports on UTM-tagged traffic, connecting campaigns directly to profit. This comprehensive guide shows you how to use UTMs effectively, avoid common mistakes, and maximize your tracking accuracy.
Prerequisites: Website tracking must be enabled. See Understanding Website Analytics for setup instructions.
UTM (Urchin Tracking Module) parameters are additions to URLs that identify the source, medium, and campaign of your traffic. They were originally developed by Urchin Software (acquired by Google in 2005) and have become the industry standard for campaign tracking.
Example URL without UTM:
https://yourstore.com/products/t-shirt
Example URL with UTM parameters:
https://yourstore.com/products/t-shirt?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale
What happens: The visitor sees the same page and content, but Alpha Insights can now track that they came from your Facebook spring sale campaign! This data is:
What it is: Identifies where the traffic originated (the platform, website, or publication)
Common values:
facebook - Facebook posts or adsgoogle - Google sources (if not using gclid)newsletter - Email newslettersinstagram - Instagram organic or paidtiktok - TikTok content or adslinkedin - LinkedIn poststwitter - Twitter/X postspinterest - Pinterest pinsyoutube - YouTube descriptionsblog_post - Your own blogpartner_website - Partner or affiliate sitesFormat rules:
email_newsletter)❌ Bad examples:
utm_source=Facebook (uppercase - will show separately from "facebook")utm_source=fb (abbreviation - mix with "facebook" creates confusion)utm_source=My Facebook Page (spaces and capitals)✅ Good examples:
utm_source=facebookutm_source=newsletterutm_source=partner_blogWhat it is: Identifies the type of marketing channel or method
Standard values (recommended to use these):
cpc - Cost per click (paid ads)social - Organic social mediaemail - Email marketingreferral - Links from other sitesdisplay - Display advertising (banners)affiliate - Affiliate marketing linksvideo - Video platform linkspodcast - Podcast show notesqr - QR codessms - Text message campaignsinfluencer - Influencer partnershipsWhy standardization matters: Using email consistently allows Alpha Insights to aggregate all email traffic together, regardless of source (Mailchimp, Klaviyo, etc.).
How Alpha Insights uses utm_medium:
utm_medium=email → Forces "Email" traffic classificationutm_medium=cpc from Google/Bing → Likely paid searchWhat it is: Identifies the specific campaign or promotion
Use for:
Naming best practices:
spring_sale_2024black_friday_early_accessproduct_name_launch formatGood examples:
utm_campaign=spring_sale_2024utm_campaign=black_fridayutm_campaign=new_product_launch_tshirtutm_campaign=welcome_series_email1utm_campaign=abandoned_cart_recoveryutm_campaign=customer_winback_q1utm_campaign=influencer_sarah_jan2024Organizational tip: Create a naming convention document. Examples:
{season}_{type}_{year} → spring_sale_2024{product}_launch_{month} → widget_launch_march{type}_email{number} → welcome_email1What it is: Differentiates between versions of the same ad/link
Use for A/B testing:
Examples for split testing:
Version A: utm_content=banner_red_button
Version B: utm_content=banner_blue_button
Email links:
utm_content=header_cta
utm_content=product_image_link
utm_content=footer_link
Ad variations:
utm_content=image_lifestyle
utm_content=image_product_only
utm_content=video_testimonial
Use case: Email link tracking
Hero CTA: utm_content=hero_cta
Product 1: utm_content=product1_image
Product 2: utm_content=product2_image
Footer link: utm_content=footer_shop_now
Then in reports, see which email element drives most conversions!
What it is: Originally for paid search keywords
When to use:
Example:
utm_term=red_t_shirts
utm_term=organic_cotton_clothing
Note: Google Ads automatically populates keyword data via gclid, so manually adding utm_term is usually unnecessary and may conflict with auto-tagging.
URL structure:
Base URL?utm_source=value&utm_medium=value&utm_campaign=value&utm_content=value
Step-by-step example:
1. Start with your page URL:
https://yourstore.com/products/t-shirt
2. Add question mark (starts query parameters):
https://yourstore.com/products/t-shirt?
3. Add utm_source:
https://yourstore.com/products/t-shirt?utm_source=facebook
4. Add ampersand and utm_medium:
https://yourstore.com/products/t-shirt?utm_source=facebook&utm_medium=social
5. Add utm_campaign:
https://yourstore.com/products/t-shirt?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale
6. Final URL (optional utm_content):
https://yourstore.com/products/t-shirt?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale&utm_content=carousel_ad
Technical notes:
?&%20)Free tool: ga-dev-tools.google/campaign-url-builder
How to use:
https://yourstore.com/products)facebook)social)spring_sale_2024)Pro tip: Save your generated URLs in a spreadsheet to:
Create a Google Sheet or Excel template with columns:
| Base URL | Source | Medium | Campaign | Content | Final URL |
|---|---|---|---|---|---|
| yourstore.com/products | social | spring_sale | image1 | [formula generates] |
Excel formula for Final URL column:
=A2&"?utm_source="&B2&"&utm_medium="&C2&"&utm_campaign="&D2&"&utm_content="&E2
Why: Facebook and facebook are treated as different sources in reports
❌ Wrong:
utm_source=Facebook
utm_source=FACEBOOK
utm_source=facebook (inconsistent mixing)
✅ Right:
utm_source=facebook (always)
Why: Spaces break URLs or get encoded to %20, making them ugly and hard to read
❌ Wrong:
utm_campaign=spring sale 2024
(becomes: utm_campaign=spring%20sale%202024)
✅ Right:
utm_campaign=spring_sale_2024
Choose one naming system and stick to it:
❌ Inconsistent:
newsletter, sometimes email, sometimes mailchimp✅ Consistent:
utm_source=newsletter for all email campaignsutm_source=mailchimp if you want provider-specific tracking❌ Too vague:
utm_campaign=promo
utm_campaign=sale
utm_campaign=test
❌ Too long:
utm_campaign=black_friday_biggest_sale_of_the_year_2024_limited_time_offer
✅ Just right:
utm_campaign=black_friday_2024
utm_campaign=spring_sale_early_access
utm_campaign=product_launch_widget
Makes year-over-year comparisons easier:
utm_campaign=black_friday_2023
utm_campaign=black_friday_2024
utm_campaign=email_newsletter_jan2024
utm_campaign=email_newsletter_feb2024
Organize parameters from general to specific:
utm_source=facebook (platform)
utm_medium=social (type)
utm_campaign=spring_sale (promotion)
utm_content=carousel_ad (specific creative)
utm_source={platform} → facebook, instagram, twitter, linkedin
utm_medium=social
utm_campaign={campaign_name}
utm_content={post_type} → photo, carousel, video, story
Example:
https://yourstore.com/products?utm_source=instagram&utm_medium=social&utm_campaign=spring_sale_2024&utm_content=reel
utm_source={provider_or_newsletter} → newsletter, klaviyo, mailchimp
utm_medium=email
utm_campaign={campaign_name}
utm_content={link_location} → hero_cta, product1, footer_link
Examples:
Welcome series email 1:
utm_source=newsletter&utm_medium=email&utm_campaign=welcome_series_email1&utm_content=hero_cta
Abandoned cart:
utm_source=klaviyo&utm_medium=email&utm_campaign=abandoned_cart&utm_content=product_image
Promotional blast:
utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2024&utm_content=shop_now_button
utm_source={platform} → facebook, instagram, tiktok
utm_medium=cpc
utm_campaign={campaign_name}
utm_content={ad_variation} → image_a, video_b, carousel_c
Example:
utm_source=facebook&utm_medium=cpc&utm_campaign=spring_sale&utm_content=carousel_lifestyle
Pro tip for Facebook: Also add meta_cid={{campaign.id}} for campaign-level profit tracking
Note: Google Ads uses auto-tagging with gclid parameter, but you can add UTMs for additional tracking:
utm_source=google
utm_medium=cpc
utm_campaign={campaign_name}
utm_content={ad_variation}
utm_term={keyword} (optional, redundant with auto-tagging)
Better approach: Use google_cid={{campaignid}} for Alpha Insights campaign attribution, let gclid handle the rest.
utm_source={platform} → instagram, youtube, tiktok
utm_medium=influencer
utm_campaign={influencer_name}
utm_content={content_type} → story, post, video, bio_link
Example:
utm_source=instagram&utm_medium=influencer&utm_campaign=sarah_may_collab&utm_content=story_swipeup
Why this works: You can track each influencer's performance and ROI!
utm_source={affiliate_name} → affiliate_jane, coupon_site_x
utm_medium=affiliate
utm_campaign={promotion}
utm_content={placement} → banner, text_link, review
Example:
utm_source=affiliate_blog_jane&utm_medium=affiliate&utm_campaign=june_promotion&utm_content=sidebar_banner
utm_source={location_or_material} → flyer, business_card, billboard
utm_medium=qr
utm_campaign={campaign}
utm_content={specific_location} → store_counter, magazine_ad
Example:
QR code on business cards:
utm_source=business_card&utm_medium=qr&utm_campaign=networking_q1&utm_content=front_card
Billboard:
utm_source=billboard&utm_medium=offline&utm_campaign=summer_2024&utm_content=highway_101
Pro tip: Use URL shorteners (bit.ly) for printed materials, but track the destination URL with UTMs
Use UTMs on every single link in your emails:
Why: Email referrers are often stripped or inconsistent. UTMs ensure accurate tracking.
Why: Social platforms often strip referrer data. fbclid auto-added by Facebook is helpful, but UTMs give you campaign-level detail.
meta_cid={{campaign.id}})Google Ads note: Uses auto-tagging with gclid. Adding UTMs is optional but can provide additional context. If adding UTMs, ensure auto-tagging is still enabled.
Example tracking:
Influencer Sarah - Instagram story:
yourstore.com/products?utm_source=instagram&utm_medium=influencer&utm_campaign=sarah_may&utm_content=story
Influencer Sarah - Feed post:
yourstore.com/products?utm_source=instagram&utm_medium=influencer&utm_campaign=sarah_may&utm_content=feed_post
Tip: Create memorable URLs that redirect:
Print: "Visit yourstore.com/spring"
Redirects to: yourstore.com?utm_source=magazine&utm_medium=print&utm_campaign=spring_sale_2024&utm_content=march_issue
Rule: Only use UTMs for external links that bring people TO your site, not for internal navigation.
The Traffic Channels report shows all your UTM campaign data. To learn about customizing reports and adding filters, see Using Report Filters.
Data columns shown:
How to use this data:
Use during:
Shows full URL including UTMs:
https://yourstore.com/products?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale
1. Which source drives the most revenue?
Analysis example:
Facebook (utm_source=facebook):
- Sessions: 2,000
- Revenue: $8,000
- Orders: 100
- Revenue per session: $4.00
- Conversion Rate: 5.0%
Email (utm_source=newsletter):
- Sessions: 500
- Revenue: $4,500
- Orders: 75
- Revenue per session: $9.00
- Conversion Rate: 15.0%
Insight: Email has 4x fewer sessions but generates 2.25x more revenue per session.
Email conversion rate is 3x higher.
Action: Prioritize email list growth and email marketing budget.
2. Which campaigns converted best?
Campaign A (utm_campaign=spring_sale):
- Sessions: 3,000
- Orders: 105
- Conversion rate: 3.5%
- AOV: $80
- Total Revenue: $8,400
Campaign B (utm_campaign=new_arrivals):
- Sessions: 1,500
- Orders: 32
- Conversion rate: 2.1%
- AOV: $95
- Total Revenue: $3,040
Insight: Spring sale converts 67% better, but new arrivals has 19% higher AOV.
Action: Run more promotional campaigns, but include higher-value products.
3. Which content/variation performed best?
utm_content=red_button: 125 orders, 4.2% conversion
utm_content=blue_button: 92 orders, 3.1% conversion
utm_content=green_button: 78 orders, 2.6% conversion
Insight: Red button outperforms by 35% vs blue, 62% vs green.
Action: Use red buttons in all future campaigns. Test variations of red (shades, sizes).
4. What's the ROI of paid campaigns?
To calculate profit-based ROAS, you need to add product costs. See Cost of Goods Manager to get started.
Campaign: utm_campaign=facebook_spring_ads
- Sessions: 5,000
- Revenue: $15,000
- Orders: 250
- Product Costs: $6,000
- Gross Profit: $9,000
- Ad Spend: $3,000
- Net Profit: $6,000
- ROAS: 5.0 ($15,000 / $3,000)
- Profit ROAS: 3.0 ($9,000 / $3,000)
Insight: Campaign is profitable with 3.0 profit ROAS (good benchmark is >2.0).
Action: Scale campaign budget gradually, monitor ROAS decline at higher spend.
Track customer journey across multiple touchpoints. For detailed information on how attribution works, see the Session Management guide.
utm_source=facebook&utm_medium=cpc&utm_campaign=discovery_adsutm_source=newsletter&utm_medium=email&utm_campaign=nurture_seriesutm_source=google&utm_medium=cpc&utm_campaign=brand_keywordsTo see full journey:
For major campaigns, use unique UTMs for every placement:
Black Friday campaign example:
Email 1 (Early access):
utm_campaign=black_friday&utm_content=email1_early_access
Email 2 (Reminder):
utm_campaign=black_friday&utm_content=email2_reminder
Facebook post:
utm_campaign=black_friday&utm_content=facebook_organic_post
Facebook carousel ad:
utm_campaign=black_friday&utm_content=facebook_carousel_ad
Instagram story:
utm_campaign=black_friday&utm_content=instagram_story
Instagram feed ad:
utm_campaign=black_friday&utm_content=instagram_feed_ad
Website banner (internal):
utm_campaign=black_friday&utm_content=homepage_banner
Blog post CTA:
utm_campaign=black_friday&utm_content=blog_announcement
Then analyze:
Testing different messaging by region:
utm_campaign=summer_sale_us
utm_campaign=summer_sale_uk
utm_campaign=summer_sale_au
Or more granular:
utm_campaign=summer_sale&utm_content=us_messaging
utm_campaign=summer_sale&utm_content=uk_messaging
utm_campaign=summer_sale&utm_content=au_messaging
utm_campaign=spring_sale&utm_content=new_customers
utm_campaign=spring_sale&utm_content=vip_customers
utm_campaign=spring_sale&utm_content=cart_abandoners
utm_campaign=spring_sale&utm_content=past_purchasers
utm_campaign=spring_sale&utm_content=email_subscribers
Analyze: Which audience segment has highest conversion and profit? Double down on winners.
Problem: Sometimes using them, sometimes not. Causes inaccurate data and attribution.
Solution:
Problem: "Facebook", "facebook", "fb", "FB" all used randomly → creates 4 separate sources in reports
Solution:
Problem: utm_campaign=promo or utm_campaign=sale used multiple times → can't differentiate
Solution:
promo_march_2024spring_clearance_sale not just saletshirt_launch_promoProblem: utm_campaign=spring sale becomes spring%20sale in URLs (ugly and hard to read)
Solution:
spring_salespring-sale (but be consistent)Problem: Adding UTMs to navigation links or footer links on your own site → breaks attribution
Example of what NOT to do:
Products
Why it's bad: Every page navigation creates a "new session" with source "internal", overwriting the real traffic source.
Solution:
Problem: Launch campaign, links are broken or UTMs are wrong. Can't fix after launch.
Solution:
Problem: Creating 50+ variations for one campaign → data fragmentation, analysis paralysis
Example of too much:
utm_content=facebook_carousel_ad_variation_a_red_button_image_1_headline_test_1
Solution:
Problem: Team members use different naming, no consistency, analysis difficult
Solution:
Check:
?utm_source=...)Possible causes:
utm_source not utm-source or utmsource)Check:
Possible causes:
How to investigate:
_wpd_ai_landing_page field shows exact landing URLBefore launching any campaign:
After launching campaign:
| Parameter | Required? | Purpose | Examples |
|---|---|---|---|
| utm_source | Required | Identify the platform/site | facebook, newsletter, google |
| utm_medium | Required | Identify channel type | social, email, cpc, referral |
| utm_campaign | Highly Recommended | Identify specific campaign | spring_sale_2024, welcome_email1 |
| utm_content | Optional | Differentiate variations | red_button, hero_cta, image_a |
| utm_term | Rarely Used | Paid search keywords | red_t_shirts (auto-tracked by Google Ads) |
Ready to get started? Create your first UTM-tagged link using the Google Campaign URL Builder, test it in the Realtime Dashboard, and start tracking your campaign performance with Alpha Insights!