linkutm Logo
Ecommerce

How to Track Revenue from Weekly Newsletter Links

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.

Start Free Trial

Free plan available. No credit card required.

The problem

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

ToolKnowsMissing
email platform900 clicks on issue 34which clicks became orders
store analytics, untaggedorders and revenue that daywhich orders came from the email
store analytics, taggedrevenue for issue_34 by link positionnothing

How to track revenue from newsletter links with linkutm

1

Save a newsletter template with an issue-numbered campaign

Templates

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.

2

Add naming rules so fifty issues stay comparable

Naming rules

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.

3

Tag every link in the issue, not just the hero

UTM builder

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.

4

Match issue campaigns to orders in your store analytics

Real-time analytics

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

ParameterValue
utm_sourcenewsletter
utm_mediumemail
utm_campaignissue_34
utm_contenthero_product

Why this works

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.

Common mistakes

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.

Frequently asked questions

Why do newsletter sales show up as direct traffic in GA4?

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.

Should each newsletter issue have its own UTM campaign?

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.

How do I see revenue, not just clicks, from newsletter links?

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.

Does adding UTM parameters to email links hurt deliverability?

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.

Tie newsletter clicks to real orders. Start free.

Free plan available. No credit card required.