How to stop email clicks showing as direct in GA4
Size the send-day bump in Direct, match it to the pages your email featured, and check other channels for a send-day rise. Then click-test the links on two devices, switch tagging on, and confirm the next send lands under Email.
By Joris van Huët, Founder & CEOUpdated 8 min read
Run the numbers for your store: the free email marketing ROI calculator.
To stop email clicks showing as direct, size the send-day bump in GA4, then find the clicks hiding in other campaigns and Unassigned. Tag every link with the medium email, test it on two devices and check the next send. If Direct still rises after that, readers are usually typing your address instead of clicking.
Step by step
You need viewer access to GA4 and access to your email tool's settings. Pick your last campaign send and note its date and the pages its buttons pointed to. Steps 1 to 5 find the leak, step 6 fixes it, and steps 7 and 8 check the fix.
- Size the send-day bump in Direct. Open Traffic acquisition and keep its default dimension, Session default channel grouping. Set the date range to your send day and note Direct's sessions, then do the same for that weekday a week earlier. The difference is your rough count of email clicks GA4 could not label. Menu path: Reports > Acquisition > Traffic acquisition.
- Match Direct's landing pages to the email. Switch the dimension to Session source / medium and type (direct) / (none) into the search bar above the table. Next to the dimension drop-down, add Page path and screen class as a secondary dimension. If the send day's direct sessions pile onto the pages your email featured, those are your email clicks. Menu path: the same report, secondary dimension Page path and screen class.
- Look for a send-day rise in channels you did not touch. Read the same two days for Paid Social, Organic Search and Affiliates. GA4 gives a session that starts with a direct entrance the UTM values it already holds for that shopper. So a bare email click from a known browser swells whatever campaign last brought that person in. Menu path: Reports > Acquisition > Traffic acquisition, Session default channel grouping.
- Read the medium on the email visits GA4 did catch. With Session source / medium as the dimension, type email into the search bar. GA4 files a visit under Email only when its source or medium is email, e-mail, e_mail or e mail. Anything else, such as campaign or flow, lands in Unassigned, so write down every sender and medium you find. Menu path: Reports > Acquisition > Traffic acquisition, dimension Session source / medium.
- Click the email on a phone and a laptop. Open the sent campaign on both devices and click a text link, a button and a product image on each. When each page loads, look for utm_source, utm_medium and utm_campaign in the address bar. If they are missing, the link was never tagged, or a redirect stripped the tags on the way, as Google's help warns can happen. Where to look: the address bar of each page the email opens.
- Switch tagging on for every future message. In Klaviyo, click your account name, select Settings, then click Other > UTM tracking. Toggle Automatically add UTM parameters to links on, set utm_medium to Message type and click Save. Flow emails and unsent campaigns have their own switches, and How to tag email links for GA4, step by step walks through each one. Menu path: Klaviyo > account name > Settings > Other > UTM tracking.
- Read the day after your next send. Repeat steps 1 and 3 for the new send day and the same weekday before it. The bump should now sit under Email, with Direct and the untouched channels flat. If Direct still jumps, run step 5 again on the links that skipped tagging. Menu path: Reports > Acquisition > Traffic acquisition.
- Check that email now earns credit in purchase paths. A few weeks after the fix, open the paths report for your purchase key event. Google's getting-started guide files it as Attribution paths under Advertising > Attribution, while the report's own page calls it Key event attribution paths. Email should now show among the early, mid or late touchpoints. Menu path: Advertising > Attribution > Attribution paths.
A worked example
For illustration, say your Tuesday sale email goes out and Traffic acquisition shows 1,500 direct sessions that day, against 900 the Tuesday before. In this worked example, step 2 finds 450 of the extra 600 landing on the three product pages the email featured. For illustration, step 3 shows Paid Social 300 sessions above the week before, with no change to your ads.
Step 4 finds no email rows at all, and step 5 shows why. The buttons point to an old collection address, and its redirect drops the utm_ part on the way. After step 6, the next sale email in this worked example shows 900 sessions under Email. For illustration, Direct reads 950 that day and Paid Social is back to its usual level.
Nothing about your sales changed. The same people now arrive under the right name, and email finally gets a row of its own.
One store's anonymised export puts the same problem in revenue terms. On its Journeys sheet, journeys with 2 to 3 touches hold 12.2% of revenue and take 12.5 days to buy. On the same Journeys sheet, journeys with 4 to 9 touches hold 5.4% of revenue, at 16.9 days to buy. If you send reminders, they land inside journeys of that length.
GA4's attribution models skip direct visits unless the whole path is direct. So a bare email click inside a longer journey hands its credit to the touch before it. Step 8 is where that credit shows up again once the tags work. The Journeys sheet cannot say how many of those touches were emails, which is why the steps above work from your own reports.
What if Direct still jumps after the fix?
- Readers typed your address instead of clicking. Google files typed visits as (direct) / (none). Klaviyo's help adds that Google Analytics will not record a conversion for a subscriber who reads without clicking. Some send-day Direct is the email working without a click.
- Shopify's own order emails go out untagged. Order confirmations and shipping updates link back to your store too. How to reduce direct traffic in GA4, step by step shows where to tag them.
- Email rose, and so did Unassigned. Some messages still carry an old medium. Klaviyo's help says changes to the global settings skip messages with custom message-level UTM parameters, so check each flow, not only the account default.
- The shopper was already on your site. Google's help says a new campaign met in the middle of a session does not start a new session. A reader who clicks your email while still browsing keeps the session's first label.
- Shopify and GA4 disagree about the same send. Shopify says all storefront data has included cross-device reporting since 1 March 2023. GA4 identifies people through your reporting identity, so the two tools join devices differently.
- Shopify's session counts shifted in late September 2026. Shopify says its session measurement rollout runs from 21 to 23 September 2026. Treat send days on either side of it as two different measurements.
What to do this week
- Size last send's leak in GA4. Run steps 1 to 4 for your most recent campaign. Pass: you can write down how many send-day sessions went to Direct, Unassigned and untouched channels. Fail: the bumps are too small to read, so repeat the steps on your biggest send of the month.
- Switch account-wide tagging on and save it. In Klaviyo, open Settings, then Other > UTM tracking. Pass: Automatically add UTM parameters to links is on and utm_medium reads Message type. Fail: either is off, or the medium reads campaign or flow, so change it, save, and recheck your busiest flow.
- Read GA4 the day after your next send. In Reports > Acquisition > Traffic acquisition, compare the send day with the same weekday a week before. Pass: the bump sits under Email and Direct stays flat. Fail: Direct still jumps, so repeat step 5 on the links that arrived bare.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: Traffic acquisition report (Google); Scopes of traffic-source dimensions (Google); Campaigns and traffic sources (Google); Default channel group (Google); Understand (direct) / (none) traffic (Google); Get started with attribution (Google); Key events attribution paths report (Google); How to add UTM tracking to campaigns and flows (Klaviyo); Understanding UTM tracking in Klaviyo (Klaviyo); Measuring marketing performance (Shopify); Acquisition reports (Shopify); Marketing reports (Shopify)
Related answers
Frequently asked questions
How do I find which pages my untagged email clicks land on?
In Traffic acquisition, set the dimension to Session source / medium and search for (direct) / (none). Add Page path and screen class as a secondary dimension. On a send day, the pages your email featured should stand out from the usual home page and brand visits.Should I use a link shortener in my emails?
Not for links to your own store. Google's help says URL shorteners can strip referral details, and Shopify's help lists shortened URLs among the reasons a direct visit has no referrer name. A full, tagged https:// link keeps both tools informed.How soon will Direct drop after I fix my email tags?
From the next tagged click on. Tags only label clicks made after the fix, and Klaviyo's help says UTM parameters cannot be edited for sent messages. Old emails still sitting in inboxes keep arriving bare, so judge the change on new sends.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- Attribution ModelAn Attribution Model defines how credit for conversions is assigned to marketing touchpoints. It dictates how marketing channels receive credit for sales.
- Direct TrafficDirect Traffic refers to website visitors who arrive by typing the URL directly into their browser or through bookmarks. They do not come from search engines or referrals.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- Landing PageLanding Page: A single web page that appears after clicking a search result, marketing promotion, email, or online advertisement.
- Product PageProduct Page is a webpage dedicated to a single product. It includes images, descriptions, pricing, and purchase options.
- Product PagesProduct Pages are individual pages on an e-commerce site that describe a specific product. They provide detailed information to shoppers.
- Traffic SourceTraffic Source is the origin through which users find a site. Common sources include organic search, paid search, direct traffic, and referrals.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.