- © 2026 Mailsoftly Inc. The name "Mailsoftly" and the Mailsoftly logo are registered trademarks of Mailsoftly Inc.
A plain-English guide to appending UTM and custom query parameters so every click in your campaigns is tracked, attributed, and actionable.
by Isabella Torres · Last updated: 2026-07-30To add custom parameters to a link in email, append a query string to the destination URL after a question mark, using key and value pairs joined by an equals sign and separated by ampersands. For example, add ?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale to the end of your link so analytics tools can attribute the click.
These parameters do not change where the link goes. They travel silently in the URL and get logged by your website analytics, telling you exactly which email, which audience, and which button drove the visit. Done consistently, custom parameters turn a vague “email works” into a precise report of what earns revenue.
This guide covers the anatomy of a tagged URL, the five UTM parameters everyone should know, custom parameters beyond UTM, common mistakes that break tracking, and how to apply the whole system without hand-editing every link.
New here? Start with our primer on Email Marketing Fundamentals for the fundamentals, then come back to this guide.
Quick context: Mailsoftly offers transparent pricing, free hands-on migration, and human support. 500 contacts and 2,000 emails per month, no credit card.
Start free with Mailsoftly →
Key Takeaways
Custom parameters are extra pieces of information attached to the end of a URL that describe where a click came from. They begin after a question mark, use a key=value format, and stack together with ampersands. The web page ignores them for navigation, but analytics platforms read them to attribute traffic.
Think of a plain link as an envelope with only a delivery address. A parameterized link is the same envelope with a return address and a tracking number written on the back. The letter still arrives at the same door, but now you know who sent it and how.
https://mailsoftly.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring_saleBecause tagging happens per link, you can track more than a campaign. You can compare two buttons in the same email, measure a text link against an image link, or see whether the header or footer call to action pulls more weight. That granularity is the whole point.
Read enough? Try Mailsoftly free with 500 contacts and 2,000 emails per month, no credit card.Start free with Mailsoftly →
UTM parameters are the five standard tags every major analytics tool recognizes: source, medium, campaign, term, and content. Three are considered essential for email, and two are optional refinements. Using the standard names means your reports populate automatically without custom configuration.
| Parameter | Answers | Example value |
|---|---|---|
| utm_source | Where the traffic originates | newsletter |
| utm_medium | The channel type | email |
| utm_campaign | The specific send or promotion | spring_sale |
| utm_content | Which link or variant (optional) | header_cta |
| utm_term | Keyword, mostly for paid (optional) | bulk_email |
For most newsletters, source, medium, and campaign are enough to answer “which email drove this.” Add utm_content when you want to compare two links inside the same message, such as a top banner versus a bottom button. Reserve utm_term for paid search, where keyword-level data matters.
These tags feed directly into the reporting you rely on to prove that your campaigns work. If you are building out that measurement muscle, our guide to choosing email marketing software covers how platforms surface click and conversion data alongside the tags you set.
Building a tagged link takes four steps: start with the clean destination URL, add a question mark, append each parameter as a key and value pair, and join multiple pairs with ampersands. The order of parameters does not matter, but consistency in naming does.
Values that contain spaces or special characters must be encoded. A space becomes %20 or, more readably, an underscore. Avoid spaces, ampersands, and equals signs inside a value, since those characters have structural meaning in the URL and will break parsing.
When you draft campaigns in a tool that stores reusable content, you can save pre-tagged links so the tracking travels with the message. If you keep boilerplate blocks handy, review your saved email drafts and reusable link blocks and standardize the parameters once, then reuse them across sends.
Yes. UTM is a convention, not a limit. You can add any custom parameter your analytics or destination page is set up to read, such as ref, coupon, or a subscriber identifier. Custom keys are useful when you need data that the five UTM fields do not capture.
Common examples include a discount code that pre-fills at checkout (coupon=welcome10), a segment tag to route personalization (segment=vip), or an A/B variant marker (variant=b). The destination page reads these with JavaScript or server logic and adjusts the experience accordingly.
Never place personal data such as an email address, full name, or phone number in a URL parameter. Query strings are logged in browser history, server logs, and analytics, and they can leak in referrer headers. Use a hashed or opaque identifier instead of raw personal information.
Custom parameters shine when they connect email to the rest of your stack. A coupon parameter links a send to revenue in your store, and a segment parameter feeds personalization on the landing page. Keep the list short: every extra key is one more thing to name consistently and maintain.
The most common failure is inconsistency. Analytics treats Email, email, and e-mail as three separate mediums, splitting your data into fragments that never add up. A fixed naming convention, applied every time, prevents the majority of tracking headaches.
Spring_Sale and spring_sale report as two campaigns.%20 and clutter reports.Write your convention down once and share it with anyone who builds campaigns. A one-page reference that fixes the source, medium, and campaign format removes guesswork and keeps six months of data comparable. The discipline is boring, and that is exactly why it works.
Hand-editing URLs does not scale past a couple of links. The reliable approach is to let your email platform append tracking automatically, either through a global UTM setting on each campaign or through per-link tagging in the editor. You set the rules once, and every send inherits them.
A capable platform lets you define campaign-level parameters, then applies them to all outbound links while leaving unsubscribe and preference links untouched. That removes the biggest source of human error and guarantees that reports stay clean across dozens of campaigns. Transparent, predictable email marketing pricing matters here too, because tracking features should not sit behind a premium tier you cannot justify.
| Method | Best for | Effort |
|---|---|---|
| Manual per link | One-off tests, single links | High |
| Campaign-level defaults | Regular newsletters | Low |
| Per-link overrides | Comparing links in one email | Medium |
Mailsoftly plans start free with 500 contacts and 2,000 emails per month, and paid tiers run from $39 per month annual on Basic to $159 per month annual on Premium (as of 2026-04-15). Every tier includes link tracking, so you are never forced to upgrade just to measure a click.
For the broader picture on this topic, see our complete Email Marketing Fundamentals guide, which covers strategy, fundamentals, and advanced playbooks.


No. Custom parameters are metadata appended after a question mark, and the browser ignores them for navigation. The visitor lands on the exact same page whether the parameters are present or not. Only your analytics tools read them, which is why they track clicks invisibly without affecting the destination.
UTM parameters are five standardized custom parameters (source, medium, campaign, term, content) that analytics platforms recognize by default. All UTM tags are custom parameters, but not all custom parameters are UTM. You can add your own keys like coupon or segment for purposes beyond the five UTM fields.
Avoid it. Email addresses and other personal data in URL parameters get logged in browser history, server logs, and referrer headers, creating a privacy and compliance risk. If you need to identify a subscriber, use a hashed or opaque token that maps to the person in your own system rather than exposing raw data.
Technically you can chain many parameters, since practical URL length limits sit in the thousands of characters. In practice, keep it lean: the three core UTM tags plus one or two custom keys is plenty. Every extra parameter is one more value to name consistently and maintain across campaigns.
A URL can contain only one question mark to open the query string. If the base URL already has a parameter, join additional tags with an ampersand instead of a second question mark. A double question mark usually means a tag was appended without checking whether the destination already carried parameters.
Ready to switch?Start free with Mailsoftly →
500 contacts, 2,000 emails per month. Free hands-on migration. No credit card.

Ready to boost your email marketing?
Start sending beautiful, targeted emails that convert — free to get started.
Try Mailsoftly FreeNo credit card required