Is Email a Source in Google Analytics?
Ever sent a big email newsletter, seen a jump in your site traffic, but then felt frustrated when Google Analytics dumps it all into the 'Direct' traffic bucket? This is a super common reporting headache. You know the visitors came from your email, but GA4 doesn't seem to recognize it, leaving you unable to measure your campaign's true impact. In this tutorial, we'll walk through exactly why this happens and how to fix it for good.
How Google Analytics Identifies Where Your Traffic Comes From
Before we can understand why GA4 miscategorizes email traffic, it helps to know how it identifies traffic in the first place. When a user lands on your website, Google Analytics 4 tries to answer the question, "Where did this person come from?" It does this by looking for clues in a specific order.
- UTM Parameters: The first and most reliable thing GA4 looks for are special codes added to the end of a URL, known as Urchin Tracking Module (UTM) parameters. These act like a detailed name tag, explicitly telling Google Analytics the source, medium, campaign, and more. If these exist, GA4 uses them above all else. This is the key to accurate tracking.
- Google Ads Clicks (GCLID): If you're running Google Ads and have auto-tagging enabled, Google attaches a unique "Google Click Identifier" (GCLID) to your ad URLs. If GA4 sees this, it automatically knows the traffic came from a Google Ad click and sorts it accordingly.
- Referrer Information: If no UTMs or GCLIDs are present, GA4 looks for "referrer data." This is information automatically passed by the user's web browser that says which URL they were on right before landing on yours. For example, if someone clicks a link from anotherwebsite.com to get to your site, that URL is the referrer, and GA4 will credit that site as the traffic source.
- Direct Traffic: If none of the above information is available, GA4 gives up and labels the traffic as 'Direct.' This is the catch-all bucket for when Google has no idea where a user came from. Common causes include someone typing your URL directly into their browser, using a bookmark, or, as we'll see next, clicking links in many types of email apps.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
The Real Reason Your Email Traffic Shows Up as 'Direct'
So, if email feels like a referring source, why does GA4 so often categorize it as 'Direct'? The problem lies with that third method of identification: referrer data.
When you click a link from one website to another in a standard web browser, sending referrer data is seamless. But email clients are a different beast. Many desktop applications (like Outlook or Apple Mail) and mobile apps for services like Gmail or Hey.com don't operate like a web browser. When a user clicks a link within these apps, they are essentially starting a new, fresh session in their browser. That transition from the email app to the browser often strips out or simply doesn't pass along any referrer information.
Think about it like this:
- Website to Website: It's like walking from one store directly into another store next door. The first store knows you're going to its neighbor.
- Email App to Website: This is more like seeing a flyer for a store, getting in your car, and driving there. By the time you arrive, the store owner just sees you walking in off the street, they have no idea you came because of the flyer.
Without referrer information to go on, Google Analytics defaults to its last resort and labels the traffic as Direct / none. Your traffic data is still counted, but the attribution is lost. You can't tell if your 'Summer Sale' email performed better than your 'New Arrivals' newsletter, a massive blind spot for any marketer.
UTM Parameters: Your Secret Weapon for Tracking Email Accurately
The solution to this attribution problem is to give Google Analytics the exact instructions it needs using UTM parameters. By adding these structured tags to the links in your emails, you manually tell GA4 exactly where the traffic originated, bypassing the need for referrer data entirely.
There are five standard UTM parameters, but for email tracking, these three are the most important:
- utm_source: This tells GA4 who sent the traffic. For email, this is often the name of your email platform (e.g., mailchimp, klaviyo), your list segment (e.g., customers, prospects), or a general identifier like 'newsletter'.
- utm_medium: This tells GA4 how the traffic got to you. For traffic you want sorted into GA4's default 'Email' channel, you should always use
emailfor this parameter. Consistency here is critical. - utm_campaign: This tells GA4 why you sent the traffic. It's used to identify a specific campaign, promotion, or newsletter. This is where you can get descriptive, for example:
q1_spring_sale,2024_03_monthly_newsletter, orblack_friday_promo.
When you put them all together, they attach neatly to the end of your URL. For example, if you wanted to link to your website's sale page in a March newsletter sent via Mailchimp, your tagged URL would look like this: https://www.yourwebsite.com/sale?utm_source=mailchimp&utm_medium=email&utm_campaign=2024_03_march_newsletter
When someone clicks that link, Google Analytics will read those tags directly and report that the visit came from the source mailchimp, the medium email, and the campaign 2024_03_march_newsletter. Problem solved!
How to Easily Add UTM Tags to Your Email Links
Tagging every single link in your emails by hand sounds tedious, but thankfully, you almost never have to do that. There are two main ways to create UTM-tagged URLs.
1. The Manual Method: Google's Campaign URL Builder
If you only need to create a one-off link, Google provides a free and handy Campaign URL Builder. You just paste your main URL and fill out the form fields for source, medium, and campaign, and it generates the final, tagged URL for you to copy and paste.
2. The Easy Way: Auto-Tagging in Your Email Service Provider (ESP)
This is the method you'll use 99% of the time. Nearly all major ESPs (like Mailchimp, Klaviyo, ConvertKit, etc.) have a built-in feature to automatically add UTM parameters to all the links in your email campaigns.
You simply enable a setting in your account or on a per-campaign basis, define the values you want to use, and the platform handles the rest. This ensures every link is tracked consistently without any extra work on your part.
Here's where to find it in common platforms:
- Klaviyo: In your account settings under 'UTM Tracking,' you can set global tags and customize them per campaign.
- Mailchimp: At the 'Setup' stage of building a campaign, look for the 'Settings & Tracking' section and check the box for 'Google Analytics link tracking.'
- ConvertKit: This is a default setting you can enable in your account's 'Email' settings page.
Check the documentation or the help section for your specific ESP, but this feature is a standard and a massive time-saver for proper analytics.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Where to See Your Email Data in Google Analytics 4
Once you start using UTM tags, where does that beautifully categorized email data show up in GA4? Your main destination is the Traffic acquisition report.
- From your GA4 dashboard, navigate to Reports > Acquisition > Traffic acquisition.
- This report shows you traffic organized by an engagement metric called Session default channel group. Thanks to your
utm_medium=emailtag, you will now see an 'Email' channel listed here. - Clicking on 'Email' will filter the report to show only data from that channel.
- To see the performance of individual campaigns, click the small '+' sign next to the 'Session default channel group' primary dimension heading and add a secondary dimension. Choose Traffic source > Session campaign.
Now, you'll see a breakdown of all your email campaigns (pulled from your utm_campaign tags) nested under the 'Email' channel group, along with key metrics like users, sessions, engagement rate, and conversions. You can finally prove which emails are driving the most value for your business.
Final Thoughts
Misattributed email traffic is a frustrating data gap, but it's one you can easily close with UTM tagging. Consistently using utm_medium=email along with descriptive source and campaign tags gives you the clear, reliable email marketing data you need to make better decisions.
Manually blending your performance data from platforms like Mailchimp or Klaviyo with the journey data in Google Analytics to see the full picture can feel like a chore. At Graphed, we automate all that reporting work. By connecting your tools, we let you create instant, real-time dashboards using plain-English questions. You can just ask things like, "compare the conversion rate from my last two newsletters," and get an answer in seconds, instead of spending hours hopping between tabs.
Related Articles
How to Create Facebook Ads API for Claude Code
Create a Meta Marketing API access token that never expires, using a system user, so Claude Code can pull Facebook ad reports and manage campaigns.
ClickHouse vs Postgres: When to Switch to Columnar
Comparing ClickHouse vs PostgreSQL means matching storage architecture to workload. Row storage wins for transactions. Columnar wins for scan-heavy analytics.
Google Ads for Orthodontists: Get More Booked Consults
Most orthodontic Google Ads campaigns waste money on low-intent searches. The problem is structure, not the platform.