UTM builder. Platform presets. QR code. Saved campaigns.
Tag campaign URLs with UTM parameters. Load a preset for Meta Ads, Google Ads, TikTok, LinkedIn, Email, or Klaviyo; the source and medium auto-fill. Auto-lowercase, invalid-char validation, QR code output, local saved campaigns. Browser-only.
URL + UTM parameters.
Your last 50 campaigns are stored only in your browser; nothing is sent to a server.
Untagged links are dark traffic.
UTM parameters are the five (optionally six) query-string tags that tell Google Analytics and most attribution tools where a click came from. Source names the referrer; medium names the channel type; campaign names the push; term and content disambiguate keyword targeting and creative variants; utm_id (GA4) ties everything to platform-level campaign IDs. Without UTMs, every click from an email, a Slack share, a QR code, or a TikTok bio link lands in the Direct bucket, which is where revenue goes to die unattributed.
Three operator rules for clean reporting. One, lowercase everything — Facebook and facebook become two rows in GA4 if mixed. The builder auto-lowercases by default. Two, replace spaces with underscores — URL-encoded spaces render as + or %20 inconsistently across analytics vendors and break filters. Three, never put personal data in a UTM — names, emails, phone numbers leak into analytics reports and violate most privacy frameworks.
Platform presets above reflect the conventions most teams adopt: facebook/paid_social, google/cpc, tiktok/paid_social, linkedin/paid_social, email/email, klaviyo/email, newsletter/email. Override campaign, term, and content per push. Save frequently-used campaigns with the save box; everything stays in localStorage on this device.
Tools in the same cluster: ROAS calculator for the per-channel return once the UTMs start reporting. Blended CAC calculator for the cost-per-acquisition view. Meta tag generator for the landing-page head block the UTM URL lands on.
Five answers.
What are the 5 standard UTM parameters?
utm_source names the referrer (facebook, google, tiktok, newsletter). utm_medium names the channel type (paid_social, cpc, email, organic). utm_campaign names the campaign (spring_sale_2026, product_launch_feb). utm_term is used for paid-search keyword targeting (shopify+agency). utm_content differentiates creative variants within a campaign (blue_hero, red_hero). Source and medium are required; campaign is strongly recommended; term and content are optional. A sixth parameter, utm_id, is used in GA4 to match campaign IDs across platforms.
Why are UTM values case-sensitive?
Google Analytics treats Facebook, facebook, and FaceBook as three separate sources, which splits the same traffic into three rows and breaks reporting. The UTM builder above has an auto-lowercase toggle enabled by default; leave it on. For campaign and content values that contain phrases, use underscores or hyphens instead of spaces, because URL-encoded spaces (+ or %20) render inconsistently across analytics tools.
What is utm_id and when should I use it?
utm_id is a sixth UTM parameter introduced for GA4. It carries the platform's campaign ID (Meta's campaign_id, Google Ads' campaign ID) so GA4 can join click-level data with platform-level cost data without relying on name matching. Most operators do not set this manually; it is typically injected by a UTM template inside the ad platform. If you are building a URL for a one-off campaign and you have the platform ID, include it; otherwise leave blank.
Should I shorten UTM-tagged URLs?
For channels with character limits yes. SMS truncates at 160 characters, WhatsApp previews break at 200, and some display-ad platforms clip at 255. The builder above flags URLs exceeding 160. Use a shortlink service (Bitly, Rebrandly, or your own domain shortener) for SMS, WhatsApp, and in-app placements; keep the raw UTM URL for email and paid social where length does not matter. The shortlink resolves to the full UTM URL and analytics parse correctly.
Does this tool save my data?
Your campaigns are saved to localStorage on your device only; nothing is transmitted to a server or synced. The saved-campaigns library sits in the browser and clears when you clear site data. The Copy URL button puts the tagged URL on your clipboard; the QR button generates a PNG client-side. No analytics beacon carries your URLs anywhere.
Direct traffic over 40%?
Most accounts we audit ship 30 to 60 percent of revenue as Direct because of missing or broken UTMs. Our paid-acquisition engagements build a campaign-taxonomy template and wire it into every ad platform, email tool, and QR code.