A practical guide to UTM parameters
Build a consistent campaign naming plan, preserve existing URL parameters, and test the complete tracking link before publishing it.
Write a naming plan before building links
Start with the reporting question. For a newsletter campaign, you may want to compare the header button with the article link. Keep the source, medium, and campaign identical for both placements, then give each placement its own content label.
Choose one spelling and casing convention with anyone else creating links. Lowercase words separated by underscores are one readable option. Treat the campaign labels below as an illustrative naming plan, not a requirement imposed by every analytics product. Follow the channel rules of the system you actually use.
| Parameter | Value | Question it answers |
|---|---|---|
| utm_source | newsletter | Which publisher sent the visitor? |
| utm_medium | Which channel was used? | |
| utm_campaign | autumn_launch | Which initiative does the link belong to? |
| utm_content | header_button | Which placement was clicked? |
| utm_term | Leave blank | No keyword label is needed for this example. |
Preserve the destination’s existing parameters
Use a full destination URL, including a path when the landing page is not the homepage. ADEMN preserves unrelated query parameters and the fragment. An existing value for one of its five supported UTM parameters is replaced by the field you enter; leave an optional field empty when it is not useful.
The example keeps the product filter and the #details fragment while replacing an old source. The campaign value contains a space, so the generated query uses URL encoding. Do not manually add a second question mark or copy a partially encoded label into another field.
https://example.com/products?category=parts&utm_source=old#details
utm_source = newsletter
utm_medium = email
utm_campaign = autumn launch
utm_content = header_buttonhttps://example.com/products?category=parts&utm_source=newsletter&utm_medium=email&utm_campaign=autumn+launch&utm_content=header_button#detailsTest the entire journey
Open the generated link and confirm the intended page loads. Follow any redirects and check that the final URL retains the campaign parameters. A link shortener, locale redirect, or HTTP-to-HTTPS rule may remove a query string even when the initial link is correct.
Then check how your analytics system records a test visit. A generated URL supplies labels; it does not install analytics or guarantee a report appears. Processing delay, consent choices, filters, and attribution rules can affect what you see. Document the test and the exact link used before distributing a campaign.
Keep labels consistent and non-personal
Avoid mixing email, Email, and e-mail for the same medium. Use a shared naming sheet if several people publish links. Reserve campaign tags for links that bring visitors to your site; internal navigation should use the interaction model supported by your analytics platform.
Do not include a customer’s name, email address, private ID, or an access token in a UTM value. URLs can be stored in history and logs or exposed in a screenshot. A label such as header_button identifies a placement without identifying the person clicking it.