Email Conversion Tracking: Measuring Real ROI
Getting from click to revenue with UTM discipline, and the two places attribution quietly loses half your conversions.
On this page
The short version
- Two places lose most of the conversions: the handoff from click to analytics, and any step that crosses a device or a session boundary.
- A UTM convention that is not enforced by a tool will drift within a quarter, and the resulting analytics data cannot be grouped after the fact.
- Your platform's conversion figure and your analytics tool's will disagree. Pick which one is the number of record before anyone asks why.
Email conversion tracking looks like a plumbing problem and is mostly a convention problem. The mechanics work; what fails is that six months of sends were tagged six different ways, so the data exists and cannot be grouped.
There are two genuine mechanical losses on top of that, and both are worth knowing about because neither is visible in any report — they show up as a smaller number, not as an error.
Loss one: the redirect that eats your parameters
Click tracking works by rewriting your links to point at the sending platform, which records the click and redirects to the real destination. That is fine. What is not fine is a second redirect at the other end — a URL that goes to the non-www version and gets redirected to www, or an http link redirected to https, or a marketing path that redirects to a canonical one.
Some redirect configurations drop the query string. When that happens the UTM parameters never reach your analytics, the visit is attributed to direct traffic, and nothing anywhere reports a problem — you simply see fewer email conversions than there were.
The check takes a minute: click a real tracked link from a real send and look at the address bar at the end of the chain. If the UTMs are not there, that is where they went.
Loss two: the session boundary
Email is read on a phone and acted on later, often on a different device. Whatever fraction of your audience does that is invisible to session-based attribution: the click is recorded on one device and the purchase happens on another, with no link between them.
You cannot fix this, only account for it. Comparing your platform's click count against your analytics tool's email sessions gives you a rough sense of the gap, and knowing the gap is worth more than pretending it does not exist.
A UTM convention that survives
| Parameter | Value | Why |
|---|---|---|
| utm_source | newsletter, lifecycle, promo | The programme, not the platform |
| utm_medium | Always. This is what groups the channel | |
| utm_campaign | yyyy-mm-slug | Sorts chronologically and stays unique |
| utm_content | hero, body, footer, ps | Which link inside the message |
| utm_term | segment name | Only if you segment; otherwise omit |
Analytics tools treat Email and email as two different mediums. A single capitalised value from one send splits your channel report in half, permanently, and cannot be repaired retrospectively.
Two numbers that will not agree
Your sending platform counts conversions it can see through its own tracking. Your analytics tool counts sessions it attributed to email. These will differ, sometimes by a lot, and both are internally consistent.
The failure is not the discrepancy, it is not having decided which is the number of record. Pick one — usually the analytics tool, since it sees the whole journey rather than just the click — and use the other for diagnosis. Then write down that you did, because otherwise this argument recurs every quarter.
Conversion tracking check
- A tracked link from a real send was clicked and the final URL inspected
- No redirect in the chain drops the query string
- Every parameter value is lowercase
- utm_medium is email on every link, without exception
- Campaign names sort chronologically
- The parameters are appended by a tool, not typed
- One system is named as the number of record
Frequently asked questions
Should I disable click tracking to keep links clean?
You lose click data, which is your most reliable engagement metric. A better trade is a custom tracking domain, which keeps the data and stops the links pointing at a shared platform domain whose reputation you do not control.
How do I attribute revenue for a long sales cycle?
Session-based attribution will not do it. You need the email address to appear in whatever system records the sale, so the join happens on the person rather than on the session.
Do UTMs affect deliverability?
No. Very long or unusual query strings on links pointing at a domain with poor history can contribute, but that is about the domain rather than the parameters.