Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
Healthy DTC sits 20-40% email-attributed. Below = leaving money on the table; above = list dependency risk if deliverability tanks.

At a glance

The share of WooCommerce store revenue attributed to email (Klaviyo, Mailchimp, Dotdigital). Healthy DTC sits 20-40%. Below means leaving money on the table; above means list-dependency risk if deliverability tanks.
What it countsemail_attributed_revenue / total_woo_revenue x 100. Email revenue from connected ESP (Klaviyo / Mailchimp / Dotdigital) using their last-click attribution; Woo revenue from order.total for completed + processing orders.
REST API endpointWoo: /wc/v3/orders for denominator. ESP: Klaviyo /api/metric-aggregates, Mailchimp /reports, Dotdigital /v3/campaigns.
VAT / tax treatmentBoth numerator and denominator are tax-inclusive total figures. Ratio is currency-agnostic.
Status filterDenominator: completed + processing. Numerator: ESP-attributed orders during attribution window (typically 5-day click).
Shipping / discountsAlready inside order.total.
RefundsNOT deducted on either side. Refunds happen post-attribution.
Cancelled / failed ordersExcluded from denominator.
CurrencyCurrency-agnostic ratio. Multi-currency stores: ensure ESP and Woo are filtered to the same currency.
Channels / sourcesWeb channel only. POS orders typically lack ESP attribution and so depress the share artificially if the merchant has heavy in-person trade.
Self-hosted vs managed-WooSame definition. Self-hosted with sync gaps may briefly mis-align numerator and denominator timestamps.
Time window30D
Alert trigger<15% (under-leveraged) OR >55% (over-dependent)
Rolesowner, marketing, finance

Calculation

Calculated automatically from your WooCommerce 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 US homewares brand on managed-Woo, Klaviyo for email. 30D window: 14 Mar 26 to 12 Apr 26.
MetricValueSource
Total Woo revenue$467,200order.total sum, completed + processing
Email-attributed revenue$112,800Klaviyo last-click, 5-day attribution window
Email Share (this card)24.1%Computed
Three observations:
  1. 24.1% is healthy DTC territory. The brand sits comfortably in the 20-40% band. Common pattern: 60% of the email revenue comes from automated flows (welcome, abandoned cart, post-purchase); 40% from broadcast campaigns. Klaviyo’s “Flows vs Campaigns” tab provides the split.
  2. Self-hosted variance is the recurring theme. This brand previously ran on shared hosting with intermittent sync delays; the email-attribution alignment between Klaviyo (real-time webhooks) and Woo (hourly poll) drifted by 15-30 min, causing daily email-share figures to swing by 1-3 ppt. Pressable’s reliable sync brought daily figures within 0.5 ppt accuracy.
  3. Plugin-induced data shape variance: Klaviyo for WooCommerce. The plugin sets cookies tracking email source on the customer; Woo orders inherit the source via custom meta _klaviyo_attributed_to. If a merchant runs a coupon discount that auto-applies via Klaviyo, the same order can show up under both “email” and “discount” attribution. Klaviyo’s last-click model resolves the conflict; cross-checks against Woo coupon usage may show small overlap.

Sibling cards merchants should reference together

CardWhy pair it with Email Revenue Share
WC Total RevenueThe denominator.
WC Total OrdersVolume context.
Klaviyo RevenueThe numerator source.
Klaviyo Flow RevenueAutomated-flow contribution detail.
BC Channel Revenue MixCross-platform peer for agencies.

Reconciling against the vendor’s own dashboard

Where to look in WooCommerce / Klaviyo / Mailchimp / Dotdigital: Woo: WP Admin → Reports → Sales by date for the denominator. Klaviyo: Reports → Email Performance → Attributed Revenue. Mailchimp: Reports → Revenue. Dotdigital: Reports → Email Revenue. Why our share may differ from a manual ratio:
ReasonDirection
Time-zone. UTC vs ESP-account timezone vs WP-site timezone. Three timezones, all need alignment.Boundary effects
Self-hosted server uptime. Webhook delays from ESP to Woo can mis-attribute orders for a few minutes after a host outage.Self-resolves
Plugin-version compatibility. Klaviyo vs Mailchimp vs Dotdigital plugins each set attribution differently.Investigate per-merchant
Refund-object aggregation. Both numerator and denominator are gross of refunds; consistent.Should match
Currency plugin behaviour. Multi-currency: ensure same-currency filtering.Material for international stores
Attribution window. Klaviyo defaults to 5-day click; some merchants extend to 7 or 14. The card uses ESP-defined window.Can shift the share by 2-5 ppt
Cross-connector reconciliation:
CardExpected relationship
klaviyo.klv_revenueShould equal the numerator of this card.
google_analytics.ga_email_revenueGA4 attributes by utm_source=email; ESPs attribute by their own click cookie. The two views can differ by 10-30%; both are valid.

Known limitations / merchant FAQs

Self-hosted vs managed-Woo, why does it affect attribution? Webhook delays on self-hosted Woo can briefly mis-time the email-attributed order so it falls outside the ESP click window. Managed-Woo with reliable webhooks rarely shows this. Status-filter selection, why use completed + processing for the denominator? This is the canonical Woo “real revenue” definition. Including pending or on-hold would dilute the email-share with not-yet-paid revenue. Refund-object accounting, does it affect the share? Both numerator and denominator are gross of refunds. The ratio is consistent. To see the post-refund share, use net revenue on both sides. Plugin-induced data shape variance, what plugins matter?
  • Klaviyo for WooCommerce: real-time webhook, 5-day default attribution.
  • Mailchimp for WooCommerce: hourly sync, 7-day default attribution.
  • Dotdigital for WooCommerce: hourly sync, 14-day default attribution.
  • Sendinblue / Brevo: real-time webhook, configurable attribution window.
Multi-currency configuration, how do I ensure accuracy? Both ESP and Woo must report in the same currency for the ratio to be meaningful. Most ESPs report in store base currency; if your store sells in mixed currencies, filter both views to a single currency. Why does Woo and Klaviyo disagree on email revenue? Different attribution windows, different click vs open vs view definitions, and Woo refunds occasionally update post-attribution. A 5-15% disagreement is normal. ESPs are the source of truth for email-attributed revenue; Woo is the source for total revenue. Why does email share drop on heavy POS weeks? POS orders rarely have ESP attribution (no email-sourced click). They inflate the denominator without inflating the numerator, dropping the share. Use a web-only filter for the cleaner view. Today is jumpy, why? Email attribution windows can take 5-14 days to fully resolve. Today’s email share is incomplete; use 30D rolling. Sync-lag from self-hosted server slowness? Webhook delays produce minor mis-timing. Self-resolves at next ESP webhook retry. My ESP shows different numbers, debug:
  1. Match the date window exactly.
  2. Match the attribution window setting (5-day vs 7-day vs 14-day).
  3. Confirm currency alignment.
  4. Acknowledge that ESP attribution and Woo revenue have different update cadences.

Tracked live in Vortex IQ Nerve Centre

Email Share of Total Store Revenue is one of hundreds of KPI pulses Vortex IQ tracks across WooCommerce 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.