utm-best-practicesUpdated 2025

Referral Traffic Best Practices: Complete GA4 Attribution Guide

Set up referral traffic tracking that works. From partner links to press mentions, ensure every external link gets proper GA4 attribution.

7 min readutm-best-practices

Your partners are linking to you. Press mentioned you. Your content gets shared.

But your GA4 report shows:

  • Referral traffic: 8%
  • Direct traffic: 47%

Most external traffic is hiding as "direct."

Without proper UTM parameters on external links, GA4 can't properly attribute traffic. HTTP referrers are unreliable (stripped by redirects, privacy features, link shorteners).

Here's the complete referral traffic setup that ensures every external link gets proper attribution.

🚨 Not sure what's breaking your tracking?

Run a free 60-second audit to check all 40+ ways UTM tracking can fail.

Scan Your Campaigns Free

✓ No credit card ✓ See results instantly

The Referral Traffic Problem

How referral traffic SHOULD work:

Someone links to you from external site → User clicks → GA4 shows referral from that site

How it ACTUALLY works:

  • Link has UTM parameters → Perfect attribution
  • Link has NO UTMs + referrer preserved → Decent attribution (but referrer often lost)
  • Link has NO UTMs + referrer lost → Shows as "direct"

Why referrers get lost:

  • Link shorteners (Bitly, TinyURL)
  • HTTPS→HTTP transitions
  • Redirects (URL forwarding)
  • Privacy features (Safari ITP, Firefox tracking protection)
  • Opening link in new tab
  • Clicking from mobile apps

The solution: Never rely on referrers alone. Always use UTM parameters.

Complete Referral Traffic UTM Structure

Standard format:

Code
https://yoursite.com?utm_source=[referrer-domain]&utm_medium=referral&utm_campaign=[campaign-name]&utm_content=[link-location]

Examples by referral type:

Code
?utm_source=partner-domain.com&utm_medium=referral&utm_campaign=partnership-2024&utm_content=website-footer

Or for commission-based:

Code
?utm_source=affiliate-name&utm_medium=affiliate&utm_campaign=commission-program&utm_content=aff-id-12345

Press & Media Mentions

Code
?utm_source=techcrunch.com&utm_medium=pr&utm_campaign=press-release-jan&utm_content=article-link

Guest Blog Posts

Code
?utm_source=industry-blog.com&utm_medium=referral&utm_campaign=guest-post-jan&utm_content=author-bio
Code
?utm_source=reddit&utm_medium=community&utm_campaign=organic-mention&utm_content=r-subreddit

Directory Listings

Code
?utm_source=directory-site.com&utm_medium=referral&utm_campaign=directory-listing&utm_content=category-page
Code
?utm_source=curator-blog.com&utm_medium=referral&utm_campaign=weekly-roundup&utm_content=roundup-jan-15

😰 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

Best Practices by Referral Type

For Partnerships (High Control)

You provide the links.

Best practice:

  1. Generate unique UTM link per partner
  2. Create branded short link
  3. Send to partner with implementation guide
  4. Verify implementation (check GA4 Realtime)
  5. Monitor monthly attribution

Partner link template:

Code
https://yourbrand.link/partner-[name]
→ Redirects to https://yoursite.com?utm_source=[partner-domain]&utm_medium=referral&utm_campaign=partnership-2024

Partner onboarding email:

"Your custom partner link: https://yourbrand.link/partner-acme

Use this link everywhere you reference us: ✓ Website footer/partner page ✓ Blog posts about us ✓ Social media mentions ✓ Email signatures

This helps us track partnership value and share monthly performance reports with you."

For Press & Media (Medium Control)

You can suggest links, but can't always control what journalists use.

Best practice:

  1. Create press kit with pre-built UTM links
  2. Include different links for different assets
  3. When journalist contacts you, send UTM links
  4. Follow up after publication to suggest UTM links for future updates

Press kit links:

Homepage:

Code
https://yoursite.com?utm_source=[publication]&utm_medium=pr&utm_campaign=press-kit

Product page:

Code
https://yoursite.com/products?utm_source=[publication]&utm_medium=pr&utm_campaign=press-kit

About page:

Code
https://yoursite.com/about?utm_source=[publication]&utm_medium=pr&utm_campaign=press-kit

Email to journalist:

"Thanks for your interest in covering us!

Here are links you can use in your article (these help our analytics):

  • Company overview: [UTM link]
  • Product demo: [UTM link]
  • Press photos: [UTM link]

Feel free to modify the URLs if needed—we just appreciate proper attribution for analytics!"

For Guest Posts (High Control)

You control author bio and in-content links.

Best practice:

  1. Create UTM links before submitting guest post
  2. Include in author bio
  3. Include in relevant in-content mentions
  4. Test links after publication

Author bio link:

Code
[Your Name] is founder of [Company]. Learn more at https://yoursite.com?utm_source=guestpost-site.com&utm_medium=referral&utm_campaign=guest-post-jan&utm_content=author-bio

In-content link:

Code
As we discussed in [our guide](https://yoursite.com/guide?utm_source=guestpost-site.com&utm_medium=referral&utm_campaign=guest-post-jan&utm_content=inline-link)...

For Community/Forums (Low Control)

You can't control what other people share, but you can control what YOU share.

Best practice:

  1. When sharing your own content, always use UTM links
  2. Create community-specific links for different platforms
  3. Internal policy: Team members use UTM links when posting

Your posts on Reddit:

Code
https://yoursite.com?utm_source=reddit&utm_medium=community&utm_campaign=organic-share&utm_content=r-[subreddit]

Your posts on Hacker News:

Code
https://yoursite.com?utm_source=hackernews&utm_medium=community&utm_campaign=organic-share

Your posts on industry forums:

Code
https://yoursite.com?utm_source=forum-name.com&utm_medium=community&utm_campaign=organic-mention

For Social Shares (Medium Control)

You control what YOU post, but not what others share.

Best practice:

  1. Always use UTM links in your own social posts
  2. Add UTM links to social media bios
  3. Use UTM links in link-in-bio tools

Instagram bio:

Code
Learn more: yourbrand.link/instagram
→ Redirects with ?utm_source=instagram&utm_medium=social&utm_campaign=bio-link

LinkedIn profile:

Code
Company website: https://yoursite.com?utm_source=linkedin&utm_medium=social&utm_campaign=profile-link

Twitter/X bio:

Code
Check us out: yourbrand.link/twitter
→ Redirects with ?utm_source=twitter&utm_medium=social&utm_campaign=bio-link

Implementation Workflow

Step 1: Audit Current Referral Sources

  1. GA4 → Reports → Traffic Acquisition
  2. Filter: Medium = "referral" OR Source = "(direct)"
  3. Export last 90 days
  4. Analyze:
    • Which referrers are significant (>500 sessions/month)
    • Which are within your control (partners, affiliates)
    • Which landing pages get most referral traffic

Step 2: Prioritize Based on Control

Priority 1 (High Control):

  • Active partners
  • Affiliate programs
  • Your own guest posts
  • Your own social bios
  • Your own email signatures

Priority 2 (Medium Control):

  • Press contacts (can suggest UTM links)
  • Community posts (you control your own posts)
  • Guest post opportunities

Priority 3 (Low Control):

  • Organic mentions (can't control what others share)
  • Social shares (others sharing your content)
  • Random blog mentions

Start with Priority 1. Maximum impact, easiest to implement.

For each Priority 1 source:

  1. Generate UTM link (source = their domain, medium = referral)
  2. Create branded short link
  3. Document in tracking spreadsheet
  4. Send to source with implementation guide

Step 4: Implement Redirect-Based Fallback

For situations where you can't control external link:

Create vanity URLs:

Code
yoursite.com/press → Adds ?utm_source=press&utm_medium=pr
yoursite.com/partner/[name] → Adds partner UTM parameters
yoursite.com/linkedin → Adds ?utm_source=linkedin&utm_medium=social

Benefits:

  • Partners can share "clean" URL
  • You control UTM attribution via redirect
  • Easy to update destination without changing external links

Step 5: Monitor & Verify

Weekly:

  • Check GA4 for new referral sources
  • Verify expected partners appear in reports
  • Compare session counts to expected traffic

Monthly:

  • Generate referral attribution report
  • Share with partners
  • Identify new referral sources to add UTMs

✅ 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

Common Mistakes to Avoid

Mistake 1: Using Generic utm_source

Wrong:

Code
?utm_source=partner&utm_medium=referral

All partners lumped together. Can't measure individual performance.

Right:

Code
?utm_source=acme-corp.com&utm_medium=referral

Individual partner attribution.

Mistake 2: Wrong utm_medium Value

Wrong:

Code
?utm_source=partner-site.com&utm_medium=partner

Doesn't map to GA4's standard channel groups.

Right:

Code
?utm_source=partner-site.com&utm_medium=referral

Maps to "Referral" channel.

Mistake 3: Sharing Base URLs Externally

Wrong:

"Our website: https://yoursite.com"

Partners copy-paste this (no UTMs).

Right:

"Your custom partner link: https://yourbrand.link/partner-name"

Partner uses link with UTMs.

Mistake 4: Not Verifying Implementation

Wrong:

Send UTM link to partner → Assume they implemented it correctly

Right:

Send UTM link → Wait 1 week → Visit partner site → Click link → Verify in GA4 Realtime

Mistake 5: No Follow-Up Monitoring

Wrong:

Set up UTM links once → Never check again

Right:

Monthly partner attribution report → Identify missing/low partners → Follow up

FAQ

Do I need UTM parameters if referrer is preserved?

Yes. Referrers are often lost (redirects, link shorteners, privacy features). UTM parameters ensure attribution works even when referrer is missing.

No. Each referrer should have unique utm_source value so you can track individual performance.

Create redirect URL under your control: yoursite.com/partner-name → Redirects with UTM parameters. Give partner the clean redirect URL.

How do I track referral conversions?

GA4 automatically attributes conversions to traffic source. Check: Reports → Traffic Acquisition → Add "Conversions" metric → Filter to referral traffic.

Should I use utm_medium=referral or utm_medium=affiliate?

  • Referral partners (no commission): utm_medium=referral
  • Affiliate partners (commission-based): utm_medium=affiliate

Both work, but separating helps distinguish partnership types.

What's the difference between utm_source and referrer?

  • Referrer: HTTP header showing previous page URL (unreliable, often lost)
  • utm_source: Manual parameter you control (reliable, always preserved)

Always use utm_source for accurate attribution.

Conclusion

Referral traffic best practices:

  1. Never rely on referrers alone - Always use UTM parameters
  2. Unique source per referrer - Track individual performance
  3. Use standard medium values - "referral" or "affiliate"
  4. Provide links, not base URLs - Give partners UTM-tagged links
  5. Verify implementation - Test links in GA4 Realtime
  6. Monitor monthly - Check attribution reports, follow up with missing partners

Template:

Code
?utm_source=[referrer-domain]
&utm_medium=referral
&utm_campaign=[campaign-name]
&utm_content=[link-location]

Set this up once, and every external link gets proper attribution forever.


Related: Complete Referral Attribution Setup Documentation

UTM

Get Your Free Audit in 60 Seconds

Connect GA4, run the scan, and see exactly where tracking is leaking budget. No credit card required.

Trusted by growth teams and agencies to keep attribution clean.