On this page
When an email or text report shows more clicks than GA4 shows sessions, the first instinct is to blame one of the tools. Usually neither is broken. The sending platform counts a hit on its own tracking link, while GA4 counts a session only after a real browser loads the landing page and runs the tag. Most of the gap sits in the steps between those two events.
A click in the platform is not a GA4 session
When someone taps a link in an email or a text, the request usually hits the platform’s tracking link first and then forwards the person to your site. The platform logs a click at that moment. GA4 logs a session only if the destination page loads, the GA4 tag runs, and the visitor’s consent setup allows measurement. If the page is slow, the tag is blocked, or the visitor never reaches the page, the platform has a click and GA4 has nothing to count.
Where the counts split
| Cause | Effect on platform clicks | Effect on GA4 sessions | Fix |
|---|---|---|---|
| Security scanners follow links | Extra clicks with no person behind them | Usually none, since no person reaches the page | Count unique human clicks and ask whether the platform filters scanner hits |
| Slow or blocked landing page | Click still recorded at the redirect | No session if the tag does not fire in time | Test load speed and consent behavior on the landing page |
| UTMs missing or overwritten | Click counted under the platform’s own label | Traffic lands as direct or referral | Use one UTM convention and confirm it survives every redirect |
| Redirects drop query strings | Click still counted | Source and medium lost before the page loads | Test each link end to end, including http, www, locale, and shortener hops |
| Inconsistent medium values | One campaign, one click total | Email traffic split across several rows | Lock one medium value per channel and check GA4’s default channel group definitions |
| In-app browsers and ad blockers | Click recorded at the redirect | Session lost before the tag fires | Test links in in-app browsers and review how consent and blocking affect the tag |
| Several clicks by one person | Each click counted separately | One session or several, depending on GA4’s timeout | State in the report whether the number counts clicks, people, or sessions |
| Apple Mail Privacy Protection | Opens inflated, clicks not | No effect on sessions | Do not use opens as a denominator |
| Platform revenue window counts opens | Revenue credited by the platform’s own window | GA4 credits conversions under its own model | Show the two revenue numbers in separate rows with different labels |
Security scanners create clicks no one made
Many corporate mail systems rewrite links so they can be checked before delivery. Tools such as Microsoft Defender Safe Links, Mimecast, and Proofpoint-style gateways can follow those links automatically. The platform records a click, but no person is behind it, and a scanner usually does not carry the GA4 tag through to a session. Many platforms try to filter these hits, but not all of them do, and B2B lists are hit hardest because their recipients sit behind business mail security. Treat a raw platform click total as an upper bound, not a count of people.
Opens are not clicks
Apple Mail Privacy Protection pre-fetches the content of messages, including images, which makes many opens look like reads. That inflates opens, not clicks. Do not use opens as the denominator when you compare email to GA4. Compare clicks to sessions, and keep opens in their own row as a weaker engagement signal.
Missing and overwritten UTMs send traffic to the wrong row
A link without utm_source and utm_medium lands in GA4 as direct or referral traffic, so the session never gets attached to the email or text that produced it. Some platforms can append UTMs automatically if that setting is enabled, and some link handling can overwrite values you set yourself, so check the final URL rather than the one you pasted. Then check the site. An http-to-https redirect, a www redirect, a locale redirect, or a link shortener in an SMS can drop the query string before the page loads. Once the parameters are gone, GA4 has no way to tie the session back to the send.
Medium names decide the channel
GA4’s default channel group sorts traffic using its source and medium values. Email and SMS traffic are picked up only when those values match the patterns the default definitions expect, and SMS is typically matched on a medium of sms. Check GA4’s current channel group definitions before you rely on a channel report, because the matching rules are GA4’s to define and can change. If one team sends “Email”, another sends “newsletter”, and a third uses the platform’s name as the source, the same channel scatters across several rows and none of them looks like the email total.
In-app browsers, consent, and slow pages
Some people open SMS links inside the webview of a messaging or social app. Those webviews can handle cookies, scripts, and redirects differently from the phone’s main browser. A consent banner, an ad blocker, or a slow landing page can also end the visit before the GA4 tag fires. The platform still counts the click at the redirect, so the gap looks like a tracking failure but comes from what happens on the landing experience.
Several clicks, one visit
One person who clicks the same email three times produces three platform clicks. GA4 may record one session across those visits if they fall within its session timeout, or separate sessions if they do not. Neither count is wrong, but they answer different questions. Decide before the review whether the report counts clicks, people, or sessions, and label the row so nobody compares them as if they were the same.
Revenue attribution is a different question
Email and SMS platforms often report revenue as orders placed within a window after an open or a click. That window belongs to the platform, often counts opens, and should be checked in its documentation rather than assumed. GA4 credits conversions and revenue under its own attribution model. When the two revenue numbers disagree, they are answering different questions: whether the message earned a click, and which channel GA4 should credit for the conversion. Put them in separate rows.
How to reconcile the two
- Write one UTM convention for email and SMS with the exact values for source, medium, and campaign, and use it on every link.
- Follow each tracking link through every redirect and confirm the final landing URL keeps utm_source, utm_medium, and utm_campaign.
- Send a test to seed inboxes and a text to a test phone, open each link in a normal browser and in an in-app browser, and confirm a GA4 session appears under the expected source and medium.
- Use unique human clicks as the platform number, and ask whether the platform filters scanner hits before you trust the total.
- Join the platform and GA4 on landing page and campaign, filtered to your convention, and explain every remaining gap in the report.
- Keep opens and platform-attributed revenue out of the same row as GA4 sessions and key events.
Go further with the platform mismatch guide, the UTM convention guide, and the revenue reconciliation post. For the wider measurement setup behind these numbers, see our digital analytics service. If an email or SMS report keeps missing GA4, book a tracking audit: bring one send, its links, and the GA4 report you are comparing it to, and we will map the first workflow you can trust.
Frequently asked questions
Why don’t my email platform clicks match GA4 sessions?
An email or SMS platform records a click when its tracking link is hit. GA4 records a session only when the landing page loads and the GA4 tag fires with consent. Anything between those two steps can break the count, so the numbers measure different things.
Should I use email opens as the denominator for GA4 traffic?
No. Apple Mail Privacy Protection pre-fetches images, which inflates opens rather than clicks. Compare unique clicks to GA4 sessions, and treat opens as a separate and less reliable engagement signal.
What medium should I use for email and SMS in GA4?
Pick one value per channel, apply it to every link, and write it down. Check GA4’s default channel group definitions to confirm how your source and medium values are classified, since mixed values such as “Email”, “newsletter”, and a platform name scatter the same traffic across rows.
Can MetricMaven help reconcile email and SMS clicks with GA4?
Yes. We check the tracking links, redirects, UTM values, and landing pages, then compare unique platform clicks with GA4 sessions under one source and medium convention so the team can explain each remaining gap.
