> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Email Share of Total Store Revenue, WooCommerce

> Healthy DTC sits 20-40% email-attributed. Below = leaving money on the table; above = list dependency risk if deliverability tanks. How to read it, why it ...

**Metrics type:** [Cross-Platform Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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                                     |

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

| Card                                                                                 | Why pair it with Email Revenue Share |
| ------------------------------------------------------------------------------------ | ------------------------------------ |
| [WC Total Revenue](/nerve-centre/kpi-cards/woocommerce/total-revenue)                | The denominator.                     |
| [WC Total Orders](/nerve-centre/kpi-cards/woocommerce/total-orders)                  | Volume context.                      |
| [Klaviyo Revenue](/nerve-centre/klaviyo/klv_revenue)                                 | The numerator source.                |
| [Klaviyo Flow Revenue](/nerve-centre/klaviyo/klv_flow_revenue)                       | Automated-flow contribution detail.  |
| [BC Channel Revenue Mix](/nerve-centre/kpi-cards/bigcommerce/revenue-mix-by-channel) | 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](/wp-admin/admin.php?page=wc-reports\&tab=orders\&report=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    |

**Cross-connector reconciliation:**

| Card                                                                                   | Expected relationship                                                                                                               |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| [`klaviyo.klv_revenue`](/nerve-centre/klaviyo/klv_revenue)                             | Should equal the numerator of this card.                                                                                            |
| [`google_analytics.ga_email_revenue`](/nerve-centre/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. |

***

<details>
  <summary><em>Same-metric documentation cross-reference</em></summary>

  * [`shopify.email_health`](/nerve-centre/kpi-cards/shopify/email-health)
  * [`bigcommerce.bc_channel_revenue_mix`](/nerve-centre/kpi-cards/bigcommerce/revenue-mix-by-channel)
</details>

## 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
