Campaign tracking without UTM chaos: did the email pay off?
You spent Tuesday writing the newsletter. You sent it at nine in the morning.
By eleven you wanted one number. How many people came and did they do anything?
The report said Direct.
Two days later it still said Direct, next to a row called Newsletter, another called newsletter and a third called nl_august. All three were you. All three were the same campaign.
I have made every one of those mistakes. The fix is not a new tool. It is a naming rule you can hold in your head, plus knowing which losses are yours to fix and which are not.
No time to read this?
Sign up, paste two lines of code and see your real traffic without a cookie banner. No credit card, live in minutes.
Get my free accountWhy your campaign shows up as Direct
Direct does not mean someone typed your address into the browser. It means the visit arrived without a usable source so the tool had nothing else to file it under.
Source is one of the four numbers in the weekly five minute check. A broken source makes the whole check useless.
That happens for four ordinary reasons.
The link had no UTM parameters. The most common cause by far. Without them, an email click is just a visit from nowhere.
The email client stripped the referrer. Desktop clients and many apps do not pass one. If you did not tag the link, the information does not exist.
A redirect ate the parameters. Your shortener, your consent gate or a language redirect drops the query string on the way. The visitor arrives, the tags do not.
The session expired and restarted. The person clicked in the morning, came back in the evening and the second visit has no campaign attached to it.
Only the first three are yours to fix. That is good news, because they cover most of the damage.
A UTM naming rule that survives a year
The chaos never comes from the concept. It comes from three people writing the same word three ways.
Fix it with four decisions, once.
- Lowercase everything, always.
Newsletterandnewsletterare two different campaigns to a reporting tool. This single rule removes most duplicate rows. utm_sourceis the platform. Where the click physically came from:newsletter,facebook,linkedin,partnersite.utm_mediumis the channel type. How it reached them:email,social,cpc,banner. Keep this list short. Five values is plenty.utm_campaignis the thing you are running. Use a date prefix so it sorts:2026-08-summer-sale.
Add utm_content only when you are testing two versions of the same thing, for example button-top and button-bottom.
Write these four rules in the same document as your brand colours. The rule that lives in one person's head is the rule that breaks.
The part you cannot fix by tagging better
Here is where the numbers go missing even when your links are perfect.
Ad blockers. A significant share of visitors block the requests that analytics tools send. This is heavily skewed by audience so a B2B or technical readership loses more than a general one.
Consent declines. Anyone who says no to your cookie banner is not measured at all. You do not see them as a smaller campaign. You see them as nothing.
Privacy features in browsers and mail apps. Link tracking protection and privacy proxies rewrite or strip parts of the request before it reaches you.
The effect is not random. It removes exactly the people who care most about privacy, which in most B2B audiences is a large group.
"Half the money I spend on advertising is wasted; the trouble is I don't know which half."
Attributed to John Wanamaker, department store pioneer, around 1900
The line is over a century old and the attribution is disputed. The frustration is not. We built an entire industry to answer it, then let the measurement leak.
Still with me? The next part is what to do when the numbers disagree.
Sanity check your campaign in five minutes
When a campaign looks worse than it felt, compare three numbers before you conclude anything.
Your email tool's click count. This is measured at the source, before any of the losses above.
Your analytics visits for that campaign. This is measured after them.
Your actual result. Orders, signups, replies, calls. Whatever the campaign was for.
If clicks are much higher than visits, you have a measurement gap, not a bad campaign. If both are healthy and the result is not, the problem is on the landing page.
That single comparison stops more bad decisions than any dashboard.
What good campaign tracking looks like
You do not need per person attribution to run a newsletter well. You need four things.
- Same day numbers. A campaign report that settles in 48 hours is useless on the morning you want to decide whether to send a follow up.
- Clean campaign rows. One campaign, one row, no case variants.
- Traffic that is actually counted. Every measurement gap makes your best channel look worse than it is.
- The path after the click. Where people went next and where they stopped.
One more thing to check before you send. A dead landing page burns the whole click budget, however clean your UTM tags are.
Where StatJolt fits in
StatJolt reads the UTM parameters from the landing URL and shows source, medium and campaign as plain ranked tables.
The data is real time. You send at nine and you can judge it by eleven, on the same morning.
Because it sets no cookies and collects no personal data, browsers and blockers do not treat it as a tracker. The visitors that usually go missing stay in your count.
You also get the journey after the click so you can see whether people who arrived from the newsletter reached the page you sent them to.
The short version
Most Direct traffic is a tagging problem and four naming rules fix it for good. The rest is a measurement problem caused by blockers and consent and that one is fixed by measuring in a way browsers do not need to block. Before you judge a campaign, compare your email clicks with your visits, because the gap between them is the story.
Replace GA4 in 2 minutes
Just paste the code and see how much clearer it gets. No cookies, no banner, no consent tool. 0 EUR until 2027, at any traffic level.
Or keep the other path: maintaining a consent tool, modelled data and half an hour a month spent digging through reports.
Get my free account