Fix Missing Campaign Names on Paid Traffic (5-Minute Guide)

UTMGuard Team
7 min readtroubleshooting

Your situation:

  • Paid ads are running
  • Traffic is flowing
  • GA4 shows campaign = "(not set)"
  • Boss wants campaign ROI report
  • You have 5 minutes to fix it

This guide fixes missing campaign names on paid traffic immediately.

🚨 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

Quick Diagnosis (30 seconds)

Check one of your running ads:

  1. Click your ad
  2. Look at the URL in your browser
  3. Does it have utm_campaign=something?

If NO → You have the problem. Follow this guide.

If YES → Your ads are fine. Problem might be:

  • Old campaigns still running without campaign names
  • Some ads configured correctly, others not
  • Different platforms have different settings

Platform-Specific 5-Minute Fixes

Option 1: Enable Auto-Tagging (Recommended)

  1. Google Ads account → Settings (gear icon)
  2. Account settings
  3. Auto-tagging: Toggle ON
  4. Save

Result: Campaign names automatically populate from your Google Ads campaign structure.

URL changes from:

yoursite.com?utm_source=google&utm_medium=cpc

To:

yoursite.com?gclid=ABC123
(Campaign name extracted from gclid)

Option 2: Add Campaign to Tracking Template

  1. Campaigns → Settings
  2. Campaign URL options → Tracking template
  3. Add:
`{"{"}{"{"}lpurl{"}"}{"}"}}`?utm_source=google&utm_medium=cpc&utm_campaign={{_campaign}}
  1. Custom parameters → Add:
    • Key: _campaign
    • Value: summer-sale-2024 (your campaign name)
  2. Save

Time: 2 minutes per campaign

😰 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

Facebook Ads (3 minutes)

For all active campaigns:

  1. Ads Manager → Campaigns
  2. Select campaign → Ad Sets → Ads
  3. Edit ad → Website URL
  4. Add to URL:
?utm_source=facebook&utm_medium=paid-social&utm_campaign=CAMPAIGN-NAME-HERE

Use Facebook's dynamic parameters:

?utm_source=facebook&utm_medium=paid-social&utm_campaign={"{"}{"{"}campaign.name{"}"}{"}"}}

Facebook automatically fills in campaign name

  1. Publish

Bulk edit method (faster for multiple ads):

  1. Select all ads (checkbox)
  2. Edit → Bulk Edit
  3. Destination → Website URL
  4. Find/Replace:
    • Find: ? (or existing parameters)
    • Replace: ?utm_source=facebook&utm_medium=paid-social&utm_campaign={"{"}{"{"}campaign.name{"}"}{"}"}}&
  5. Apply

Time: 3 minutes for all ads

LinkedIn Ads (2 minutes)

  1. Campaign Manager → Campaigns
  2. Select campaign → Settings
  3. Scroll to: URL Parameters
  4. Add:
utm_source=linkedin&utm_medium=paid-social&utm_campaign={"{"}{"{"}campaign.name{"}"}{"}"}}
  1. Save

LinkedIn automatically replaces {"{"}{"{"}campaign.name{"}"}{"}"}} with actual campaign name

Time: 30 seconds per campaign

Microsoft Ads (Bing) (2 minutes)

Option 1: Enable Auto-Tagging

  1. Campaigns → Settings
  2. Account settings
  3. Auto-tagging with msclkid: ON
  4. Save

Option 2: Tracking Template

  1. Campaigns → Settings → Campaign URL options
  2. Tracking template:
`{"{"}{"{"}lpurl{"}"}{"}"}}`?utm_source=bing&utm_medium=cpc&utm_campaign=`{"{"}{"{"}CampaignName{"}"}{"}"}}`
  1. Save

{"{"}{"{"}CampaignName{"}"}{"}"}} automatically fills with Bing campaign name

Time: 2 minutes

TikTok Ads (2 minutes)

  1. Campaign → Ad Group → Ad
  2. Edit ad → Tracking → URL Parameters
  3. Add:
utm_source=tiktok&utm_medium=paid-social&utm_campaign=__CAMPAIGN_NAME__
  1. Save

TikTok's __CAMPAIGN_NAME__ macro auto-populates

Time: 1 minute per ad

Twitter (X) Ads (2 minutes)

  1. Campaigns → Select campaign
  2. Edit campaign → Website clicks
  3. Destination URL → Add parameters:
?utm_source=twitter&utm_medium=paid-social&utm_campaign=CAMPAIGN-NAME
  1. Save

Time: 1 minute per campaign

Email Platform Fixes

Mailchimp (1 minute)

  1. Campaign → Settings → Tracking
  2. Google Analytics link tracking: ON
  3. Customize parameters:
    • Campaign name: newsletter-{"{"}{"{"}MONTH{"}"}{"}"}}-{"{"}{"{"}YEAR{"}"}{"}"}}
  4. Save

Mailchimp auto-generates campaign names

HubSpot (1 minute)

  1. Email editor → Settings → Tracking
  2. Add tracking parameters:
    • utm_source: hubspot
    • utm_medium: email
    • utm_campaign: your-campaign-name
  3. Save

Klaviyo (1 minute)

  1. Campaign → Settings → Tracking
  2. Google Analytics:
    • Source: klaviyo
    • Medium: email
    • Campaign: campaign-name
  3. Save

Verification (1 minute)

Test your fix:

  1. Click your updated ad/email
  2. Check URL in browser:
Should see: ?utm_campaign=SOMETHING
  1. Open GA4 → Reports → Real-time
  2. Click on your session
  3. Verify: Campaign name shows (not "(not set)")

If campaign name appears → Fix successful ✓

✅ 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

Quick Campaign Naming Guide

If you need to name campaigns right now:

Format

`{"{"}{"{"}type{"}"}{"}"}}`_`{"{"}{"{"}initiative{"}"}{"}"}}`_`{"{"}{"{"}date{"}"}{"}"}}`

Examples

Paid ads:

ppc_product-launch_2024-11
retarget_cart-abandon_q4-2024
brand_awareness_nov-2024

Email:

email_weekly-newsletter_2024-w45
email_promo_black-friday
email_onboarding_automated

Social:

social_blog-promo_article-title
social_event_webinar-nov-12
social_product-launch_new-feature

Rules:

  • ✅ Lowercase
  • ✅ Hyphens (not spaces)
  • ✅ Include date
  • ✅ Descriptive but concise

Bulk Fix: Update All Campaigns at Once

  1. Download Google Ads Editor (free)
  2. Get Latest (downloads your account)
  3. Campaigns → All campaigns
  4. Tracking templates → Add or update:
`{"{"}{"{"}lpurl{"}"}{"}"}}`?utm_source=google&utm_medium=cpc&utm_campaign={{_campaign}}
  1. For each campaign, set custom parameter _campaign
  2. Post changes

Time: 10 minutes for entire account

Facebook Ads Bulk Export/Import

  1. Ads Manager → Tools → Bulk exports
  2. Export: Ads
  3. Edit CSV → Add utm_campaign to URLs
  4. Import edited CSV
  5. Publish

Time: 15 minutes for hundreds of ads

What Happens After You Fix

Immediate (Within hours)

New traffic arrives with campaign names:

Before:

| Campaign | Sessions |
| (not set) | 450 |

After:

| Campaign | Sessions |
| product-launch-q4 | 240 |
| retargeting-nov | 130 |
| brand-awareness | 80 |

Within 24-48 Hours

GA4 reports populate with campaign-level data:

  • Campaign performance comparison
  • ROI per campaign
  • Conversion paths by campaign
  • Attribution models work properly

Within 1 Week

You can make data-driven decisions:

  • Scale profitable campaigns
  • Pause unprofitable campaigns
  • Reallocate budget effectively
  • Test new campaign strategies

Prevention Checklist

Before launching ANY new campaign:

  • Campaign name defined?
  • UTM structure includes utm_campaign?
  • Tested ad click (verified URL)?
  • GA4 real-time check passed?
  • Documented in tracking sheet?

FAQ

Will this fix historical data?

No. Historical "(not set)" campaigns cannot be changed. This fixes new traffic going forward.

Best practice: Add GA4 annotation marking when you fixed tracking.

Do I need campaign names for organic traffic?

No. Organic search, direct traffic, and referrals don't need campaign names. Only fix:

  • Paid ads
  • Email campaigns
  • Social media posts with links
  • Partner/affiliate links

What if I have hundreds of campaigns?

Priority order:

  1. Fix highest-spend campaigns first
  2. Use bulk editing tools (Ads Editor, CSV import)
  3. Set up auto-tagging where available
  4. Apply correct structure to new campaigns going forward

Can I change campaign names mid-campaign?

You can, but be careful:

  • GA4 will track as two separate campaigns (before/after change)
  • Better: Keep name consistent, use utm_content for variants

Exception: If campaign name is generic/unclear, better to change it now.

What if different team members use different campaign naming?

Create a campaign naming doc RIGHT NOW:

  1. Define structure
  2. Share with team
  3. Require approval for new campaign names
  4. Use pre-built UTM templates

Related: Campaign Naming Conventions Guide