Customers Report

The Customers tab shifts the unit of analysis from orders to people: how many subscribers you have, how many subscriptions each of them holds, and what they are worth over their lifetime.

Summary metrics

MetricWhat it means
Total SubscribersThe number of unique customers with a subscription of any status other than pending or trashed.
Active SubscriptionsSubscriptions with a status of active or pending cancellation.
Total SubscriptionsThe total number of subscriptions with a status other than pending or trashed.
Total Subscription OrdersAll sign-up, switch and renewal orders with a paid status — processing or completed.
Average Lifetime ValueThe customer-weighted average of each customer’s sign-up, switch and renewal order totals.
Active Subscriptions here is not the same figure as on the Overview tab. This tab counts active and pending cancellation — someone who has cancelled but still has paid-up time left is still a subscriber. The Overview tab counts active only. Both are deliberate; the two cards will differ on any store with pending cancellations. Developers can change this tab’s list with the wcs_reports_active_statuses filter, which receives array( 'active', 'pending-cancel' ).

What the date range does

Lifetime value is lifetime. A customer’s figure covers every sign-up, switch and renewal order they have ever placed — it is not limited to the selected date range. That is what makes it a lifetime value rather than a period total, and it is why this tab’s revenue figures will not tie back to Over Time for the same range.

How customers are identified

The table lists one row per customer email address. This matters on two common cases:

  • Guest checkouts are included, and are matched by the email on the order rather than by a user account.
  • A customer who changes their email address will appear as two rows, because the earlier orders carry the old address. Their lifetime value is split between the two rows rather than combined.
  • Conversely, a guest and a registered account using the same address are treated as one customer.

The customer table

Below the summary cards, the Subscriptions by Customer table lists one row per customer by email, with their active subscriptions, total subscriptions, total subscription orders and lifetime value. Use the ⋮ menu at the top-right of the table to choose which columns are shown.

Use Download to export the table as CSV — useful for building a win-back or upsell list.

Customer totals come from the same aggregation table as the rest of the reports. If the numbers look empty or stale, run the historical import once from WooCommerce → Settings → Subscription Analytics. See Importing Historical Data.

What lifetime value includes

A customer’s lifetime value is the sum of their initial subscription order total plus all their renewal and switch order totals. These are order totals, so:

  • Tax and shipping are included, where your store charges them.
  • Sign-up fees are included, as part of the first order.
  • Refunds are not deducted. A customer who was refunded still shows the original amount.
  • Only paid orders — processing or completed — are counted.

Lifetime value versus Customer Lifetime Value

Two similar-sounding figures appear in the plugin, measured slightly differently:

FigureWhereHow it is calculated
Average Lifetime ValueThis tabThe customer-weighted mean across the customers included under your current filters.
Customer Lifetime ValueOverview tabTotal subscription revenue divided by the number of distinct subscription customers, store-wide.

They will usually be close. Where they differ it is because this tab’s average reflects the customers the report has included, while the Overview figure is a single store-wide division. Full formulas are on Metric Definitions.

What is not on this tab

There is no churn, retention or cohort metric here. Subscriber churn is on the Overview tab as Churn Rate (Last 30 Days), and per-source churn on Acquisition Sources. Individual at-risk subscribers are on Churn Risk.

Troubleshooting

ProblemWhat to check
The tab is emptyRun the historical import once. Customer totals are built by the same importer as everything else.
The same person appears twiceThey have orders under two email addresses. Rows are keyed on email, so a changed address splits the history.
Active Subscriptions does not match the Overview tabExpected — this tab includes pending cancellations. See the warning above.
Lifetime value does not match the selected date rangeExpected — lifetime value covers a customer’s whole history, not the range.
A refunded customer still shows full valueRefunds are not deducted from lifetime value. Use Revenue Recognition for a refund-aware view.
Subscriber count is lower than expectedSubscriptions in pending or trashed status are excluded from every figure on this tab.