UTM Campaign URL Builder

Generate consistent, accurate campaign tracking URLs. Standardized taxonomy keeps your analytics clean across every platform and team member.

Optional — saved with history for easy filtering
1

Landing Page URL

Existing URL parameters detected — they will be preserved.
Please enter a valid URL starting with http:// or https://
This is the page your ad or link sends users to. Any existing query parameters (like ?ref=partner) will be preserved — UTM parameters are appended after them. Always use the final, production URL.
2

utm_source Required

⚠ Custom sources affect reporting consistency. Only add a new source if none of the standard options apply. Use lowercase, hyphens only.
Preview
utm_source identifies the platform sending the traffic. Use the platform name, not the campaign type. For example, use google — not "google-ads." The medium parameter handles the channel type.

Standard values: google, meta, facebook, instagram, linkedin, tiktok, bing, pinterest, youtube, twitter, reddit, quora, snapchat, email, newsletter
3

utm_medium Required

⚠ Custom mediums affect GA4 channel grouping. Google recognizes specific medium values for Default Channel Groups. Only add a custom medium if you understand the downstream impact.
Preview
utm_medium describes the marketing channel. GA4 uses this to assign traffic to Default Channel Groups.

GA4 mapping: paid-search → Paid Search · paid-social → Paid Social · paid-display → Display · paid-video → Paid Video · paid-shopping → Paid Shopping · email → Email · affiliate → Affiliates · referral → Referral

Tip: Source = "who" · Medium = "how"
4

utm_campaign Required

Select a source to auto-populate the platform macro
utm_campaign Preview
utm_campaign names the specific campaign. This builder creates a structured name:

1. Funnel Stage — Prospecting (new audiences) or Retargeting (known users)
2. Objective — Primary campaign goal (aligns with ad platform objectives)
3. Name — Short, descriptive label (e.g., "spring-sale")
4. Launch Date — YYYY-MM-DD for chronological sorting
5. Campaign ID — Auto-appended platform macro for cross-referencing

Example: prospecting_lead-gen_spring-webinar_2025-03-15_{campaignid}
5

utm_content Optional

utm_content Preview
utm_content differentiates ad creatives within the same campaign — essential for A/B testing and tracking creative fatigue.

Components: Ad Type (format) + Description (short label) + Creative Date (launch date)
Example: carousel_summer-lookbook_2025-03-01
6

utm_term Optional

Select a medium first — the utm_term fields adapt based on whether this is a search or social/display campaign.
utm_term Preview
utm_term captures targeting details. It adapts based on channel:

Paid Search: Keyword type (brand, non-brand, competitor) + dynamic keyword macro. Google uses {keyword}, Bing uses {keyword:default}.
Social / Display / Video: Audience type + description to compare targeting strategies.

Examples: non-brand_{keyword} · lookalike_purchase-180d-high-value
Generated URLs
Full URL
Fill in the fields above to generate your URL
Google Ads Tracking Template
UTM Parameters Only

Recently Generated 0

No UTMs generated yet. Build your first URL above.

UTM Reference Guide

utm_source

Identifies the platform sending the traffic (e.g., google, meta, linkedin)

Why it matters: Source tells you which platform drove the visit. Keep it consistent — "google" not "Google" or "google.com." In GA4, source + medium together determine your Default Channel Grouping.

Taxonomy rules: Always lowercase. Use the platform's common short name. Never include ".com" or "ads."

utm_medium

Describes the marketing channel type (e.g., paid-search, paid-social, email)

Why it matters: GA4 uses medium to auto-classify traffic into Default Channel Groups. Non-standard mediums fall into "Unassigned."

GA4 mapping: paid-search / cpc → Paid Search · paid-social → Paid Social · display / paid-display → Display · paid-video → Paid Video · paid-shopping → Paid Shopping · email → Email · affiliate → Affiliates

utm_campaign

Identifies the specific campaign with structured naming

Structure: [funnel]_[objective]_[name]_[date]_[platform-id]

Platform campaign ID macros:
Google Ads: {campaignid} · Meta: {{campaign.id}} · LinkedIn: {campaign_group_id} · TikTok: {campaign_id} · Bing: {CampaignId} · Pinterest: {campaign_id} · Twitter/X: {campaign_id} · Snapchat: {campaign_id}

utm_content

Differentiates ad creatives or link variations within a campaign

Why it matters: When running multiple creatives, utm_content lets you see which drives the best results. Essential for A/B testing and creative fatigue tracking.

Best practices: Include ad format, short description, and creation date.

utm_term

Captures keyword or audience targeting details

Search: Keyword type + dynamic insertion macro. Google's {keyword} and Bing's {keyword:default} auto-replace with the actual search query at click time.

Social/Display: Audience type + description helps compare targeting strategies.

Why Consistency Matters

The #1 reason UTM data becomes unreliable

The problem: UTM parameters are case-sensitive and freeform. "Google" and "google" create two separate sources. "cpc" and "paid-search" split the same traffic.

This tool solves it by: Enforcing lowercase, hyphenated values · Pre-approved dropdown values matching GA4 definitions · Warnings on custom values · Structured naming from components rather than free text

Rule of thumb: If someone needs a new source or medium value, it should be a team decision — not a solo choice.