UTM Link Builder
Build UTM-tagged tracking URLs for Google Analytics, GA4, and ad platforms. Single-URL mode for quick tagging, bulk CSV mode for campaign launches, platform presets for Google Ads, Meta, LinkedIn, and newsletter. Save templates locally, copy and export, no signup required.
How to Use This Tool
- Paste your base URL into the Base URL field. This is the destination page a visitor will land on. It must start with
http://orhttps://. If the URL already contains UTM parameters, the tool warns you so you do not create conflicting tags. - Pick a preset to auto-fill utm_source, utm_medium, and utm_campaign for common platforms (Email, Google Ads, Facebook, Instagram, LinkedIn, Twitter, YouTube, Organic Social). Or type values directly. A consistent naming convention (lowercase, hyphens, no spaces) is applied automatically.
- Fill the required fields — utm_source (where the click came from), utm_medium (channel category), utm_campaign (the campaign name). Optionally add utm_term (paid-search keyword), utm_content (creative variant), and utm_id (GA4 campaign ID).
- Copy the full URL from the live output and paste it into your ad, email subject or body, social post, or tracking system. The character counter warns you if the URL approaches 2,048 characters, the safe browser limit. Use Copy Display for a shortened preview you can share in a slide or report.
- Switch to Bulk mode for campaign launches. Paste CSV rows (one per ad/creative), click Generate All, and the tool builds every tagged URL at once. Export as CSV to share with your team or import into your ad platform. Duplicate source+medium+campaign combos are flagged.
- Save your campaign as a template so your team reuses consistent taxonomies across launches. Templates are stored locally in your browser and never leave your device — this tool is 100% client-side, no data is uploaded.
About UTM Parameters & Campaign Tracking
UTM parameters are the single most important tool in a digital marketer's attribution kit. Originally designed for the Urchin Tracking Module (the software Google acquired in 2005 and turned into Google Analytics), UTMs are five standard query-string tags that you append to any URL so that analytics platforms can attribute incoming traffic to the exact campaign, channel, creative, and keyword that produced the click. Without UTMs, GA4 lumps most paid and email traffic into 'direct' or 'unassigned', making it impossible to prove that last month's $50,000 Facebook spend actually generated any leads. With UTMs, every click is tagged with the exact campaign name, so you can slice revenue by source, medium, and campaign in seconds.
The five core UTM parameters are utm_source (the specific platform or referrer: google, facebook, newsletter), utm_medium (the channel category: cpc, email, social, paid-social, referral, display), utm_campaign (the campaign name: spring-sale-2026, black-friday-2026), utm_term (the paid-search keyword: running+shoes), and utm_content (the creative variant: headline-a, carousel-slot-3). GA4 added a sixth parameter in 2020, utm_id, which links a click to a campaign manifest in the Google Analytics Admin UI and auto-fills the other UTMs from the manifest. Our tool supports all six.
Campaign taxonomy is where every marketing team eventually gets burned. One marketer writes Facebook, another writes facebook, and a third writes FB-Ads. GA4 treats these as three separate sources, splitting your Facebook Paid Social report into three confusing rows. The fix is a written UTM taxonomy document that the whole team references before launching anything. Lowercase everything. Use hyphens instead of spaces or underscores. Keep a controlled vocabulary of allowed source and medium values. For utm_campaign, adopt a pattern like {season}-{offer}-{year} so campaigns are self-documenting and chronologically sortable. Our tool's Save as Template feature lets you bake the taxonomy into reusable templates, so your team cannot fat-finger a campaign name halfway through launch week.
GA4 and Universal Analytics handle UTMs slightly differently. In Universal Analytics, UTMs were the primary attribution mechanism, and the default channel grouping mapped utm_medium values to categories (Paid Search, Email, Social, Referral, etc.). GA4 expands this model with auto-tagging for Google Ads (the gclid parameter, which carries richer Google Ads metadata than any UTM can), and for Meta (fbclid). Best practice in GA4 is to enable auto-tagging for the ad platforms that support it, and layer UTMs on top for platforms that do not. GA4 also uses utm_id to link clicks to the Campaigns UI for spend-attribution, which is a powerful way to join ad-platform cost data to conversion data without exporting to BigQuery.
Naming conventions matter more than you think. Stick to a strict pattern and document it. A common pattern for utm_campaign is {year}-{quarter}-{campaign-name} or {season}-{offer}-{year}: 2026-q2-product-launch, black-friday-2026, spring-sale-2026. For utm_content, identify the specific creative: carousel-slot-1, headline-emotional, cta-top-fold. This pays off when you want to compare creative performance across a campaign. For utm_term, paid-search teams use the matched keyword, but you can also use it to tag placement details in display campaigns if your ad platform does not already pass them.
Attribution is ultimately about being able to answer the question: for every dollar I spent last month, which campaigns, channels, and creatives produced revenue? UTMs are the mechanism that lets you answer it in GA4 without custom engineering. Combine UTM-tagged URLs with GA4 conversion events, import into BigQuery if you have the volume, and you have a complete closed-loop attribution setup. For agencies and in-house marketing teams, our Performance Marketing practice routinely sets up this infrastructure: UTM taxonomy documents, GA4 event schemas, conversion goals, attribution models, and Looker Studio dashboards that join UTM-tagged traffic to ad-platform spend. Combine this UTM builder with our URL Encoder for tricky URL values, our Redirect Chain Checker to confirm your UTM-tagged URLs are not losing parameters through redirects, and our Schema Generator to mark up the landing pages.
Frequently Asked Questions
What are UTM parameters?
UTM parameters are five standard query-string tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content) that you append to URLs so that Google Analytics, GA4, Adobe Analytics, and ad platforms can attribute incoming traffic to the exact campaign, channel, and creative that brought the visitor. A URL like https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=spring-sale tells GA4 that this visitor came from a Google paid-search campaign named 'spring-sale'. Without UTMs, GA4 bundles most paid traffic into 'direct' or 'unassigned', making it impossible to measure ROI per channel. GA4 added a sixth parameter, utm_id, for linking to a campaign manifest in the Campaigns UI.
What is the difference between utm_source and utm_medium?
utm_source identifies the specific platform or referrer where the click originated (google, facebook, newsletter, linkedin, tiktok), while utm_medium identifies the marketing channel category (cpc for paid search, email, social, paid-social, organic, referral, display). A Google Ads click is utm_source=google and utm_medium=cpc; an organic Instagram post is utm_source=instagram and utm_medium=social; a Facebook retargeting ad is utm_source=facebook and utm_medium=paid-social. Always keep source and medium distinct — never put 'google' in both. GA4's default channel grouping relies on utm_medium to bucket traffic correctly: 'cpc' maps to Paid Search, 'email' maps to Email, 'social' maps to Organic Social, 'paid-social' maps to Paid Social.
How should I name my UTM campaigns?
Adopt a consistent taxonomy and document it in a UTM spreadsheet or Google Sheet that every marketer must reference before launching. A common pattern is {season}-{offer}-{year}, for example spring-sale-2026, black-friday-2026, q2-lead-gen-2026. Stick to lowercase, use hyphens instead of spaces or underscores, and avoid special characters. Create a shared glossary so 'facebook-ads' is never spelled 'fbads' or 'FB-Ads' in different campaigns — GA4 treats them as separate sources and your report will be a mess. Our tool's template system lets you save frequently used taxonomies so your team cannot fat-finger a campaign name mid-launch.
utm_term vs utm_content — when do I use each?
utm_term was originally designed for paid-search keywords: in a Google Ads campaign, utm_term=running+shoes records the keyword that matched the searcher's query. utm_content is for differentiating creative variants within the same campaign — banner-a vs banner-b, headline-1 vs headline-2, carousel-slot-3, email-cta-top vs email-cta-bottom. In practice, teams use utm_term to A/B test copy or as a free-form annotation, and utm_content to track which ad creative or link position drove the click. Both are optional; most attribution questions can be answered with source, medium, and campaign alone.
What are UTM best practices?
(1) Lowercase everything — GA4 is case-sensitive, so 'Google' and 'google' become two separate sources. (2) Use hyphens, not spaces or underscores, for readability. (3) Tag only external links — never UTM an internal site link, it will clobber the original campaign attribution for that session. (4) Keep a master UTM taxonomy sheet and require the whole team to use it. (5) Avoid generic values like 'general' or 'social' in utm_campaign — be specific. (6) Use utm_id in GA4 to cross-reference ad manager IDs. (7) For ad platforms with auto-tagging (Google Ads GCLID, Meta FBCLID), turn on auto-tagging and add UTMs on top — GA4 uses both. (8) Shorten UTM URLs with a link shortener if they exceed 2,048 characters or look ugly in emails.
Are UTM parameters case-sensitive?
Yes. Google Analytics, GA4, and most other analytics platforms treat UTM values as literal strings, so utm_source=Google and utm_source=google appear as two separate sources in your reports. This is the single most common UTM mistake — one marketer writes Facebook, another writes facebook, and your Paid Social report shows half the clicks under 'Facebook' and half under 'facebook'. Our tool has a 'Lowercase all values' option enabled by default to eliminate this issue, and we strongly recommend leaving it on for every campaign. If you inherit mixed-case UTMs in existing reports, you can use GA4 filters or BigQuery exports to normalize them retroactively.
How do UTM parameters work with GA4 and utm_id?
GA4 supports all five classic UTM parameters plus a new one — utm_id — which maps the click to a campaign entry in the Google Analytics Admin › Data Display › Campaigns UI. When utm_id is present and matches a configured campaign, GA4 auto-fills utm_source, utm_medium, and other fields from the campaign manifest, so you can UTM-tag a URL with just utm_id=abc.123 and GA4 fills in the rest. This is especially useful for syncing ad manager IDs (Google Ads campaign ID, Meta ad set ID) into GA4 so you can join them to spend data. If utm_id does not match a configured campaign, GA4 still uses whatever source/medium/campaign values you pass. Our tool includes a utm_id field for GA4 users.
What are the most common UTM mistakes?
The most common UTM mistakes we see on client audits are (1) mixed case: Google vs google splits attribution across two sources; (2) spaces in values: utm_campaign=spring sale becomes utm_campaign=spring%20sale and some reports show the URL-encoded form; (3) tagging internal links: clicking an internal UTM-tagged link restarts the session and erases the original campaign; (4) inconsistent taxonomy: fb, facebook, Facebook, FB-ads all used for the same source; (5) missing utm_medium: GA4 cannot bucket the traffic into a default channel, it falls into 'unassigned'; (6) using utm_source as a landing-page identifier instead of the referrer; (7) overly long URLs that get truncated in SMS or email clients; (8) forgetting to UTM email newsletters, so all email traffic shows as 'direct'. Our tool's validation panel catches most of these as you type.