Guide

UTM values drift between template and inbox

The tracking parameters you type into a template are not always the ones the delivered email carries. This guide covers how that drift happens, the five structural issues SendProofs detects on final URLs, and the one review only a human can do.

Last verified: 2026-10-19

How drift happens

Three mechanisms account for most of it:

  • Platform auto-tagging. Many sending platforms append their own tracking parameters at send time, or override the ones already in the template. What you typed and what ships are two different URLs.
  • Cloned templates. Last quarter's template carries last quarter's parameter values into this quarter's send — structurally valid, silently stale.
  • Redirects dropping the query string. A hop in the redirect chain that forwards to a clean URL loses the parameters along the way, so the final URL arrives untagged even though the link in the email was tagged.

All three are invisible in the template editor. They only show up on the delivered email's links, followed to their final URLs — which is where SendProofs looks.

The five structural issues SendProofs detects

UTM review runs on the final URL after HTTP redirects — up to 3 hops, links only — because that is the URL the chain actually ends at, not the one the template shows. Each issue is recorded by name on the resource:

Missing required keys
Where required UTM keys are defined for your workspace — captured with the campaign at upload time — a final URL missing one of them is flagged.
Duplicate keys
The same key twice, usually template tagging plus platform auto-tagging. Which value wins depends on the tool reading it.
Blank values
A key with nothing after the equals sign — utm_campaign= — tags the click with an empty label.
Non-canonical casing
UTM_Source instead of utm_source. Miscased keys can be treated as different, unrecognized parameters downstream.
Malformed URLs
A final URL that cannot be parsed at all is recorded as malformed rather than silently skipped.

A link that answers 200 but carries a UTM issue is reported Warning, not Healthy — the destination works, and the tracking still needs a decision before send.

Structure is checkable; meaning is yours

A deterministic checker can verify that parameters are present, unique, non-blank, canonically cased and parseable. It cannot know that utm_campaign=spring-sale is the wrong label for an autumn campaign — that URL is structurally valid and factually wrong, and catching it is a human's job.

The report is built to make that human review fast: redaction replaces query values with [REDACTED] except the five standard utm_* keys, precisely so you can read the final tracking values on every link in one place and check them against what this campaign is actually called.

Correct a webinar campaign's tracking

Synthetic examples. These URLs and outcomes explain a review; they are not customer data or live check results.

Observed final URLDecisionCorrected source link
campaign.example/webinar?utm_source=newsletter&utm_medium=emailWarning if the workspace requires utm_campaign. Add the agreed campaign name.campaign.example/webinar?utm_source=newsletter&utm_medium=email&utm_campaign=october-webinar
campaign.example/replay?utm_source=newsletter&utm_medium=email&utm_medium=social&utm_campaign=october-webinarDuplicate key. Choose the value your team's taxonomy requires; do not leave readers of the URL to choose.campaign.example/replay?utm_source=newsletter&utm_medium=email&utm_campaign=october-webinar
campaign.example/register?utm_source=newsletter&utm_medium=email&utm_campaign=spring-webinarA human finds the stale campaign name. The syntax is valid, so a structural check alone may not flag it.campaign.example/register?utm_source=newsletter&utm_medium=email&utm_campaign=october-webinar

Make the correction in the sending platform, including any auto-tagging rule that supplied the duplicate value. Download a fresh delivered test and check the final URL again: a redirect may still remove a parameter even when the source link looks right.

Download the synthetic before-and-after examples (CSV). The worksheet has no formulas or connection to an analytics account. Adapt the values to your team's agreed names; it does not establish an attribution rule for you.

Honest limits

  • Only HTTP redirects are followed. A JavaScript or meta-refresh interstitial past the final HTTP URL can still change what a browser ultimately lands on — that is invisible to any non-browser checker. How redirect chains are recorded.
  • The review is structural. It says nothing about whether a present, well-formed value is the right one for this campaign.
  • The missing-key issue applies where required UTM keys are defined for the workspace; without them, the other four checks still run.

Read the final UTM values on your own links

Upload the delivered test — the tracking review is part of every report.

Create workspace