How To Set GA4 UTM Rules For Clean Newsletter Attribution
GA4 UTM rules turn messy email clicks into reliable newsletter attribution you can trust. The basics are simple: tag every newsletter link with utm_source, utm_medium, and utm_campaign, keep values lowercase and consistent, and reserve utm_medium=email so GA4 can slot traffic into the Email channel instead of Unassigned or Direct. Use utm_source for the sender or platform, utm_campaign for the send or theme, and utm_content to distinguish header vs footer links without exploding your reports. The surprising gotcha is that one creative naming choice in source or medium can quietly scatter performance across dozens of rows.
GA4 newsletter attribution basics: UTMs, sessions, and channels
How GA4 reads utm_source and utm_medium
In GA4, UTMs are simply labels attached to a link. When someone clicks a tagged newsletter link, GA4 reads the parameters in the landing page URL and uses them to set the traffic source for that visit.
Two fields do most of the heavy lifting:
- utm_source: who sent the traffic. For newsletters, this is usually your newsletter brand, list name, or sending platform (for example,
mailscribeornewsletter). - utm_medium: how the traffic arrived. For email newsletters, this should almost always be
email.
When these values are present, GA4 can group newsletter visits into consistent rows in your Traffic acquisition reports. If you keep utm_medium=email stable, GA4 is much more likely to classify the session into the Email channel, and you avoid “mystery” spikes in Direct or Unassigned.
One important nuance: UTMs don’t just affect “where the click came from.” They also influence how sessions are attributed and how conversions get credit later, especially if your newsletter is a common first touch.
Email traffic vs Direct and why it happens
Newsletter clicks often show up as Direct when GA4 cannot identify a clear source. Common causes include untagged links, UTMs getting stripped during redirects, or clicks passing through apps and privacy layers that reduce referral data.
Direct can also appear when your tagging is inconsistent. If one newsletter uses utm_medium=email and another uses utm_medium=Email or utm_medium=newsletter, GA4 may split reporting or place some traffic in unexpected buckets.
The practical fix is boring but effective: decide on a single newsletter UTM standard (especially source and medium), apply it to every link your email tool generates (including Mailscribe templates), and test the final landing URL before you send.
UTM parameters you need for clean email attribution
Required: utm_source and utm_medium
If you want GA4 to attribute newsletter traffic cleanly, utm_source and utm_medium are the non-negotiables.
- utm_source answers “where did this come from?” For newsletters, pick a source that will stay true for a long time. Examples:
mailscribe,company_newsletter, orweekly_digest. - utm_medium answers “what kind of channel is this?” For newsletters, keep it simple:
email.
In practice, this means every link in every newsletter should include something like utm_source=mailscribe&utm_medium=email. If you skip one of these, GA4 may still track the visit, but attribution will often drift into Direct, Unassigned, or fragmented “source/medium” rows that are hard to reconcile.
Recommended: utm_campaign, utm_content, utm_term
Once source and medium are consistent, add a few optional parameters to make reporting useful without getting messy:
- utm_campaign: the “why” or “what” of the send. Use it to group a whole edition or a series, like
feb_2026_product_updateoronboarding_series. - utm_content: the “which link” detail. This is perfect for separating your main CTA from secondary links, like
hero_cta,toc_link, orfooter_blog. - utm_term: usually not needed for newsletters. If you use it at all, reserve it for a specific internal meaning (for example, an audience segment or content theme), and document that choice so it stays consistent.
Case, spaces, and character rules that prevent mess
Most newsletter attribution problems come from small formatting inconsistencies that snowball in GA4.
Use these rules:
- Lowercase everything (
email, notEmail). - No spaces. Use underscores or hyphens (
weekly_digest, notWeekly Digest). - Keep names short and readable. Long campaign strings get copied, truncated, and mistyped.
- Avoid special characters like
&,?,%, and#inside values. Stick to letters, numbers, underscores, and hyphens. - Don’t rename midstream. Changing
utm_sourcefromnewslettertoemail_newslettercreates two “sources” forever in GA4 reporting.
If you set these conventions once in Mailscribe templates and reuse them, your GA4 email attribution stays clean with very little ongoing work.
Newsletter UTM naming conventions that stay consistent
Standard source and medium values for newsletters
Pick one “default” newsletter source and medium, then protect them like a schema. For most teams, the cleanest baseline is:
- utm_medium=email (always)
- utm_source= a single, stable identifier for your newsletter program (for example,
mailscribe_newsletteror your publication name)
A simple rule helps: source = the newsletter brand, medium = email. Avoid using utm_source to describe the edition, topic, or CTA. That detail belongs in campaign or content. When you keep source stable, GA4 can roll up performance across months without you needing to stitch reports together.
Handling multiple newsletter types and editions
If you run multiple newsletters (weekly digest, product tips, industry roundup), you have two solid options. The best choice depends on how you want to report.
Option A: One source, different campaigns (recommended for most).
Keep utm_source the same for every newsletter, and use utm_campaign to separate types and editions. Example pattern:
utm_source=mailscribe_newsletterutm_medium=emailutm_campaign=weekly_digest_2026_02_05
This keeps acquisition clean while still letting you filter by campaign for each send.
Option B: Different sources for different newsletters (use sparingly).
If each newsletter is truly its own “publication,” you can use distinct sources like daily_brief vs product_tips. If you do this, write the allowed values down and don’t improvise new ones later.
For editions, don’t put dates into utm_source or utm_medium. Put them in utm_campaign, or use a consistent edition ID in utm_campaign and reserve utm_content for link placement.
Distinguishing newsletters from product emails
Newsletter attribution gets muddy when product and lifecycle emails reuse the same UTMs. Decide upfront whether “newsletter” is a program you want to measure separately from product messaging.
A clean, common approach:
- Newsletters:
utm_medium=email,utm_source=mailscribe_newsletter - Product marketing sends:
utm_medium=email,utm_source=product_email - Lifecycle/transactional (if you tag them):
utm_medium=email,utm_source=lifecycle_emailortransactional_email
Keep the medium the same so GA4 reliably classifies the channel as Email. Use utm_source to separate “newsletter vs product email” at a glance. Then use utm_campaign to group the specific send, like spring_launch_day1 or cart_abandon_v2.
The key is consistency: once a message type has a source value, reuse it everywhere, including in Mailscribe templates and automation rules.
GA4 UTM rules for newsletters that prevent misattribution
Keeping values stable across every link
Misattribution usually starts with tiny variations that GA4 treats as totally different traffic sources. The rule is simple: every link in a newsletter issue should use the same utm_source, utm_medium, and utm_campaign. Only utm_content should change link to link.
In practice:
- Set your defaults once in Mailscribe (or whatever sends the email).
- Reuse the exact same values in every module, button, and text link.
- Don’t “helpfully” rename things mid-issue, like
utm_medium=newsletterfor one link andutm_medium=emailfor another.
If you want to A/B test subject lines or creative, keep UTMs stable. Otherwise you turn one send into multiple campaigns and your GA4 comparisons stop being apples to apples.
Avoiding UTMs on internal site links
Don’t add UTMs to links that users click after they’re already on your site, like header nav, footer links, related posts, or “next step” buttons on landing pages. Those internal UTMs can start new sessions or overwrite attribution, which makes it look like your newsletter “drove” conversions that actually came from onsite navigation.
A clean rule: UTMs are for entry links from the email to your site, not for internal site navigation. If you need internal click tracking, use GA4 events instead of query parameters.
Rules for redirects and link shorteners
Redirects and shorteners can be fine, but they’re a common place for UTMs to get lost or duplicated.
Keep these rules:
- Final URL must keep the full query string. Test that
utm_source,utm_medium, andutm_campaignsurvive the redirect all the way to the landing page. - Avoid double-tagging. If your shortener appends UTMs automatically, don’t also hardcode UTMs in the original link.
- Prefer one redirect hop. The more hops, the more chances something strips parameters or rewrites them.
Before any big send, click a few links from a test email and confirm the landing page URL still shows the UTMs exactly as you intended.
Multi-email sequences and campaign structure for GA4 reporting
Choosing utm_campaign for series vs single sends
For GA4 reporting, the biggest decision is whether utm_campaign represents a series (multiple emails) or a single send (one email). Both work. The goal is to make trend lines and comparisons easy.
Use series-level utm_campaign when you want a clean rollup for the whole journey, like onboarding or a launch sequence. Example: utm_campaign=onboarding_v1. Then use utm_content (and your email platform reporting) to separate email 1 vs email 2 if needed.
Use send-level utm_campaign when each email is a standalone edition you compare week to week. Example: utm_campaign=weekly_digest_2026_02_05. This makes it easy to answer “which issue performed best?” in GA4 without extra filters.
A practical hybrid many teams like: keep a stable series name and add a light identifier, like onboarding_v1_e03 or launch_feb2026_day2. Just avoid rebuilding the naming pattern every month.
Using utm_content to split links and CTAs
utm_content is your best tool for understanding what people clicked inside the newsletter without fragmenting acquisition data. Keep utm_source, utm_medium, and utm_campaign identical across the send, then change only utm_content per link.
Use utm_content to capture one clear idea at a time, such as:
- Placement (hero vs footer)
- CTA type (button vs text)
- Destination type (blog vs pricing)
Keep it short and consistent. If you need more detail, it’s usually better to encode it with a predictable pattern than to write a sentence.
Suggested utm_content patterns for placements
Pick one pattern and stick to it across all Mailscribe templates:
hero_ctahero_textlinktoc_item_01section_01_ctasection_02_textlinksidebar_promofooter_ctafooter_social
If you have multiple CTAs in one block, add a simple index: hero_cta_1, hero_cta_2. That tiny bit of structure pays off later when you build GA4 reports and can instantly scan what’s working.
Verifying newsletter UTMs in GA4 before you ship
Realtime and DebugView validation steps
Before a send, test like a skeptic. Create a test email, click a few different links, and confirm GA4 is receiving the exact utm_source, utm_medium, and utm_campaign you expect.
In GA4, start with Reports > Realtime. Look for your visit and check the traffic source dimensions (source, medium, and campaign). If you see Direct, Unassigned, or the wrong campaign value, stop and fix the link formatting before you ship.
If you use DebugView, it can help you confirm that GA4 is ingesting campaign parameters on the landing page visit and that subsequent events are tied to the same session. DebugView is most useful when you’re also validating custom events or conversions triggered right after the click.
Checking processed data after latency
Realtime is great for a quick sanity check, but decisions should be based on processed reports. GA4 data can take time to fully process, and some dimensions show up more reliably after that processing window.
After your test clicks, come back later and check:
- Reports > Acquisition > Traffic acquisition (Session source/medium, Session campaign)
- Reports > Acquisition > User acquisition (First user source/medium, First user campaign)
If you’re comparing newsletter performance, be consistent about which report you use. Traffic acquisition is usually the go-to for “what happened from this send,” while User acquisition is better for “what brought new users in.”
Cross-domain and consent effects on UTMs
Two issues can make UTMs look “right” on the URL but “wrong” in GA4.
Cross-domain tracking: If your newsletter links to one domain and the key action happens on another (for example, marketing site to app domain, or checkout on a separate domain), you may lose continuity unless cross-domain measurement is set up correctly. When that happens, conversions can get credited to a new session that looks like Direct.
Consent and privacy controls: In regions or setups where analytics storage depends on consent, GA4 may model or limit data collection. That can reduce the detail you see in reports and make attribution look less precise. The practical takeaway is to validate UTMs using the same consent state your real subscribers will experience, and to expect some inevitable loss compared to “perfect lab conditions.”
Common GA4 UTM mistakes that break newsletter attribution
Missing or swapped source and medium values
The most common break is also the simplest: a link ships without UTMs, or with the wrong fields in the wrong places.
Typical failure patterns:
- Missing
utm_medium=email: GA4 may still record the visit, but it often lands in Direct, Unassigned, or a messy custom medium. - Swapped values:
utm_source=email&utm_medium=mailscribelooks harmless, but it flips your reporting logic. Source stops being “who” and becomes a channel label, which makes source/medium reports hard to interpret. - Multiple sources in one issue: one link uses
utm_source=mailscribe_newsletter, another usesutm_source=newsletter. GA4 treats them as different sources, so one send becomes two.
A quick guardrail that helps: define a short list of allowed utm_source values and keep utm_medium locked to email.
Duplicate sessions and attribution resets
Newsletter attribution can also “break” when one click unintentionally creates multiple sessions or overwrites the original campaign.
Common causes include:
- Internal UTMs on your own site (a header link with UTMs can restart attribution and steal credit from the newsletter click).
- Redirect chains that add, remove, or rewrite UTMs mid-flight.
- Link shorteners or tracking layers that append a second set of UTMs, creating confusing URLs and inconsistent reporting.
If you see suspiciously high sessions compared to clicks, or conversions attributed to odd campaigns, inspect the full landing URL and then click around your site to confirm nothing internal is re-tagging the visit.
Conflicts with auto-tagging and other tracking parameters
It’s easy to end up with “too many tags.” UTMs can coexist with other parameters, but conflicts happen when different systems try to define attribution at the same time.
Watch out for:
- Email platform click tracking that wraps links and sometimes alters parameters.
- Manual UTMs plus automatic tagging rules in a link tool or ESP that append extra campaign fields.
- Mixed marketing tags across channels, where teams reuse the same campaign name with different meanings.
The fix is to pick a single source of truth for newsletter UTMs (often your Mailscribe template defaults), then ensure other layers do not add a second naming system on top. Clean attribution is less about cleverness and more about keeping one consistent set of rules.
Related posts
Keep reading
How to add a countdown timer to email campaigns?
Email countdown timer setup: pick a hosted GIF timer, embed the HTML in your ESP, and handle Apple Mail/Outlook fallbacks for accurate urgency with quick tests.
Videos in Email Marketing: Enhancing Your Campaigns Effectively
Boost email marketing success with engaging video content that lifts opens, CTR, and conversions while showcasing your brand, storytelling, and personalization.
Tips for Creating Interactive Emails
Boost clicks and conversions with fun, mobile-friendly interactive emails using quizzes, GIFs, countdowns, polls, sliders, and AMP-powered dynamic content.
How To Build Browse Abandonment Triggers Without Third Party Cookies
Browse abandonment triggers built on first-party events and consented IDs, with timing, filters, and channel rules to follow up without third-party cookies.
How To Run An NPS Email Sequence That Gets More Responses
NPS email sequence tactics for higher reply rates: ideal send timing, embedded 0-10 rating, one smart reminder, personalization, and deliverability tips.
How To Cross Sell In Receipts Without Surprising Customers
Cross sell in receipts with relevant add-ons, clear pricing, and gentle timing; keep the receipt useful, respect consent, and avoid any pushy surprises.