Skip to content
Campaign-focused workflow

UTM Campaign Builder

Build campaign tracking URLs with consistent naming conventions. Designed for marketing teams running multi-channel campaigns.

Recommended Naming Pattern

{source}_{medium}_{campaign-name}_{quarter}_{year}

Example: google_cpc_spring-sale_q2_2026

Verify you're human

Slide to verify

Campaign Naming Conventions

Always use lowercase

UTM parameters are case-sensitive. "Spring_Sale" and "spring_sale" appear as different campaigns in Google Analytics. Stick to lowercase.

Use underscores instead of spaces

Spaces become "%20" in URLs which looks messy and can break in some tools. Use underscores or hyphens: "spring_sale" or "spring-sale".

Include date or quarter

Add time context to campaign names: "spring_sale_q2_2026" or "webinar_mar2026". This makes filtering by time period easy in analytics.

Use utm_content for A/B testing

Keep campaign name the same across variants. Use utm_content to differentiate: "banner_v1" vs "banner_v2" or "cta_red" vs "cta_blue".

Document your naming system

Create a shared document with your team listing approved source, medium, and campaign name formats. This prevents "facebook" vs "Facebook" vs "fb" chaos.

Campaign Builder FAQ

What is a UTM campaign URL?

A UTM campaign URL is a regular web link with tracking parameters appended. These parameters — source, medium, campaign, term, and content — tell Google Analytics exactly where your traffic came from and which campaign drove it.

Is utm_campaign required?

Technically only utm_source and utm_medium are required. However, utm_campaign is strongly recommended as it groups all your traffic under a single campaign name, making it easy to measure overall campaign performance.

How should I name my campaigns?

Use a consistent pattern: lowercase, underscores instead of spaces, and include time context. Example: "product_launch_q2_2026". Avoid generic names like "test" or "campaign1".

Can I use the same campaign name across multiple sources?

Yes, and you should. Using "spring_sale" as utm_campaign across Google, Facebook, and email lets you see total campaign performance in Google Analytics, while source and medium show the breakdown by channel.

How do I track A/B tests with UTM parameters?

Keep utm_source, utm_medium, and utm_campaign identical for both variants. Use utm_content to differentiate: "hero_image_v1" vs "hero_image_v2". This lets you compare variants within the same campaign in analytics.