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 counts | email_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 endpoint | Woo: /wc/v3/orders for denominator. ESP: Klaviyo /api/metric-aggregates, Mailchimp /reports, Dotdigital /v3/campaigns. |
| VAT / tax treatment | Both numerator and denominator are tax-inclusive total figures. Ratio is currency-agnostic. |
| Status filter | Denominator: completed + processing. Numerator: ESP-attributed orders during attribution window (typically 5-day click). |
| Shipping / discounts | Already inside order.total. |
| Refunds | NOT deducted on either side. Refunds happen post-attribution. |
| Cancelled / failed orders | Excluded from denominator. |
| Currency | Currency-agnostic ratio. Multi-currency stores: ensure ESP and Woo are filtered to the same currency. |
| Channels / sources | Web 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-Woo | Same definition. Self-hosted with sync gaps may briefly mis-align numerator and denominator timestamps. |
| Time window | 30D |
| Alert trigger | <15% (under-leveraged) OR >55% (over-dependent) |
| Roles | owner, 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.| Metric | Value | Source |
|---|---|---|
| Total Woo revenue | $467,200 | order.total sum, completed + processing |
| Email-attributed revenue | $112,800 | Klaviyo last-click, 5-day attribution window |
| Email Share (this card) | 24.1% | Computed |
- 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.
- 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.
- 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
| Card | Why pair it with Email Revenue Share |
|---|---|
| WC Total Revenue | The denominator. |
| WC Total Orders | Volume context. |
| Klaviyo Revenue | The numerator source. |
| Klaviyo Flow Revenue | Automated-flow contribution detail. |
| BC Channel Revenue Mix | Cross-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:| Reason | Direction |
|---|---|
| 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 |
| Card | Expected relationship |
|---|---|
klaviyo.klv_revenue | Should equal the numerator of this card. |
google_analytics.ga_email_revenue | GA4 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 usecompleted + 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.
- Match the date window exactly.
- Match the attribution window setting (5-day vs 7-day vs 14-day).
- Confirm currency alignment.
- Acknowledge that ESP attribution and Woo revenue have different update cadences.