UTM URL Generator Free UTM builder

Guide

UTM parameters for email marketing

Email is the channel that remembers your customers better than they remember your ads. It is also the channel most likely to ship five buttons with five campaign names and a footer link that says utm_source=email as if that were a personality. This page is how to tag sends and flows so GA4 stays in Email and one send stays one campaign.

The pattern that keeps GA4 in Email

Set utm_medium=email. Always. Not e-mail, not newsletter as the medium (newsletter is a fine source). GA4’s Email channel grouping looks for mediums like email. Hide it and you will find your best customers in Unassigned, which is rude.

Source can be the ESP or the list family: newsletter, crm, klaviyo, braze. Pick one philosophy. “Sometimes the tool, sometimes the list” is how two dashboards disagree at 9 a.m.

ParameterPut thisAvoid
utm_sourceList family or ESP: newsletter, crm, klaviyoemail as source (that is the medium)
utm_mediumemail onlye-mail, newsletter, promo
utm_campaignThe send or the flowA new name per button
utm_contentThe click: hero-cta, product-2The subject line pasted whole

Example: https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale-2026&utm_content=hero-cta

Campaign vs content in a single send

The campaign is the send or the program: spring-sale-2026 or onboarding-welcome. The content is the click: hero-cta, product-card-2, footer-unsubscribe-adjacent-upsell (please shorten that last one). If you change campaign per button, you can no longer answer “did the email work?” without a calculator and a snack.

Flows and newsletters

Lifecycle flows: one campaign name per flow (or per major version). Use term for the segment or list. Use content for the step and button. Newsletters: campaign can include the edition date if you report week-by-week, or stay evergreen if you care about the program more than the Tuesday it went out.

ESP auto-tagging

Many email tools can append UTMs automatically. That is a gift until the tool uses utm_source=mailchimp and your team uses newsletter. Align the defaults with your taxonomy, then generate exceptions in the builder or bulk generator for big launches. If the ESP also adds mc_cid or similar, leave those keys; they are not campaign names. Inspect leftovers in the click ID inspector.

Template to copy: Email newsletter in channel templates. Name the send with the campaign name generator if people keep writing novels in the campaign field.

Transactional mail

Password resets and invoices are not campaigns. If the vendor forces tags, use a boring campaign such as account-transactional and medium email so they do not land in Paid Social. Or ask them to stop. That line is also in when not to use UTMs.

Before a big send, tick the launch checklist on one CTA and click it. Footer links that go to the homepage untagged will show as Direct and you will blame the hero button.

FAQ

UTM builder questions

What UTM parameters should I use for email?

Use utm_source for the sending system or list family (newsletter, crm, iterable), utm_medium=email, utm_campaign for the initiative or send name, and utm_content for each button or text link.

Should every email get a unique utm_campaign?

A unique send name is fine for one-off blasts. Lifecycle flows should share a campaign (or a tight family) and vary content or term so you can still see the flow as a program.

Should utm_source be the ESP or the list?

Pick one rule for the company. Source as list family (newsletter, crm) stays stable if you change vendors. Source as ESP (klaviyo) makes vendor reporting easy. Do not mix both in the same quarter.