The fastest way to track revenue from newsletter links is to tag every link in every issue with a campaign name that includes the issue number, using a saved template so the tagging takes seconds. This fixes the gap where the email platform reports clicks but the store never shows which orders came from the newsletter. This page shows the exact setup in linkutm.
Free plan available. No credit card required.
Your email platform says issue 34 got 900 clicks. Your store shows orders that day, but nothing ties them together. The click count lives in the email tool, the revenue lives in Shopify or GA4, and the newsletter's actual value falls into the gap between them.
Untagged newsletter links are why. A bare product link clicked from Gmail or Apple Mail often arrives with no referrer at all, so the session lands in direct. The order that follows credits nothing. Week after week, the newsletter looks like a cost center while quietly driving sales.
Some teams tag once and stop there, using the same utm_campaign=newsletter on every issue forever. That proves the newsletter as a whole earns something, but it cannot tell issue 34 from issue 12, or the hero product from the footer link. You still cannot say what to write more of.
What each tool knows about one newsletter issue
| Tool | Knows | Missing |
|---|---|---|
| email platform | 900 clicks on issue 34 | which clicks became orders |
| store analytics, untagged | orders and revenue that day | which orders came from the email |
| store analytics, tagged | revenue for issue_34 by link position | nothing |
Create a template with utm_source set to newsletter and utm_medium set to email. Set the campaign pattern to include the issue, such as issue_34, so each week's send gets its own label.
The weekly grind is exactly where templates earn their keep. Every Tuesday, whoever builds the issue opens the template, bumps the issue number, and tags every link in a couple of minutes.
Each issue now reports as its own campaign. Issue 34's revenue sits next to issue 33's, and you can finally see which weeks land.
Turn on naming rules to force lowercase and lock utm_source to newsletter and utm_medium to email. A year of weekly sends is fifty chances for drift, like a stand-in editor writing Newsletter with a capital N during someone's vacation.
Lock the utm_content pattern too, using it for the link's position, such as hero, product_2, or footer. Position data is what tells you whether anyone ever buys from links below the fold.
With rules in place, the year-end report is one clean series of issues instead of a pile of near-matching labels that need manual cleanup first.
Build the issue's links in the UTM builder from the template: hero product, secondary products, the blog post, even the footer sale banner. Same campaign, different utm_content per position.
If you want to test a parameter set first, the free UTM builder tool works without an account. Send the issue to yourself, click each link once, and check that every parameter arrives on the store page intact.
Every link is saved to the workspace under its issue, so republishing a past product feature means copying last month's link, not rebuilding it from memory or an old draft.
On send day, watch clicks arrive in the analytics view in real time, split by link. You see within the hour whether the hero pulled its weight, which devices your readers open on, and which countries the clicks come from.
Then open GA4 or your store's reports and pull revenue by utm_campaign. Issue 34 shows its own orders and revenue, and utm_content splits that revenue by position inside the email. If the footer sale banner outsells product_2, next week's layout should say so.
After a month you have a running answer to the real question: how much does one issue of this newsletter sell, and which section does the selling.
Example parameter set for the hero product link in issue 34
| Parameter | Value |
|---|---|
| utm_source | newsletter |
| utm_medium | |
| utm_campaign | issue_34 |
| utm_content | hero_product |
Issue-numbered campaigns turn the newsletter from one blurry channel into a weekly series you can compare. Good issues become visible, and repeatable.
Tagging recovers orders that mail clients would otherwise strip of their referrer, so revenue that used to hide in direct traffic credits the email that earned it.
utm_content by position shows where in the email people actually buy from, which is the difference between guessing a layout and knowing one.
Templates plus rules make the weekly tagging cost about two minutes, low enough that it survives busy weeks and staff changes.
Using one permanent utm_campaign=newsletter forever. It proves the channel works but hides which issues and formats drive orders, which is the decision you actually need.
Tagging only the hero link. Readers buy from secondary and footer links more often than expected, and untagged ones leak revenue into direct.
Putting dates like 12/03/2026 in campaign names. Slashes and mixed formats break filters. An issue number or yyyy_mm_dd sorts cleanly.
Judging an issue on click rate alone. The email platform's clicks are not orders. An issue with fewer clicks and higher revenue is the better issue to repeat.
Many mail clients strip the referrer when a reader clicks out, so GA4 has nothing to attribute the session to and files it as direct. UTM parameters travel inside the URL itself, so tagged links keep their source no matter which mail client sent the click.
Yes. Use a campaign per issue, like issue_34, with source and medium fixed. That lets you compare issues over time and spot which topics and formats sell, which a single permanent campaign name can never show.
Clicks live in linkutm and your email platform, revenue lives in GA4 or your store analytics. Tag every newsletter link with an issue-level campaign, then pull revenue by utm_campaign in the store side. The shared campaign name connects the two.
No. UTM parameters sit on the destination URL and mail providers do not score them. If long URLs look untidy in the email, wrap them in branded short links so readers see a short link while the parameters still arrive.
Free plan available. No credit card required.