Google Analytics UTM parameters tell GA4 which email campaign brought a visitor to your site. Add a source, medium and campaign name to each link, then check those values in Traffic acquisition. If your newsletter has two buttons pointing to the same page, you can give each button its own label and see which link brought people in.
Table of Contents
Tag every email link with a naming rule
Start with three values that make sense to everyone who reads your reports. Google’s campaign URL guide explains how GA4 collects these values and how to distinguish two links within one email.
utm_sourceidentifies the sender or publication, such asweekly_newsletter.utm_medium=emaildescribes how the visitor arrived. Use the same spelling across newsletters and automated sends.utm_campaignidentifies the initiative, such aswinter_coupon. Keep it consistent across emails that belong to the same initiative.utm_contentis optional. Usehero_buttonandfooter_linkif you need to distinguish two placements.
For a hypothetical retailer, the hero button in a winter promotion could use this link:
https://example.com/winter?utm_source=weekly_newsletter&utm_medium=email&utm_campaign=winter_coupon&utm_content=hero_button
Keep a shared sheet with the destination URL and final parameter values. Use lowercase consistently because GA4 treats values with different capitalization as distinct. Keep names, email addresses and customer IDs out of these parameters.
Test the link as a subscriber would
- Send a test through your email platform so it applies the same link wrapping as a real send.
- Open the delivered message, click each changed link, and read the destination in the browser. Check that redirects preserve the expected parameters and that the page loads.
- If the destination already has a query string, append the tags with
&. Add them before any#fragment. Check that your email platform has not appended a second set of UTMs.
If you are testing attribution, use a fresh browser session and check that the landing page’s GA4 tag can fire under the site’s consent settings. A correctly tagged URL only helps if Analytics receives the visit.
Find the campaign in Traffic acquisition
Open Reports → Acquisition → Traffic acquisition and select the dates covering the send. Switch the table to Session source / medium and look for weekly_newsletter / email. Add Session campaign to isolate winter_coupon. See Google’s Traffic acquisition report guide if your navigation differs.
Compare sessions and the key events that match the campaign objective, such as completed signups. For placement analysis, use the Session manual ad content dimension where available in an exploration. Google’s manual tagging reference maps that dimension to utm_content.
Troubleshoot missing or split traffic
- The campaign is missing. Check the property, date range and tagging first. Click the link from the delivered email and verify both the final URL and whether the site can record the visit. Recent traffic can take time to appear in standard reports.
- The campaign is split across rows. Compare the values character by character. Change the template or automatic tracking rules for future sends and document older variants when reporting.
- Clicks look high but sessions look low. An email platform records clicks, while GA4 reports measured website sessions. Repeat clicks, automated security checks and consent can widen the gap. For upstream issues, see our guide to email deliverability and spam filters.
Email tracking questions
Should I add UTMs to links inside my own site?
Use campaign tags on incoming links from email and other external channels. Measure clicks within your own site with events, so the campaign labels continue to describe where the visit came from.
Should I create a new campaign name for every newsletter issue?
Give each issue its own campaign value if you need issue-level reporting. If several sends support one promotion, share the campaign name across those sends and choose a consistent way to distinguish the variations.




