Free UTM Builder & UTM Link Generator for GA4

Create UTM tracking codes for Google Analytics in seconds: add your URL, source, medium and campaign, then copy a clean tagged link for ads, email, social or QR codes.

Paste your destination URL
⚠️ Please enter a valid URL (e.g. https://domain.com/path)
Quick fill:
Channel Presets
utm_source
Enter a source to build this campaign link.
utm_medium
Medium is required (e.g. cpc, email, social).
utm_campaign
utm_term (optional)
utm_content (optional)
utm_id (GA4 campaign identifier)
Dynamic & Custom Query Parameters
UTM Parameter Formatting Standardizes source, medium, campaign, term, content, and campaign ID

Converts UTM values to lowercase for consistent naming. GA4 default channel definitions are not case-sensitive.

Preview: summer-sale-2025
Destination URL Normalization Controls destination web link protocol and query string deduplication

Prepends secure HTTPS protocol if missing from the destination URL.

Removes conflicting utm_* parameters already present in pasted target links.

Apply Settings to Input Fields Apply your active formatting rules directly into the form fields above
LIVE PREVIEW

Generated Campaign URL

Real-time normalized URL with syntax highlighting & validation.

Ready
Your tracked URL will appear here in real-time...
GA4 Compatibility 100 / 100
Want to verify in GA4? How to check in GA4 →

Mobile QR Code

Preview (Blurred)

High-resolution SVG and PNG for print & outdoor media.

Instant high-res SVG & PNG
Save or share
URL tools process campaign fields in your browser No login required Built for GA4 workflows
WHY IT MATTERS

From messy links to clean GA4 reports

Before example.com/sale?utm_source=Facebook&utm_medium=Paid Social&utm_campaign=Summer Sale

Mixed case and spaces split one campaign into several GA4 rows, and “Paid Social” may not match a default channel.

After UTMCraft https://example.com/sale?utm_source=facebook&utm_medium=paid_social&utm_campaign=summer-sale

Lowercase values, consistent delimiters and a medium GA4 recognises, so every click lands in one Paid Social row.

How to build a UTM link

Create a UTM tracking code in four steps

UTMCraft works as a UTM code builder, UTM tag generator and campaign URL creator in one form. Every value is normalized as you type, duplicate UTM tags are removed, and the finished link is ready for GA4.

  1. Paste your landing page URL. Existing query strings and #anchors are kept.
  2. Pick a channel preset or type your own utm_source and utm_medium (for example google / cpc or newsletter / email).
  3. Name the campaign with utm_campaign, and add utm_content or utm_term if you test creatives or keywords.
  4. Copy the generated URL, download the QR code, or open the link to test it before launch.

Need many links at once? Use the bulk UTM generator. Checking a link someone else built? Paste it into the UTM checker. Building for a specific ad platform? Use the Google Ads UTM builder or the Facebook UTM builder.

  • Use lowercase names to prevent split analytics rows.
  • Keep source, medium, and campaign on every marketing link.
KNOWLEDGE BASE

Frequently Asked Questions & UTM Tracking Guide

Everything you need to know about URL tracking, GA4 default channel groupings, campaign attribution, and best practices.

What are UTM parameters and why are they critical?

UTM (Urchin Tracking Module) parameters are query tags appended to destination URLs to pass campaign attribution data into analytics platforms. GA4 supports 9 manual campaign parameters: six commonly used/core parameters plus three additional GA4 parameters. Some newer parameters currently have reporting limitations.

The six common/core parameters are:

  • utm_source: The traffic source, platform, or referrer (e.g. google, newsletter).
  • utm_medium: The marketing channel or mechanism (e.g. cpc, email, paid_social).
  • utm_campaign: The campaign name, theme, or promotion.
  • utm_id: Campaign identifier, separately documented and recommended by Google for cost data import and cross-channel tracking.
  • utm_term: Search keywords or audience targeting criteria.
  • utm_content: Creative variant, ad copy, or CTA differentiator for A/B testing.

The three additional GA4 parameters are utm_source_platform (the platform directing traffic, e.g. Search Ads 360 or Google Ads), utm_creative_format (creative asset type, such as video or display), and utm_marketing_tactic (targeting tactic, such as prospecting or retargeting). Google notes that utm_creative_format and utm_marketing_tactic are not currently reported in GA4 properties.

What is a UTM builder (or UTM generator)?

A UTM builder is a tool that adds UTM parameters to a URL for you, so you don't have to type the query string by hand. UTM generator, UTM tag generator, UTM code builder, UTM link creator and campaign URL builder all describe the same job: you enter a landing page plus utm_source, utm_medium and utm_campaign, and the tool returns one tagged link that Google Analytics can read.

How do I create a UTM tracking code?

Paste your landing page into the builder above, choose a source (where the click comes from, such as facebook), a medium (the channel type, such as paid_social) and a campaign name (such as spring-sale). The builder joins them into a link like https://example.com/?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring-sale. Use that full link in your ad, email or post, then test the UTM link before launch.

Which UTM parameters are strictly required by GA4?

For Google Analytics 4 to correctly classify incoming sessions into standard Default Channel Groups, utm_source and utm_medium are required. While utm_campaign is optional in theory, it is essential in practice to measure return on ad spend (ROAS) and specific campaign initiatives.

What is the difference between utm_source and utm_medium?

A useful convention is to use Source for the platform or vendor sending the traffic (e.g. google, facebook, newsletter, linkedin) and Medium for the marketing method (e.g. cpc, paid_social, email, referral, social). Reversing these values can make campaign reports harder to interpret and may affect channel classification.

Why does my campaign traffic show up as (Unassigned) in GA4?

GA4 uses (Unassigned) when available traffic-source information does not meet an applicable Default Channel Group definition. Review the source, medium, campaign, and platform values collected for the session. Google's default channel definitions are not case-sensitive.

  • Inventing unsupported mediums (e.g. utm_medium=promoted_post instead of paid_social).
  • Inverting source and medium (e.g. utm_source=email&utm_medium=klaviyo).
Should UTM values use lowercase?

Lowercase is a useful naming convention for consistency. Differently capitalized manual source or campaign values can appear as separate values in reports, while GA4 default channel definitions are not case-sensitive. UTMCraft can convert values to lowercase when that option is enabled.

Should I use hyphens or underscores instead of spaces?

Never use spaces in URLs. Web browsers encode spaces into unsightly %20 or + characters. We recommend choosing either hyphens (e.g. paid-social) or underscores (e.g. paid_social) and documenting that choice across your marketing organization.

Why should you NEVER use UTM tracking on internal website links?

Don't use UTMs on internal links. In GA4, they don't start a new session, but they can affect event-level campaign attribution and create misleading campaign data. Use internal-promotion events instead.

How do I view and check UTM campaign traffic in Google Analytics 4 (GA4)?

You can verify and check your UTM campaign data in Google Analytics 4 through three main paths:

  1. Realtime Test (Instant Verification): Navigate to Reports → Realtime and check the "Users by First user source / medium" card within 10 to 30 seconds of clicking your link.
  2. Traffic Acquisition (Standard Reporting): Go to Reports → Acquisition → Traffic acquisition. Change the primary dimension from Default channel group to Session source / medium or Session campaign. Click the "+" icon to add a secondary dimension like Session manual ad content (utm_content).
  3. Custom Explorations: Go to Explore → Free-form, add dimensions for Session source / medium and Session campaign, and add metrics like Sessions, Key events (Conversions), and Total revenue for full multi-touch attribution analysis.
How do dynamic ad macros like {keyword} work in UTMs?

Ad networks like Google Ads, Microsoft Advertising, and Meta Ads support template macros (e.g. {keyword}, {matchtype}, {{campaign.name}}, {{ad.id}}). When an ad is served, the ad server automatically replaces these tokens with real values. UTMCraft safely preserves dynamic macro tokens during parameter construction.

Does shortening a URL break UTM tracking or GA4 data?

A shortener redirects the browser to a destination URL. Whether campaign parameters survive depends on the redirect configuration and each hop in the chain. Test the final destination URL and confirm that the analytics tag receives the expected parameters; a redirect alone cannot guarantee attribution.

How do UTM tags work with offline QR codes?

For print flyers, brochures, trade show booths, or physical packaging, a QR code can contain a URL with campaign parameters such as utm_source, utm_medium, and utm_campaign. After scanning, test the destination and analytics implementation to confirm the parameters reach GA4; this supports offline campaign reporting but does not guarantee a particular attribution result.

Can I generate UTM links in bulk for multiple marketing channels?

Yes. With our Bulk Generator Matrix, you can provide several landing page URLs, pick target channels (Google Search, Meta Ads, LinkedIn, Email, Twitter/X), specify a unified campaign name, and produce hundreds of formatted URLs in seconds. You can copy the matrix or export it to CSV/TSV for Google Sheets and Excel.

What is the character limit for a URL with UTM tracking parameters?

While modern HTTP servers support URLs up to 8,192 characters, standard browsers and older web crawlers work best with URLs under 2,048 characters. UTMCraft displays a live character counter and warns you if your concatenated URL approaches the safe limit.

Is my marketing data private and confidential on UTMCraft?

URL creation runs in your browser, and campaign history and custom presets are stored in browser local storage. The site also uses Google Analytics to measure visits, which may receive information in the page URL; optional shortening sends the destination URL to an external provider. See our Privacy Policy for details.

How do I create a scalable UTM naming convention for my marketing team?

Adopt a predictable, machine-readable delimiter structure such as: [offering]_[funnel_stage]_[geography]_[year_quarter] (e.g. saas_leadgen_us_2026q1). Use our interactive Standardized Campaign Name Builder in Tab 4 to generate consistent formulas across your organization.

Ready https://...