šŸ”µBest PracticeImpact: Unclear reporting and missed optimization opportunities
šŸŽÆCategory: Attribution

What This Rule Detects

Identifies when utm_source uses generic, non-specific values like "web", "link", "campaign", "online", or "social" that fail to identify the actual traffic source. Generic names provide zero actionable insight in reports, making it impossible to compare performance across real sources or optimize high-performing channels.

šŸ” Want to scan for this issue automatically?

UTMGuard checks for this and 39 other validation rules in 60 seconds.

Try Free Audit

Why It Matters

Business Impact:

  • Reporting lacks specificity - Cannot distinguish Facebook from Twitter when both use "social"
  • Channel optimization impossible - Don't know which specific sources drive conversions
  • Budget allocation guesswork - Cannot identify high-ROI sources to scale
  • Partnership measurement fails - All partners grouped under generic "partner" label

Technical Impact:

  • GA4 accepts the value but provides no useful differentiation
  • Multiple actual sources appear as one generic label
  • Cannot segment or filter by specific platform
  • Trend analysis impossible (cannot track individual source performance over time)

Real Example:

  • Using utm_source=social for ALL social media platforms
  • Traffic comes from: Facebook, Twitter, LinkedIn, Instagram, TikTok
  • GA4 shows: One row "social" with 10,000 sessions
  • Cannot answer: Which platform drives most conversions?
  • Cannot optimize: Which social platform to invest more budget in?
  • Result: Treat all social media equally, missing that Instagram drives 80% of conversions while Twitter drives 2%

Common Scenarios

Scenario 1: Generic Platform Category

Using category instead of specific platform name:

āŒ?utm_source=social&utm_medium=social&utm_campaign=product-launch
āœ…?utm_source=facebook&utm_medium=social&utm_campaign=product-launch

Scenario 2: Meaningless Descriptors

Using vague terms that don't identify source:

āŒ?utm_source=web&utm_medium=cpc&utm_campaign=summer-sale
āœ…?utm_source=google&utm_medium=cpc&utm_campaign=summer-sale

Scenario 3: Generic Partner Labels

Using "partner" instead of specific partner name:

āŒ?utm_source=partner&utm_medium=referral&utm_campaign=affiliate
āœ…?utm_source=partner-techcrunch&utm_medium=referral&utm_campaign=affiliate-2024

😰 Is this your only tracking issue?

This is just 1 of 40+ ways UTM tracking breaks. Most marketing teams have 8-12 critical issues they don't know about.

• 94% of sites have UTM errors

• Average: $8,400/month in wasted ad spend

• Fix time: 15 minutes with our report

āœ“ Connects directly to GA4 (read-only, secure)

āœ“ Scans 90 days of data in 2 minutes

āœ“ Prioritizes issues by revenue impact

āœ“ Shows exact sessions affected

Get Your Free Audit Report

How to Fix

Step 1: Identify Generic Source Names in Your Tracking

Common generic utm_source values to find and fix:

AVOID (too generic):
ā”œā”€ā”€ web              → Replace with specific platform (google, facebook, etc.)
ā”œā”€ā”€ social           → Replace with platform name (twitter, linkedin, instagram)
ā”œā”€ā”€ link             → Replace with actual source (newsletter, partner-blog, etc.)
ā”œā”€ā”€ campaign         → Replace with traffic source (email-campaign, ad-campaign)
ā”œā”€ā”€ online           → Replace with specific platform
ā”œā”€ā”€ internet         → Replace with actual source
ā”œā”€ā”€ email            → Too broad, use platform (mailchimp, sendgrid, etc.)
ā”œā”€ā”€ partner          → Replace with partner name (partner-acme, partner-xyz)
ā”œā”€ā”€ ad               → Replace with ad platform (google-ads, facebook-ads)
└── promo            → Replace with promotional channel

Search your GA4 data:

  1. Reports → Acquisition → Traffic acquisition
  2. Secondary dimension: "Session source"
  3. Look for generic terms in source column
  4. Note which sources lack specificity

Step 2: Create Specific Naming Convention

Format: Use WHO/WHERE, not WHAT type

Social Media (by platform):

āŒ utm_source=social
āœ… utm_source=facebook
āœ… utm_source=twitter
āœ… utm_source=linkedin
āœ… utm_source=instagram
āœ… utm_source=tiktok

Email (by platform/tool):

āŒ utm_source=email
āœ… utm_source=mailchimp
āœ… utm_source=sendgrid
āœ… utm_source=constant-contact
āœ… utm_source=newsletter (if you manage it directly)

Paid Advertising (by platform):

āŒ utm_source=ad OR utm_source=web
āœ… utm_source=google
āœ… utm_source=facebook
āœ… utm_source=microsoft
āœ… utm_source=linkedin

Partners/Affiliates (by partner name):

āŒ utm_source=partner
āœ… utm_source=partner-techcrunch
āœ… utm_source=partner-forbes
āœ… utm_source=affiliate-john-doe

Content Platforms (by site):

āŒ utm_source=blog OR utm_source=article
āœ… utm_source=medium
āœ… utm_source=substack
āœ… utm_source=dev-to
āœ… utm_source=hashnode

Step 3: Document Team-Wide Naming Standards

Create internal documentation:

# UTM Source Naming Standards
 
## Principle
utm_source should answer: "Which specific platform/site sent this traffic?"
 
## Rules
1. Be SPECIFIC - Use platform name, not category
2. Be CONSISTENT - Always use same name for same source
3. Use lowercase
4. Use hyphens for multi-word names
 
## Examples by Category
 
### Social Media
- Facebook: utm_source=facebook
- Twitter/X: utm_source=twitter
- LinkedIn: utm_source=linkedin
- Instagram: utm_source=instagram
- TikTok: utm_source=tiktok
- Pinterest: utm_source=pinterest
 
### Email Marketing
- Mailchimp: utm_source=mailchimp
- Constant Contact: utm_source=constant-contact
- SendGrid: utm_source=sendgrid
- Internal newsletter: utm_source=newsletter
 
### Paid Advertising
- Google Ads: utm_source=google
- Facebook Ads: utm_source=facebook
- Microsoft Ads: utm_source=microsoft
- LinkedIn Ads: utm_source=linkedin
 
### Partnerships
- Format: `partner-{company-name}`
- Examples: partner-techcrunch, partner-forbes
 
## What NOT to Use
āŒ social, email, web, link, campaign, online, ad, partner

Step 4: Update All Active Campaigns

Platform-specific update instructions:

Social media posts:

  1. Review scheduled posts across all platforms
  2. Update link parameters with specific platform names
  3. Facebook posts: utm_source=facebook
  4. Twitter posts: utm_source=twitter
  5. LinkedIn posts: utm_source=linkedin

Email campaigns:

  1. Update email templates
  2. Replace generic "email" with platform name
  3. Mailchimp: utm_source=mailchimp
  4. Other platforms: Use specific tool name

Partner/affiliate links:

  1. Create unique utm_source for each partner
  2. Format: partner-{name} or {partner-domain}
  3. Distribute partner-specific links
  4. Track each partner's performance separately

Step 5: Implement Pre-Launch Validation

Checklist before launching any campaign:

☐ utm_source identifies SPECIFIC platform (not category)
☐ Answers "Which exact site/platform?" not "What type?"
☐ Consistent with past naming for same source
☐ Lowercase, no spaces
☐ Specific enough to filter and segment in reports
☐ Not on forbidden generic list (web, social, link, etc.)

Examples

āŒ Incorrect Examples

Generic social source:
?utm_source=social&utm_medium=social&utm_campaign=product-launch
Problem: Which social platform? Facebook? Twitter? LinkedIn?
Impact: Cannot compare Facebook vs Twitter performance
Report shows: "social" with 5,000 sessions (no platform breakdown)

Generic email source:
?utm_source=email&utm_medium=email&utm_campaign=newsletter
Problem: Which email platform? Cannot compare Mailchimp vs SendGrid
Impact: Cannot measure email platform effectiveness
Report shows: "email" (all platforms combined, no segmentation)

Generic ad source:
?utm_source=ad&utm_medium=cpc&utm_campaign=summer-sale
Problem: Which ad platform? Google? Facebook? Microsoft?
Impact: Cannot allocate budget to best-performing platform
Report shows: "ad" (all paid traffic combined)

Generic partner source:
?utm_source=partner&utm_medium=referral&utm_campaign=affiliate
Problem: Which partner? Cannot measure individual partner ROI
Impact: All partners show as one source, cannot reward top performers
Report shows: "partner" (no partner-level performance data)

āœ… Correct Examples

Specific social platform:
?utm_source=facebook&utm_medium=social&utm_campaign=product-launch-jan
Result: Clearly identifies Facebook as source
Impact: Can compare Facebook vs other social platforms
Report shows: "facebook" with measurable performance metrics

Specific email platform:
?utm_source=mailchimp&utm_medium=email&utm_campaign=weekly-newsletter-2024
Result: Identifies Mailchimp as email platform
Impact: Can compare Mailchimp vs other email tools
Report shows: "mailchimp" with campaign performance data

Specific ad platform:
?utm_source=google&utm_medium=cpc&utm_campaign=summer-shoes-sale
Result: Identifies Google Ads as traffic source
Impact: Can measure Google Ads ROI separately from Facebook Ads
Report shows: "google" with cost and conversion data

Specific partner name:
?utm_source=partner-techcrunch&utm_medium=referral&utm_campaign=product-review-jan
Result: Identifies TechCrunch as specific partner
Impact: Can measure individual partner performance and ROI
Report shows: "partner-techcrunch" with conversion tracking

GA4 Impact Analysis

Traffic Source Reports:

  • Generic source → Multiple platforms grouped under one label
  • Specific source → Each platform shows separately for comparison
  • Impact: Aggregated data vs granular insights

Channel Performance:

  • Generic source → Cannot identify best-performing platform within channel
  • Specific source → Can rank platforms by performance metrics
  • Impact: Optimization impossible vs data-driven decisions

Trend Analysis:

  • Generic source → Cannot track individual platform trends over time
  • Specific source → Can see if Facebook performance improving vs Twitter declining
  • Impact: Missed patterns vs actionable trends

Segmentation:

  • Generic source → Cannot create platform-specific segments or audiences
  • Specific source → Can build remarketing lists per platform
  • Impact: Broad targeting vs precise audience building

Detection in UTMGuard

UTMGuard automatically detects generic source names:

  1. Scans all utm_source values in your GA4 data
  2. Compares against list of known generic terms
  3. Flags non-specific values (social, email, web, link, etc.)
  4. Counts affected sessions
  5. Reports which campaigns use generic naming with improvement suggestions

Audit Report Shows:

  • Total sessions using generic source names
  • Specific generic terms detected (web, social, etc.)
  • Affected campaigns and URLs
  • Suggested replacement values

Frequently Asked Questions

Q: Isn't "email" specific enough for utm_source?

A: Not if you use multiple email platforms. If you only use one email tool (e.g., only Mailchimp), "email" or "newsletter" is acceptable. If you use multiple platforms (Mailchimp + SendGrid + Constant Contact), use specific platform names to compare performance.

Q: Can I use "social" if I only post on one platform?

A: If you ONLY use one social platform, you could, but it's still not recommended. Better to use the platform name from the start so your naming convention scales as you expand to other platforms. Starting with "facebook" is better than having to migrate from "social" to "facebook" later.

Q: What about QR codes - is "qr-code" too generic?

A: Use location-based specificity: utm_source=qr-code-{location}. Examples: qr-code-flyer, qr-code-packaging, qr-code-billboard. This lets you compare QR code performance by placement.

Q: How specific is too specific?

A: If utm_source changes for every instance, it's too specific. Example: Don't use utm_source=facebook-post-123. Use utm_source=facebook (consistent) and utm_campaign=post-123 (variable). Keep source stable, vary campaign.

Q: Should I use domain name or platform name for partners?

A: Use recognizable partner identifier. Either works: utm_source=techcrunch or utm_source=partner-techcrunch. Be consistent. If you have both partners and owned content on same domain, distinguish them: partner-techcrunch vs owned-techcrunch.

Q: Can I fix historical data with generic sources?

A: No - historical data cannot be modified. However, you can create GA4 custom reports that map generic sources to specific platforms if you can determine which platform from campaign names or other context.

Q: What if I have 50+ partners?

A: Create unique utm_source for each. Use format: partner-{name} or {partner-domain}. Examples: partner-site1, partner-site2. This enables performance ranking and partner-specific ROI calculation, which is critical for partnership management.

Q: Is there a penalty for generic naming beyond unclear reports?

A: No technical penalty - GA4 accepts any value. The penalty is business impact: wasted ad spend on underperforming platforms you cannot identify, missed opportunities to scale high-performers, and inability to optimize based on platform-specific insights.

āœ… Fixed this issue? Great! Now check the other 39...

You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?

• Connects to GA4 (read-only, OAuth secured)

• Scans 90 days of traffic in 2 minutes

• Prioritizes by revenue impact

• Free forever for monthly audits

Run Complete UTM Audit (Free Forever)

Join 2,847 marketers fixing their tracking daily

External Resources


Last Updated: November 9, 2025
Rule ID: generic_source
Severity: Info
Category: Attribution