Skip to main content
Card class: Cross-ChannelCategory: Analytics
Healthy DTC email programmes drive 15-25% of revenue. Below 8% means either bad list health or broken attribution, both recoverable.

At a glance

The percentage of GA4-measured revenue that GA4 attributes to the Email channel. Healthy DTC programmes sit at 15, 25%; below 8% means the email programme is genuinely underperforming OR the email links aren’t UTM-tagged correctly. Compare against your ESP’s own claim (Klaviyo, Dotdigital, Mailchimp) to triangulate which problem you have.
What it counts(GA4 totalRevenue WHERE sessionDefaultChannelGroup = 'Email') ÷ (GA4 totalRevenue total) over the 30-day window, expressed as a percentage. The “share of GA4 revenue that GA4 attributes to email” rate.
Sample basisSessions with revenue. The numerator is sessions where the channel classification is Email (driven by sessionMedium = email OR utm_medium = email OR known-email-source matching). The denominator is total revenue.
Sampling thresholdNone for the 30D window. GA4 samples on date ranges >14 months or with high-cardinality dimensions; sessionDefaultChannelGroup is a 9-value dimension that never triggers sampling.
Bot traffic filterGA4’s built-in IAB Tech Lab filter applied. Email-channel traffic is rarely bot-affected (bots don’t open marketing emails); the filter mostly affects Direct/Referral channels.
Channel classification rulesGA4’s auto-classification uses: utm_medium = email OR e-mail OR e_mail, OR utm_source matching a known ESP list. If your ESP doesn’t append utm_medium=email, the traffic ends up in Referral or Direct, NOT Email. This is the most common cause of artificially-low email-share readings.
Time zoneThe GA4 property’s timezone, NOT UTC. Email sends typically span timezones; revenue is bucketed in property zone.
CurrencyThe GA4 property’s reporting currency, FX-converted at event time. Email-channel revenue is in the same units as the rest of GA4 revenue.
RefundsNOT subtracted. GA4’s totalRevenue is gross-of-refunds.
Tracking-gap framingThe aggregate GA4 tracking gap (10, 25%) affects email-channel revenue equally. The share (this card) is robust because the gap shrinks symmetrically across channels. The number to watch is the share, not the absolute email revenue.
Time window30D (single window; no vsP comparison because email programmes have weekly cycles that smooth at 30D).
Alert trigger<8% of GA4 revenue. The 8% floor is the lowest healthy DTC programme reading; below it, either the programme has list-health issues OR the UTM tagging has broken.
Rolesowner, marketing

Calculation

Calculated automatically from your Google Analytics 4 data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK skincare brand on Shopify, running Klaviyo for email. 30-day window ending 02 May 26.
SourceEmail-attributed revenueShareNotes
GA4 (this card)£42,300 of £308,400 GA4 total13.7%Just below the 15, 25% healthy band
Klaviyo own attribution£71,800 (5-day last-touch)21.2% of Shopify totalHigher because of attribution-window difference
Shopify Total Revenue£338,500100% (truth side)All channels
Three numbered observations:
  1. GA4 says 13.7%; Klaviyo says 21.2%, both can be right. GA4 uses last-non-direct click attribution within the session: only purchases where the last attribution touchpoint was Email get credited. Klaviyo uses last-touch within 5 days: any purchase within 5 days of an email open/click gets credited. The two attribution models give different numbers for the same underlying behaviour. The 7.5 pp gap is normal; the consistency between the two over time is what matters.
  2. The brand’s email share is below the healthy floor. 13.7% in GA4 means email is contributing less than peer DTC brands. Three diagnoses: (a) list health: open rates declining, list growing slowly, lots of inactive subscribers. Check Klaviyo’s Email Opens Trend. (b) UTM tagging gap: some campaigns may not append utm_medium=email correctly (Klaviyo Flows often don’t UTM-tag by default), driving traffic into Direct/Referral instead of Email. (c) Programme cadence: too few sends, or sending at suboptimal times. The fix is programme-side; this card is the detector.
  3. The gap between GA4 and Klaviyo is stable at ~7 pp, that’s the test. If next month GA4 shows 13% but Klaviyo claims 30%, something diverged. Either Klaviyo’s attribution window expanded, OR (more commonly) UTM tagging broke and email traffic disappeared from GA4’s Email channel. The test of attribution health is not the absolute numbers; it’s the stability of the gap.
  4. What WOULD trip the <8% alert? A common scenario: a marketing-team migration to a new ESP that ships templates without utm parameters by default. Suddenly GA4 Email channel revenue drops to 4%, but total revenue is unchanged because the same customers still bought, they just appear in Direct or Referral now. The alert fires; the fix is to update the ESP’s UTM defaults. Within 7 days the share returns to 15%+.
  5. Server-side tagging doesn’t change this card. Server-side tagging recovers purchase-event loss; it doesn’t affect channel attribution (which depends on URL parameters, not on event firing). A merchant with perfect server-side tagging can still have a broken email-share reading.
Rule of thumb. Stable share in 15, 25% range = healthy email programme. Below 8% = either bad UTM tagging OR underperforming programme; check Klaviyo (or ESP) for diagnosis. Above 30% sustained = either email is doing exceptionally well OR your other channels are broken (paid, organic, social) and email is becoming a larger share by elimination.

Sibling cards merchants should reference together

CardWhy pair it with Email-Attributed Revenue Share
GA4 Revenue by ChannelThe full channel breakdown; Email is one row. Compare Email’s share against Direct, Organic, Paid Search to see relative health.
GA4 Source/MediumThe granular detail: which source/medium pairs are classified as Email and which fall into Referral/Direct. Use to spot UTM-tagging issues.
GA4 Sessions by ChannelThe volume side. Email share of sessions vs share of revenue tells you Email’s relative conversion strength.
Klaviyo Email-Attributed RevenueThe truth side of email attribution from the ESP. The two should track together with a stable gap.
Klaviyo Email OpensThe funnel-top metric. Email share dropping AND opens dropping = list-health issue, not attribution.
Klaviyo Email ClicksThe intermediate funnel step. Opens healthy + clicks down = creative or offer fatigue; both healthy + GA4 share down = UTM tagging issue.
GA4 Property HealthWhen this card and Property Health both alert, the email-share drop is part of a wider GA4 measurement regression, not an email-specific issue.
Cross-channel: Traffic to Revenue DivergenceIf the GA4 ↔ commerce gap is widening at the same time email share drops, the two are related: a tag regression hits all channels, but Email’s UTM dependency makes it most visible.

Reconciling against the vendor’s own dashboard

Where to look in GA4: Reports → Acquisition → Traffic acquisition and filter the channel column to “Email”. The “Total revenue” column for the Email row, divided by the report total, is this card’s number.
Reports → Acquisition → Traffic acquisition → Default channel group = “Email” for the headline. Explorations → Free form → dimension: Session source/medium, metric: Total revenue, filter: medium = email for the granular view of which campaigns are firing.
Other GA4 views that look like email attribution but aren’t:
  • Reports → Advertising → All channels: GA4’s data-driven attribution model assigns fractional credit to multiple touchpoints. The “Email” row in this report can be lower than the Traffic acquisition view because GA4 has redistributed credit to upstream touches.
  • User acquisition (vs Traffic acquisition): User acquisition shows first touch source/medium per user. A user whose first GA4 session was Direct but whose 4th was Email-driven would not appear in user-acquisition Email even though their purchase did.
  • Realtime → Traffic source: 30-min lookback only.
Why our number may legitimately differ from GA4 itself (rare):
ReasonDirection of divergence
Channel classification updates. GA4 occasionally updates its default channel group rules (most recent: late-2024 reshuffle of “Organic Shopping” / “Paid Shopping”). If you read a saved GA4 report from before the rule update, the Email row may differ.Up to ±2 pp
Custom channel groups. If your GA4 property has a custom channel group definition that overrides the default, Vortex IQ uses the default. Switch GA4 to default groups for direct comparison.Variable
Late-arriving event ingestion. Up to 4-hour delay. We snapshot at sync time.Marginal on most recent 24h
Sampling on Explorations. The standard Traffic acquisition report doesn’t sample; custom Explorations on the same data can.Don’t compare to Explorations
Cross-connector reconciliation, the IMPORTANT one: This card lives at the intersection of GA4 and your ESP. Expected relationships:
CardExpected relationshipWhat causes the divergence
klaviyo.email_attributed_revenueKlaviyo > GA4 Email channel typically by 5, 12 pp of total revenue. Klaviyo claim ÷ Shopify total > GA4 Email share ÷ GA4 total.Klaviyo: 5-day last-touch attribution. GA4: last-non-direct click within session. The wider attribution window in Klaviyo captures more purchases.
dotdigital.email_attributed_revenueSame shape. Dotdigital uses similar 7-day last-touch.Same shape.
shopify.total_revenueGA4 Email share × GA4 total = email-attributed revenue from GA4’s view. Use this against the commerce truth side.The structural GA4 tracking gap (10, 25%) shrinks email-attributed-revenue absolute numbers but not the share.
bigcommerce.total_revenueSameSame
adobe_commerce.total_revenueSameSame
Use this card alongside Klaviyo’s own attribution. GA4 gives you the conservative last-non-direct-click view; Klaviyo gives you the generous last-touch-within-5-days view. Truth is probably between them. Neither GA4 nor Klaviyo is “the” source of truth for email attribution; they’re two different lenses on the same behaviour. For attribution audits: export both GA4 and Klaviyo at the same date range monthly, plot the gap. Stable gap = healthy. Diverging gap = either a UTM-tagging change OR a deliverability change (Klaviyo would also show open-rate drops in that case).

Known limitations / merchant FAQs

Why is GA4 saying my email programme drives only 12% of revenue but Klaviyo says 22%? Different attribution models. GA4 uses last-non-direct click within session: only purchases where the most recent attribution touchpoint was an email click get credited. Klaviyo uses last-touch within 5 days: any purchase within 5 days of an email open or click gets credited. Klaviyo’s window is wider, so it claims more revenue. Both are valid views of the same behaviour; GA4 is the conservative bookkeeper, Klaviyo is the optimistic salesperson. Neither is “right”. My email share suddenly dropped from 18% to 5%. Did the programme die? Almost certainly a UTM-tagging regression, not a programme collapse. Check (1) did your ESP push a template update that dropped UTM parameters from links? Klaviyo Flows often need explicit UTM-tagging configuration that’s per-flow, not global, (2) did anyone publish a new email template that didn’t inherit the brand’s UTM defaults? (3) did your ESP migrate to a new link-tracking system (e.g. Klaviyo’s “smart sending” or “click tracking v2”)? Check Klaviyo’s own attribution to confirm: if Klaviyo’s claim held steady at 22% but GA4’s dropped to 5%, the programme is fine, the UTM plumbing is broken. What UTM parameters does GA4 require to classify a session as Email? At minimum, utm_medium=email (or utm_medium=e_mail). Without that, GA4 falls back to channel classification by source (Klaviyo URLs go to “Referral”, Mailchimp links may go to “Direct” if the link is bare). The single most important fix for under-counted email is ensuring every email link includes ?utm_medium=email&utm_source=<your_esp>&utm_campaign=<campaign_name>. Most ESPs have a global setting for this; if not, configure it per-template. Does Apple Mail Privacy Protection (MPP) affect this card? Less than you might think. MPP affects open tracking (it pre-loads tracking pixels, inflating open rates). MPP does NOT affect click tracking, when a recipient clicks a link, the URL with UTM parameters loads in their real browser. GA4’s email-channel classification uses the click event, so MPP doesn’t move this card directly. (MPP does affect Klaviyo’s open-rate metrics, but not its click-attributed revenue.) Why is GA4 sometimes higher than Klaviyo on email share? Rare but possible. Two scenarios: (a) a customer clicks an email link, navigates around the site, leaves, comes back via a Klaviyo SMS instead, GA4 may still credit the original email click as last-non-direct, while Klaviyo credits the SMS as last-touch. (b) Klaviyo’s 5-day window has expired but the customer’s session-level GCLID-equivalent (GA4’s session storage) is still intact. The two attribution models drift in different directions for different customer journeys. My email share is healthy at 22% but my email revenue is dropping in absolute terms. What’s happening? This usually means total revenue is also dropping. The share is a ratio: if both numerator and denominator drop together, the share holds steady. Check GA4 Revenue Trend and your commerce-platform total revenue. If both are down, the issue is broader (acquisition channel collapse, seasonality, paid-ad performance dive); email is just maintaining its share of a shrinking pie. Does this card include SMS / Klaviyo SMS? No. GA4’s “Email” channel is strictly utm_medium=email. SMS clicks need utm_medium=sms or fall into Direct. We’re working on a separate SMS-attribution cross-channel card; for now, see your ESP’s SMS revenue claim. Does this card include transactional email (order confirmations, shipping)? Yes if the customer clicks links in those emails AND the links carry utm_medium=email. Most order-confirmation emails don’t UTM-tag (they’re not marketing), so transactional click revenue mostly falls into Direct. This is the right behaviour, transactional revenue isn’t programme-driven. Can I trust the share for “Today” or “This week”? Less than the 30D window. Email programmes have weekly cycles (Tuesday and Thursday morning sends typically dominate); reading a 1-day or 3-day window picks up cycle noise. The 30D window smooths to a stable signal. If you need shorter-window visibility, use Klaviyo’s own attribution dashboard, which is designed for short-window programme-side reads.

Tracked live in Vortex IQ Nerve Centre

Email-Attributed Revenue Share is one of hundreds of KPI pulses Vortex IQ tracks across Google Analytics 4 and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.