best-practicesUpdated 2025

Why Generic Campaign Names Kill Your Analytics (promo, ad, test)

UTM campaigns named 'promo', 'campaign', or 'ad' create analytics chaos. Here's why and how to fix it.

7 min readbest-practices

You open GA4 to review your campaign performance. The Campaign report looks like this:

Campaign NameSessions
promo45,000
campaign38,000
ad22,000
test15,000
summer12,000

Question: Which "promo" campaign? Your Q1 spring sale? Q2 product launch? Q3 back-to-school? All three are named "promo."

Result: You can't tell which campaigns worked, which failed, or what to do differently next time. Your analytics are essentially useless.

This is the generic campaign name problem—and it's costing you thousands in wasted ad spend.

🚨 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

What Are Generic Campaign Names?

Generic campaign names are vague, non-descriptive utm_campaign values that don't identify the specific campaign.

Common Generic Names (All Bad)

Code
❌ utm_campaign=promo
❌ utm_campaign=campaign
❌ utm_campaign=ad
❌ utm_campaign=test
❌ utm_campaign=summer
❌ utm_campaign=sale
❌ utm_campaign=email
❌ utm_campaign=facebook
❌ utm_campaign=2025
❌ utm_campaign=new
❌ utm_campaign=launch

Why They're Generic

Test: If you saw only the campaign name in a report 6 months from now, could you remember:

  • What product/service it promoted?
  • What offer it included?
  • What channel it ran on?
  • When it ran?
  • What the goal was?

If the answer is "no" to any of these, the name is too generic.

The 5 Problems Generic Names Cause

Problem #1: Multiple Campaigns Collapse Into One

Scenario: You run 4 promotional campaigns in 2025:

  1. Q1 Spring Sale (March)
  2. Q2 Summer Launch (June)
  3. Q3 Back-to-School (September)
  4. Q4 Black Friday (November)

All tagged as:

Code
utm_campaign=promo

What GA4 shows:

CampaignSessionsRevenue
promo120,000$480,000

What you can't see:

  • Which promo performed best?
  • Should we repeat Q1's strategy or Q3's?
  • Which one had best ROAS?
  • What messaging worked?

All four campaigns are merged into one undifferentiated blob.

Problem #2: Can't Compare Year-Over-Year Performance

2024 Spring Sale:

Code
utm_campaign=spring-sale

2025 Spring Sale:

Code
utm_campaign=sale

GA4 sees these as different campaigns (they should be the same for comparison).

Result: Can't compare 2024 vs 2025 performance because names don't match.

Even worse:

Q1 2024:

Code
utm_campaign=promo

Q1 2025:

Code
utm_campaign=promo

GA4 combines both years into one "promo" campaign.

Result: Your 2025 analysis includes 2024 data. Metrics are meaningless.

Problem #3: Team Can't Understand Reports

You leave on vacation. Your colleague needs to pause underperforming campaigns.

They open GA4:

CampaignROAS
test1.2x
campaign2.8x
promo3.5x
ad0.9x

Questions they can't answer:

  • Which "test" campaign is this?
  • What product does "campaign" promote?
  • Is "ad" referring to LinkedIn or TikTok?
  • Should I pause "ad" (0.9x ROAS) or is this a brand awareness test?

They can't make decisions without more context.

Problem #4: Optimization Becomes Impossible

You want to optimize your best-performing campaigns.

GA4 report:

Code
utm_campaign=summer
ROAS: 4.2x (best performer!)

Questions you can't answer:

  • What made "summer" successful?
  • What ad creative did it use?
  • What landing page?
  • What audience targeting?
  • What offer?

Because the name is generic, you have no idea what to replicate.

Problem #5: Agency/Team Onboarding Nightmare

New team member joins:

"Hey, I'm looking at last quarter's campaigns. What was 'promo' about?"

You: "Uhh... which month? We had several promos."

Them: "It shows here as 'promo' with $50,000 spend."

You: "Let me check Slack... or maybe I have notes... give me an hour."

What should take 2 seconds takes 2 hours (and you might not even find the answer).

😰 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

Real Example: $80,000 Wasted on Unidentifiable Campaigns

Client: SaaS company with 8 marketing campaigns per quarter Problem: All campaigns tagged with generic names

Their Campaign Naming (Before)

Q1 2025 campaigns:

Code
utm_campaign=promo (actually: Product Launch - CRM Tool)
utm_campaign=promo (actually: Free Trial Offer - Project Management)
utm_campaign=sale (actually: 30% Off Existing Customers)
utm_campaign=test (actually: LinkedIn A/B Test - New Ad Creative)
utm_campaign=email (actually: Webinar Invitation - Advanced Features)
utm_campaign=campaign (actually: Partner Co-Marketing - Integration Launch)

What GA4 Showed

CampaignSpendRevenueROAS
promo$45,000$90,0002.0x
sale$15,000$60,0004.0x
test$10,000$8,0000.8x
email$5,000$25,0005.0x
campaign$5,000$15,0003.0x

Total: $80,000 spend, $198,000 revenue, 2.48x blended ROAS

Questions They Couldn't Answer

  1. "Which promo worked best?" Two promos merged into one $45k campaign with 2.0x ROAS. Was CRM launch successful (maybe 3.0x) or Free Trial a failure (maybe 1.0x)? Unknown.

  2. "Should we continue the test?" They saw 0.8x ROAS. But was it a creative test (acceptable loss for learning) or a full campaign (need to pause)? Unknown.

  3. "What was our best campaign?" "Email" showed 5.0x ROAS. But which email? They sent 12 different emails that quarter. Unknown.

  4. "Can we replicate 'sale' success?" 4.0x ROAS on "sale" looked great. But what was the offer? 30% off? BOGO? Free month? Unknown.

After Implementing Descriptive Names

Q2 2025 campaigns (fixed naming):

Code
utm_campaign=product-launch-crm-tool-apr-2025
utm_campaign=free-trial-offer-pm-tool-apr-2025
utm_campaign=30pct-off-existing-customers-may-2025
utm_campaign=linkedin-creative-test-new-ad-style-apr-2025
utm_campaign=webinar-advanced-features-may-2025
utm_campaign=partner-comarketing-integration-launch-jun-2025

New GA4 report:

CampaignSpendRevenueROAS
product-launch-crm-tool-apr-2025$25,000$50,0002.0x
free-trial-offer-pm-tool-apr-2025$20,000$40,0002.0x
30pct-off-existing-customers-may-2025$15,000$60,0004.0x
linkedin-creative-test-new-ad-style-apr-2025$10,000$8,0000.8x
webinar-advanced-features-may-2025$5,000$25,0005.0x
partner-comarketing-integration-launch-jun-2025$5,000$15,0003.0x

Insights Now Visible

  1. Both "promo" campaigns had same 2.0x ROAS - Neither was exceptional. Both need optimization.

  2. 30% off offer = best performer - 4.0x ROAS. Replicate this for Q3.

  3. Webinar invites = highest ROAS - 5.0x. Scale webinar budget from $5k to $15k.

  4. LinkedIn creative test = acceptable loss - 0.8x ROAS but was a learning experiment, not a failure.

  5. Partner co-marketing = solid 3.0x - Continue partnership, increase co-marketing budget.

Actions Taken

Q3 budget allocation (data-driven):

  • Webinars: $5k → $15k (+200%)
  • Customer discounts: $15k → $25k (+67%)
  • Partner co-marketing: $5k → $10k (+100%)
  • Product launches: $45k → $30k (-33%, need better messaging)

Result:

  • Q3 revenue: $198k → $280k (+41%)
  • Blended ROAS: 2.48x → 3.50x (+41%)
  • $82,000 additional revenue from better campaign allocation

This was only possible because descriptive names enabled data-driven decisions.

How Generic Names Happen

Reason #1: Default URL Builder Values

Many URL builders have pre-filled defaults:

Code
utm_campaign=campaign
utm_campaign=promo
utm_campaign=email_campaign

People click "Generate" without customizing → generic name.

Reason #2: Lazy Copy-Paste

Month 1:

Code
utm_campaign=spring-sale-2025

Month 2: Copy last month's URL, forget to update:

Code
utm_campaign=spring-sale-2025  ← Should be summer-sale-2025!

Reason #3: No Naming Standards

Marketing manager's campaign:

Code
utm_campaign=product-launch-widget-pro-jan-2025

Intern's campaign:

Code
utm_campaign=ad

No documented standards = inconsistent names.

Reason #4: "I'll Remember What This Means"

You create campaign in January:

Code
utm_campaign=promo

You check results in July:

"Wait, what promo was this again?"

Spoiler: You won't remember.

Reason #5: Platform-Specific Constraints

Some ad platforms limit campaign name length.

Bad solution: Shorten to generic name

Code
utm_campaign=promo

Better solution: Use abbreviations

Code
utm_campaign=prod-lnch-crm-jan25

Still descriptive within character limits.

What Makes a Good Campaign Name?

A good utm_campaign name answers these questions at a glance:

  1. What are you promoting? (product, service, event)
  2. What's the offer? (discount, free trial, webinar)
  3. When is it running? (month, quarter, year)
  4. (Optional) Where is it running? (if multi-channel campaign)

Format:

Code
`{"{"}{"{"}what{"}"}{"}"}}`-{offer/type}-`{"{"}{"{"}timeframe{"}"}{"}"}}`

Examples:

Code
✅ Good:
utm_campaign=product-launch-crm-tool-jan-2025
utm_campaign=webinar-advanced-seo-feb-15-2025
utm_campaign=30pct-off-spring-sale-mar-2025
utm_campaign=free-trial-offer-pm-software-q2-2025
utm_campaign=black-friday-2025

❌ Bad:
utm_campaign=promo
utm_campaign=launch
utm_campaign=webinar
utm_campaign=sale
utm_campaign=trial

Quick Self-Assessment

Look at your last 5 campaign names.

For each, ask:

  1. If you saw this name in 6 months, would you know what it was?
  2. Can you identify the specific product/offer?
  3. Can you tell when it ran?
  4. Can you differentiate it from similar campaigns?

If you answered "no" to any question, your names are too generic.

Prevention Checklist

✅ Create a campaign naming standard document ✅ Include format: {"{"}{"{"}what{"}"}{"}"}}-{"{"}{"{"}offer{"}"}{"}"}}-{"{"}{"{"}timeframe{"}"}{"}"}} ✅ Share with entire marketing team ✅ Add naming examples for common campaign types ✅ Require approval before launching campaigns ✅ Audit monthly for generic names (promo, ad, test, etc.) ✅ Update URL builder templates with proper format

✅ 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

FAQ

What if my campaign name gets too long?

Recommended max length: 50-60 characters

If too long, use abbreviations:

Code
Too long (72 chars):
utm_campaign=product-launch-customer-relationship-management-tool-january-2025

Better (48 chars):
utm_campaign=prod-launch-crm-tool-jan-2025

Or (42 chars):
utm_campaign=crm-launch-jan25

Keep it readable while staying under character limits.

Can I use the same campaign name across different channels?

Yes, if it's the same campaign!

Code
utm_campaign=spring-sale-2025&utm_source=facebook&utm_medium=cpc
utm_campaign=spring-sale-2025&utm_source=linkedin&utm_medium=cpc
utm_campaign=spring-sale-2025&utm_source=newsletter&utm_medium=email

This lets you compare the same campaign's performance across channels.

But differentiate if offers are different:

Code
utm_campaign=spring-sale-email-exclusive-2025&utm_source=newsletter&utm_medium=email
utm_campaign=spring-sale-social-paid-2025&utm_source=facebook&utm_medium=cpc

What about A/B tests? Should I include that in the name?

Yes, differentiate variants:

Code
Variant A:
utm_campaign=spring-sale-2025-variant-a

Variant B:
utm_campaign=spring-sale-2025-variant-b

Or use utm_content for variants (if campaign is otherwise identical):

Code
utm_campaign=spring-sale-2025&utm_content=variant-a
utm_campaign=spring-sale-2025&utm_content=variant-b

My team has been using generic names for years. Can I fix historical data?

No. GA4 doesn't allow retroactive renaming of campaigns.

What you CAN do:

  1. Note the change date in GA4 annotations
  2. Start using descriptive names from today forward
  3. Create a "legend" document mapping old generic names to what they actually were
  4. For future reports, filter date ranges to "after naming standard implementation"

Should I include the channel (facebook, linkedin) in utm_campaign?

Only if running the same campaign on multiple channels with different messaging.

Better approach: Let utm_source handle the channel:

Code
utm_source=facebook&utm_medium=cpc&utm_campaign=spring-sale-2025
utm_source=linkedin&utm_medium=cpc&utm_campaign=spring-sale-2025

Exception: If campaigns are truly different per channel:

Code
utm_campaign=spring-sale-linkedin-b2b-2025
utm_campaign=spring-sale-facebook-b2c-2025

What if I forget the naming convention mid-campaign?

Create a URL builder template with your naming format pre-filled:

Code
Template URL:
yoursite.com/page?utm_source=[SOURCE]&utm_medium=[MEDIUM]&utm_campaign=[WHAT]-[OFFER]-[MONTH]-2025

Example:
yoursite.com/demo?utm_source=linkedin&utm_medium=cpc&utm_campaign=product-launch-crm-jan-2025

Save this template in your team wiki, Notion, or Google Doc. Copy and customize for each campaign.

Conclusion

Generic campaign names (promo, ad, test, sale) create 5 major problems:

  1. Multiple campaigns collapse into one (can't see individual performance)
  2. Can't compare year-over-year
  3. Team can't understand reports
  4. Optimization becomes impossible
  5. Onboarding nightmare for new team members

The fix: Use descriptive names that answer What, Offer, When:

Code
❌ utm_campaign=promo
✅ utm_campaign=product-launch-crm-tool-jan-2025

❌ utm_campaign=sale
✅ utm_campaign=30pct-off-spring-sale-mar-2025

❌ utm_campaign=test
✅ utm_campaign=linkedin-creative-test-new-ad-style-apr-2025

This single change transforms your analytics from useless to actionable, enabling data-driven budget decisions that can increase revenue by 40%+.


Related: Campaign Naming Conventions Guide (Complete Standard)

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.