Order storage — HPOS and legacy
The plugin supports both High-Performance Order Storage (wc_orders) and legacy post-based order storage (wp_posts), and works whichever mode your store is running. Switching between them does not require a re-import, though running one afterwards is harmless.
Dependencies
| Requirement | Notes |
|---|---|
| WooCommerce | 7.0 or higher. Required — the plugin shows an admin notice and does nothing without it. |
| WooCommerce Subscriptions | Required. All reporting is built on its subscription data. |
| WooCommerce Analytics | Enabled (included with WooCommerce). The reports render inside it. |
| WordPress | 5.3 or higher. |
| PHP | 7.2 or higher. |
Developer filters
| Filter | What it controls |
|---|---|
| zorem_subs_report_order_statuses | Which order statuses count towards the reports. |
| zorem_subscription_recognition_paid_statuses | Which order statuses count as paid for revenue recognition. |
| zorem_subs_churn_signal_weights | The point weight of each churn-risk signal. |
| zorem_subscription_daily_snapshot_window_days | How many recent days the nightly job recomputes (default 30). |
| woocommerce_admin_subscription_overview_charts | The summary cards on the Overview tab. |
| woocommerce_admin_upcoming_revenue_report_charts | The summary cards on the Upcoming Revenue tab. |
| woocommerce_admin_customer_subscription_report_charts | The summary cards on the Customers tab. |
The plugin also honours the WooCommerce Subscriptions filters wcs_reports_active_statuses, woocommerce_reports_paid_order_statuses and wcs_reports_customer_total_args, so existing customizations carry through into these reports.
Frequently asked questions
Why do my reports show no data after activation?
Historical data needs to be imported once. Run the importer from WooCommerce → Settings → Subscription Analytics to backfill your existing subscriptions. New activity is tracked automatically after that.
Does the plugin slow my store down?
No. Reports read from a precomputed daily rollup table rather than querying orders live, which is why they stay fast on stores with large subscription histories. Nothing runs on the storefront except the small acquisition-attribution script.
Does anything change for my customers?
Only if you enable cancellation feedback, which shows an optional question on the account page after a customer has cancelled. It is off by default and can never delay or block cancelling.
Is my data sent anywhere?
Not unless you enable AI Insights and supply your own API key, in which case aggregate totals go directly to the provider you chose. See AI Features → AI Data and Privacy for the complete list.
What happens if I deactivate the plugin?
The reports and the scheduled jobs stop. Your subscriptions and orders are untouched — the plugin only ever reads them. Reactivating restores the reports from the aggregation table without a re-import.