GA4 UTM Builder
This free tool builds campaign URLs with UTM parameters that feed directly into Google Analytics 4. Enter your destination URL, fill in your campaign source, medium, name, and optional term and content fields, and the builder generates a tagged URL ready to use in your ads, emails, social posts, and anywhere else you drive traffic. Track exactly where your visitors come from and which campaigns are pulling their weight.
Your Tagged URL
| Parameter | Value |
|---|
What Are UTM Parameters?
UTM parameters are tags appended to the end of a URL that tell your analytics platform where a visitor came from, how they got there, and which campaign brought them. UTM stands for Urchin Tracking Module, a holdover from Urchin, the web analytics software Google acquired in 2005 and rebuilt into Google Analytics.
A tagged URL looks something like this: yoursite.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. When someone clicks that link, Google Analytics reads those parameters and attributes the visit to the newsletter, categorizes it as email traffic, and associates it with your spring sale campaign. Without the tags, that same click would show up as direct traffic or get lumped into a generic referral bucket, and you'd have no idea which campaign deserved credit.
UTM parameters work across every analytics platform, not just Google Analytics. The convention has become a universal standard for campaign tracking. But GA4 specifically is built to interpret these parameters and surface them in its traffic acquisition, user acquisition, and campaign reports. The parameters feed GA4's attribution models and help you understand not just where traffic comes from but which touchpoints contribute to conversions across the entire customer journey.
What Are the Five UTM Parameters?
Each UTM parameter captures a different dimension of how the visitor arrived at your site. Three are required for meaningful tracking, and two are optional but useful in specific scenarios.
utm_source (required). Identifies where the traffic comes from. This is the platform, publisher, or property sending the visitor. Examples: "google," "facebook," "newsletter," "partner_blog," "linkedin." Think of it as the answer to "which website or platform did this person click from?"
utm_medium (required). Identifies the marketing channel or mechanism. This is the category of traffic. Examples: "cpc" for paid search, "email" for email campaigns, "social" for organic social media, "referral" for partner links, "display" for banner ads. GA4 uses this parameter to group traffic into its default channel groupings, so using consistent medium values matters.
utm_campaign (required). Identifies the specific campaign, promotion, or initiative. This is the name you give the effort that generated the link. Examples: "spring_sale," "product_launch_2026," "weekly_newsletter_0408," "black_friday." This parameter ties the visit to a specific marketing activity so you can evaluate campaign performance.
utm_term (optional). Originally designed for paid search to capture the keyword that triggered the ad. In the Google Ads and GA4 integration, keyword data flows automatically, so utm_term is less necessary for Google Ads. It's still useful for tracking keywords in other paid search platforms like Bing Ads, or for capturing any additional targeting detail you want to analyze.
utm_content (optional). Differentiates between multiple links within the same campaign. If your email has three different CTAs pointing to the same landing page, utm_content lets you see which button drove the click. Examples: "hero_banner," "sidebar_link," "footer_cta," "blue_button_variant." This is also commonly used for A/B testing different ad creatives within a single campaign.
How Are UTM Parameters Different in GA4 vs Universal Analytics?
If you've used UTM parameters with Universal Analytics (the previous version of Google Analytics), the parameters themselves haven't changed. The same five tags work the same way in your URLs. What's different is how GA4 processes and reports on them.
Session vs event-based attribution. Universal Analytics attributed all activity in a session to the traffic source that started it. GA4 tracks attribution at the event level, meaning different conversions within the same session can be attributed to different sources depending on the attribution model you choose. Your UTM parameters feed into this more granular attribution system.
Default channel groupings. GA4 has its own set of default channel groupings that interpret your utm_medium and utm_source values. If you use "cpc" as your medium, GA4 categorizes the traffic as "Paid Search." If you use "email," it falls under "Email." Using non-standard values like "e-mail" or "Email" (capitalized) can cause traffic to land in the "Unassigned" channel, which defeats the purpose of tagging. The builder uses GA4-compatible values by default.
Data-driven attribution. GA4's default attribution model is data-driven, meaning it uses machine learning to distribute conversion credit across touchpoints. Your UTM parameters define those touchpoints. Consistent, accurate tagging is more important in GA4 than it was in Universal Analytics because the attribution model is more sophisticated and more dependent on clean input data.
What Naming Conventions Should I Follow?
UTM naming conventions are the single most important factor in getting useful data out of your campaign tracking. Without consistent conventions, your GA4 reports become a mess of duplicate entries, miscategorized traffic, and channels you can't compare meaningfully.
Use lowercase for everything. UTM parameters are case-sensitive. "Email," "email," and "EMAIL" create three separate entries in GA4. Standardize on lowercase across your entire organization and enforce it in your URL builder. This tool outputs lowercase values by default for exactly this reason.
Use underscores or hyphens, not spaces. Spaces in URLs get encoded as "%20," which makes your URLs ugly and your reports harder to read. Use underscores or hyphens to separate words: "spring_sale" or "spring-sale," not "spring sale."
Align medium values with GA4's default channels. GA4 maps medium values to channel groupings automatically, but only if you use the expected values. Stick with: "cpc" for paid search, "cpm" for paid display, "email" for email, "social" for organic social, "referral" for partner referrals, "affiliate" for affiliate links. Using "paid" instead of "cpc" or "newsletter" instead of "email" will route traffic to the wrong channel or to "Unassigned."
Make campaign names descriptive and dated. "Campaign1" tells you nothing six months later. "product_launch_widget_pro_q2_2026" tells you exactly what it was. Include the initiative name, the product or offer if applicable, and a date or quarter reference.
Why Can't I Just Look at the Referrer?
Browsers send a referrer header with most link clicks, which tells the destination site where the visitor came from. Google Analytics uses this referrer data for its organic search, referral, and direct traffic classifications. So why bother with UTM parameters if referrer data already exists?
Referrer data is unreliable. HTTPS to HTTP transitions strip the referrer. Some browsers and privacy extensions block or truncate referrer headers. Facebook, LinkedIn, and many apps use in-app browsers that sometimes mask or alter referrer information. Email clients don't send referrer data at all because emails aren't web pages. Dark social, links shared through messaging apps and private channels, carries no referrer. Without UTM parameters, all of this traffic shows up as "direct" in your analytics, which tells you nothing.
Referrer can't distinguish campaigns. Even when the referrer works correctly, it only tells you the domain. A referrer of "facebook.com" doesn't tell you whether the visit came from an organic post, a paid ad, an influencer partnership, or a link in a Facebook group. UTM parameters let you distinguish between all of these with source, medium, campaign, and content tags.
Cross-platform tracking. Referrer data breaks down when users move between platforms, apps, and devices. UTM parameters travel with the URL itself, so they work everywhere the link works: in emails, PDFs, QR codes, text messages, print materials, podcast show notes, and anywhere else you can place a clickable or typeable URL.
How Do I Use Tagged URLs in Different Channels?
Each marketing channel has its own considerations for how and where tagged URLs get deployed.
Email campaigns. Every link in every marketing email should be tagged. This includes the primary CTA, secondary links, header logos, footer links, and any image links. Use the same source, medium, and campaign for all links in an email, but vary utm_content to distinguish between link placements.
Paid social ads. Facebook, LinkedIn, Twitter, and other ad platforms let you set the destination URL for each ad. Use that URL field for your tagged link. Set source to the platform name, medium to "cpc" or "paid_social" depending on your convention, campaign to the campaign name, and content to the specific ad creative or variation.
Organic social posts. Tag links in your organic social posts so you can measure their traffic separately from paid. Use the platform as the source, "social" as the medium, and the campaign name or content theme as the campaign. URL shorteners like Bitly can wrap long tagged URLs for cleaner presentation in posts.
QR codes and offline materials. Links on print ads, brochures, business cards, conference banners, and packaging should use tagged URLs shortened through a URL shortener or redirected through a vanity URL. Set medium to "qr," "print," or "offline" to create a clear channel grouping for non-digital traffic sources.
SMS and messaging. Links in text messages and messaging apps should be tagged because these channels send minimal or no referrer data. Without UTM parameters, SMS traffic appears as direct. Tag with source as the messaging platform and medium as "sms" or "messaging."
Should I Tag Internal Links?
No. This is one of the most common UTM mistakes, and it has real consequences in GA4.
UTM parameters are designed for external traffic coming into your site. When a visitor clicks from Google, an email, or a social post to your site, UTM parameters tell GA4 how to attribute that session. The system works because UTM parameters override existing session attribution when present.
That override behavior is exactly why internal links should never carry UTM tags. If a user arrives from a paid search ad (correctly attributed to google/cpc) and then clicks an internal link tagged with utm_source=blog&utm_medium=internal, GA4 starts a new session attributed to "blog/internal." The original paid search attribution is overwritten. Your paid search reports show fewer conversions than actually occurred, and your internal tagging creates phantom traffic sources that don't represent real acquisition.
For tracking internal navigation, clicks between sections, and on-site promotions, use GA4's event tracking instead. Custom events, content groups, and internal promotion tracking are all designed for understanding on-site behavior without disrupting acquisition attribution.
Common UTM Mistakes to Avoid
Tagging Google Ads links manually when auto-tagging is enabled. If you have Google Ads linked to GA4 with auto-tagging turned on, Google automatically passes campaign data through the gclid parameter. Adding manual UTM parameters on top of auto-tagging can create conflicts where GA4 receives two competing sets of attribution data. Use auto-tagging for Google Ads and reserve manual UTM tags for every other channel.
Using UTM parameters on links to other people's sites. UTM parameters are read by the destination site's analytics, not yours. Tagging an outbound link to a partner's site tags their analytics, not yours. Only tag URLs that point back to your own domain or domains where you control the analytics.
Including personally identifiable information. Never put email addresses, names, user IDs, or other PII in UTM parameters. These values show up in your analytics reports and are visible in the URL. Beyond the privacy concern, passing PII through URLs can violate your analytics platform's terms of service and potentially data protection regulations like GDPR and CCPA.
Not testing tagged URLs before deploying. Always click your tagged URL and verify three things: the page loads correctly, the UTM parameters appear in GA4's real-time report, and the values show up under the correct dimensions. A broken tagged URL in a campaign that reaches 50,000 people is 50,000 untracked visits.
Forgetting to tag all links in a campaign. If your email has five links and you only tag the primary CTA, traffic from the other four links shows up as direct or gets attributed incorrectly. Tag every outbound link in every campaign asset. The builder makes this easy by letting you generate multiple URLs with the same source, medium, and campaign but different content values.
Related Tools
Let's Grow Your Business
Want some free consulting? Let’s hop on a call and talk about what we can do to help.