UTM URL Generator
{{ summaryPrimary }}
{{ summaryLine }}
{{ badge.text }}
UTM URL generator inputs
Enter the landing page, such as https://example.com/launch?ref=partner.
Use one consistent source value per platform or sender.
Pick the channel label your analytics reports should group under.
Keep this stable across creative variants for the same campaign.
Optional. Use a stable ad platform or internal campaign identifier.
Optional. Use values such as mailchimp, meta_ads, google_ads, or sfmc when relevant.
Optional. Use for paid keyword, audience, or targeting labels.
Optional. Use this to split links inside the same campaign.
Replace is safest when refreshing a link; keep existing fills only missing UTM fields.
{{ helperHint }}
Use preserve for exact handoff or a lower-case mode for cleaner reporting rows.
Off omits blank optional parameters so the campaign URL stays clean.
{{ include_empty_optional ? 'On' : 'Off' }}
{{ campaignUrl }}
UTM parameter ledger
Parameter Value Role Status Copy
{{ row.key }} {{ row.displayValue }} {{ row.role }} {{ row.status }}
GA4 hygiene audit
Check Status Detail Copy
{{ row.check }} {{ row.status }} {{ row.detail }}

          
Customize
Advanced
:

Introduction:

UTM parameters are short query-string labels added to a landing URL so analytics reports can separate one campaign click from another. Source identifies the sender or platform, medium names the channel, and campaign names the marketing effort. Those three labels are the practical minimum for clean campaign attribution in Google Analytics 4 (GA4).

The value of a tagged URL depends on consistency. utm_medium=email, utm_medium=Email, and utm_medium=newsletter can create separate reporting rows even when they describe the same channel. A destination URL can also already contain query parameters, so the safest campaign link keeps useful non-UTM values while replacing stale tracking values deliberately.

Landing URL and campaign labels becoming a tagged URL that analytics reports can group.

UTM links work best when they answer a narrow reporting question. One campaign name should group the promotion, one source should identify where the click came from, and one medium should describe the channel type. Extra fields such as campaign ID, source platform, term, and content are useful when the team needs to join cost data, compare platforms, or separate two links inside the same message.

A tagged link does not prove that a campaign report will be perfect. Ad platform redirects, auto-tagging, browser privacy features, redirects, and inconsistent naming can still affect attribution. The link is the clean starting point; live reporting still needs a review after clicks begin.

Technical Details:

A campaign URL is an ordinary HTTP or HTTPS URL plus query parameters. The parameter keys carry the campaign meaning, while the values are URL-encoded so spaces, punctuation, and symbols can travel safely inside the address. Existing non-UTM query values, such as ref=partner, can remain part of the destination while campaign parameters are added or refreshed.

GA4 reporting treats UTM values as text labels. Case, spelling, separators, and whitespace matter because analytics rows are grouped by the exact submitted value. Lowercase, compact naming makes repeated reports easier to compare, especially when several people create links for the same campaign.

Rule Core:

UTM parameter roles and review meaning
Parameter Role Meaning Review Cue
utm_source Required Sender, publisher, platform, list, or referring source. Use one stable source value for each sender or platform.
utm_medium Required Marketing channel such as email, cpc, paid_social, display, or referral. Choose a value that should group into the intended GA4 channel.
utm_campaign Required Campaign, promotion, launch, or initiative name. Keep the same campaign value across creative variants in the same effort.
utm_id Recommended Stable campaign identifier for joining upload or cost data. Add it when reporting needs a platform or internal campaign ID.
utm_source_platform Recommended Buying, sending, or traffic-management platform. Useful when source and platform are not the same label.
utm_term Optional Paid keyword, audience, or targeting label. Leave blank unless keyword or audience reporting is part of the campaign.
utm_content Optional Creative, placement, button, or message variant. Use it to separate links inside the same campaign and channel.

The generator accepts a destination that can be parsed as HTTP or HTTPS. When a protocol is missing, HTTPS is assumed for parsing. Invalid schemes are rejected, and the required source, medium, and campaign fields must have values before a campaign URL can be produced.

Transformation Core:

Campaign URL transformation rules
Choice Behavior Practical Effect
Replace standard UTM values Deletes the supported UTM keys, then writes the current values. Best for refreshing an old tagged link without disturbing other query parameters.
Keep existing values, fill missing Leaves existing supported UTM keys and adds only absent keys. Useful when a source system already owns part of the tracking scheme.
Strip all existing utm_* first Removes every query key whose name begins with utm_, then writes the supported fields. Best when a pasted destination contains unknown or stale campaign labels.
Value formatting Preserve text, lowercase words, lowercase_snake_case, or lowercase-kebab-case. Controls naming consistency before URL encoding.
Empty optional fields Can include blank non-required keys when a fixed-column handoff needs them. Normally leave this off so campaign URLs stay shorter and cleaner.

The GA4 hygiene audit is rule-based. It checks that the required UTM trio exists, compares source and medium against common channel patterns, flags uppercase letters or spaces, calls out missing recommended GA4 fields, notes existing UTM handling, and reviews URLs longer than 2000 characters. These checks do not contact an analytics property; they are naming and structure checks before the URL is used.

The JSON payload mirrors the current input settings, campaign URL, URL length, total query-parameter count, UTM count, channel hint, existing UTM keys, parameter ledger, and audit rows. Treat it as a handoff record for review, not as evidence that GA4 has already received traffic.

Everyday Use & Decision Guide:

Start with the destination page and the required trio: Campaign source, Campaign medium, and Campaign name. For an email launch, a useful first pass is source newsletter, medium email, and campaign spring_sale. That should produce a ready campaign URL, a channel hint of Email, and included rows for the required parameters.

Add Campaign ID and Source platform when the link needs to connect back to a platform record, upload file, or cost report. Use Campaign term for keyword or audience labels, and Campaign content for button, placement, creative, or message variants inside the same campaign.

  • Use Replace standard UTM values when refreshing a link that may already contain old source, medium, or campaign values.
  • Use Keep existing values, fill missing when another team or platform already controls some campaign labels.
  • Use Strip all existing utm_* first when pasted links contain unknown UTM keys you do not want to preserve.
  • Choose lowercase_snake_case when repeated reporting rows matter more than exact wording.
  • Leave Include empty optional fields off unless a downstream spreadsheet or review process needs fixed keys.

The main stop sign is the Fix campaign URL inputs alert. A missing destination, invalid URL, or blank source, medium, or campaign value blocks the result. Review tracking hygiene is softer: the URL can be copied, but the audit found a naming, channel, recommended-field, existing-UTM, or length issue worth checking.

Do not treat a clean URL as proof that attribution will read correctly in every report. Copy the Campaign URL, review UTM Parameter Ledger, and compare the GA4 Hygiene Audit against your naming standard before sending the link into an email, ad, QR code, or partner handoff.

Step-by-Step Guide:

Build the link from the destination outward, then use the ledger and audit before copying the final address.

  1. Enter Destination URL. Existing non-UTM query values should remain in the final Campaign URL; if the URL cannot parse as HTTP or HTTPS, the alert asks for a valid destination.
  2. Fill Campaign source, Campaign medium, and Campaign name. The summary should switch from Needs UTM fields to the destination host once all required values are present.
  3. Add Campaign ID, Source platform, Campaign term, and Campaign content when those fields are meaningful for the campaign. Blank recommended fields appear as Recommended in the ledger.
  4. Choose Existing UTM handling. The summary badge should show whether the current run will replace UTMs, fill missing values, or strip utm_* keys first.
  5. Open Advanced and choose Value formatting. Use Normalize values if the current field text should be rewritten to the selected preserve, lowercase, snake, or kebab format.
  6. Review the summary badges and GA4 Hygiene Audit. If the channel hint is Unassigned risk, confirm whether the source and medium match your reporting convention before copying.
  7. Open UTM Parameter Ledger. Each row should show the key, value, role, and status so missing or blank values are visible before launch.
  8. Copy from Campaign URL, or use the CSV, DOCX, or JSON outputs as the review handoff after the audit rows match the campaign plan.

A finished run should leave a valid destination, included required UTM rows, a channel hint that fits the campaign, and no review note you cannot explain.

Interpreting Results:

The top summary names the destination host, UTM count, GA4 channel hint, and final URL length. Email, Paid Search, Paid Social, Display, Referral, and similar hints mean the source and medium matched a known pattern in the audit rules. Unassigned risk means the values may still be valid for your organization, but they do not match the built-in channel hint logic.

How to interpret UTM URL generator results
Result Cue Meaning Next Check
Included The UTM key is present in the final campaign URL. Confirm the value matches the naming standard before copying.
Recommended A recommended GA4 field such as utm_id or utm_source_platform is absent. Add it when cost import, campaign upload, or platform reporting needs that key.
Review The URL can still be built, but naming, channel hint, recommended-field, or length hygiene needs attention. Resolve the row unless the unusual value is deliberate and documented.
URL length URLs above 2000 characters are flagged for review. Shorten campaign values before using the link in emails, ads, QR codes, or handoffs.

The common false confidence is assuming that a pass in the audit equals confirmed attribution. The audit checks the URL structure and naming hygiene. After publishing, test the actual click path, watch for redirects that drop query parameters, and compare early GA4 traffic-source rows with the values in UTM Parameter Ledger.

Worked Examples:

Newsletter Launch Link:

A destination of https://example.com/launch?ref=footer, source newsletter, medium email, campaign spring_sale, campaign ID spring_2026_email_01, source platform mailchimp, and content hero_cta should keep ref=footer and add the UTM values. GA4 Hygiene Audit should pass the required trio, channel hint, recommended fields, and naming consistency when snake formatting is used.

Paid Social Variant:

A Meta ad can use source facebook, medium paid_social, campaign spring_sale, source platform meta_ads, and content carousel_card_2. The expected channel hint is Paid Social. utm_content separates that creative from another ad in the same campaign without changing the campaign name.

Existing UTM Cleanup:

A pasted URL such as https://example.com/pricing?utm_source=old&utm_medium=social&ref=partner can use Replace standard UTM values. The final Campaign URL should preserve ref=partner, replace the supported UTM values, and show the current policy in Existing UTM policy.

Unassigned Medium Review:

If source newsletter, medium weekly_digest, and campaign spring_sale are entered, the URL can still be generated, but GA4 channel hint should ask for review. Changing medium to email makes the hint clearer for ordinary email reporting and reduces the chance of traffic landing in an unexpected channel group.

Invalid Destination:

A destination such as ftp://example.com/file fails because the generator only accepts HTTP and HTTPS destinations. Replacing it with https://example.com/file clears the URL error so the required UTM fields can be evaluated.

FAQ:

Which UTM fields are required?

Campaign source, Campaign medium, and Campaign name are required before the campaign URL is ready. The ledger maps them to utm_source, utm_medium, and utm_campaign.

Why does the audit warn about uppercase letters?

GA4 treats differently capitalized values as separate text values. If the audit flags uppercase or spaces, use Value formatting and Normalize values to make the campaign labels more consistent.

What happens to existing query parameters?

Non-UTM query parameters stay on the destination URL. Existing UTM keys follow the selected policy: replace supported UTM values, keep existing values and fill missing ones, or strip every utm_* key before adding the current fields.

Why is my channel hint Unassigned risk?

The source and medium did not match the built-in channel hint patterns. The URL may still be intentional, but the medium value should be checked against your GA4 channel conventions before launch.

Does Open URL change anything?

Open URL opens the generated campaign URL in a new browser tab when the result is ready. That navigation sends the query parameters to the destination page just like a real campaign click.

Glossary:

UTM parameter
A query-string key and value used to label campaign traffic for analytics reporting.
Source
The sender, platform, publication, list, or referrer associated with the click.
Medium
The channel type, such as email, paid search, paid social, display, referral, or SMS.
Campaign
The named marketing effort or promotion that should group related clicks.
Source platform
The buying, sending, or traffic-management platform connected to the campaign.
Channel hint
The audit's best-effort GA4-style channel label based on the current source and medium values.
URL encoding
The process of representing query-string values safely inside a URL.

References: